Page 1 of 1

ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Thu Mar 14, 2019 5:53 pm
by fuyukiza
สวัสดีค่ะ มีเรื่องมารบกวนขอคำแนะนำค่ะ
Job-Task-Due.xlsx
ลักษณะตาราง: เป็นตารางแจกงานโดยมีรายละเอียดคือ
- ชื่องาน (คอลัมน์ A)
- ขั้นตอน
- ผู้ดูแลแต่ละขั้นตอน (*1 งาน มี 3 ขั้นตอนในการทำ) (คอลัมน์ B)
- ชั่วโมงการทำงาน (คอลัมน์ C)
- วันกำหนดส่ง (คอลัมน์ D)

ปัญหาที่พบตอนนี้
- แต่ละงานที่ได้รับมาต้องมาแจกจ่ายให้คนในทีม ซึ่งตอนนี้ไม่สามารถตรวจสอบได้ว่าคนไหนว่างวันไหน
- ต้องมีสรุปชั่วโมงการทำงานแต่ละเดือน (ตัดรอบวันที่ 25)
- ไม่เห็นภาพรวมของตารางงานแต่ละคน

สิ่งที่ต้องการ
- ในชีท Data ให้มียอดรวมชั่วโมงการทำงานของทุกคนแยกตามเดือน (ตัดรอบวันที่ 25)
- ตรวจสอบวันที่ว่างของคนในทีมด้วยการใส่วันที่ (ตามตัวอย่างในชีท Check)
- แสดงตารางงานของคนในทีมด้วยการใส่ชื่อ และให้แสดงผลเรียงตามวันที่ (ตามตัวอย่างในชีท Schedule)

หมายเหตุ
* บางวัน 1 คนอาจรับมากกว่า 1 งาน
* ไม่ต้องแบ่งตามขั้นตอนค่ะ รวมกันได้เลย
* แสดงผลแบบอื่นนอกจากที่ยกตัวอย่างก็ได้นะคะ

รบกวนด้วยนะคะ ขอบคุณมากค่ะ T v T

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Thu Mar 14, 2019 9:04 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

จัดข้อมูลในชีต Data ให้เป็น Database ตามรูปตัวอย่างที่ผมแนบมา จากนั้นแนบไฟล์นั้นมาใหม่ครับ

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 11:13 am
by fuyukiza
Job-Task-Due.xlsx
แหะๆ ขอบคุณค่ะ ใจร้อนไปนิด แล้วก็กลัวผู้ใจดีที่จะมาช่วยได้ข้อมูลไม่ครบน่ะค่ะ ^ ^"

ขอเรียงตาม Job ได้ไหมคะ?

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 11:53 am
by puriwutpokin
fuyukiza wrote: Fri Mar 15, 2019 11:13 am Job-Task-Due.xlsx

แหะๆ ขอบคุณค่ะ ใจร้อนไปนิด แล้วก็กลัวผู้ใจดีที่จะมาช่วยได้ข้อมูลไม่ครบน่ะค่ะ ^ ^"

ขอเรียงตาม Job ได้ไหมคะ?
ลองดูครับ :D
ที่ ชีท1 B21=SUMPRODUCT($D$2:$D$16,($C$2:$C$16=$A21)*(MONTH($E$2:$E$16)=MONTH(DATEVALUE(B$20&1)))) คัดลอกไปขวาและลงล่างครับ
ที่ ชีท2 A5=IFERROR(INDEX(Data!$A$2:$E$16,AGGREGATE(15,6,(ROW(Data!$A$2:$A$16)-ROW(Data!$A$1))/(MONTH(Data!$E$2:$E$16)=MONTH($B$2)),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") คัดลอกไปขวาและลงล่างครับ
ที่ ชีท3 A5=IFERROR(INDEX(Data!$A$2:$E$16,AGGREGATE(15,6,(ROW(Data!$A$2:$A$16)-ROW(Data!$A$1))/(Data!$C$2:$C$16=$B$2),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") คัดลอกไปขวาและลงล่างครับ

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 12:40 pm
by fuyukiza
ขอบคุณมากค่ะ เดี๋ยวจะลองดูแล้วมารายงานผลนะคะ ^ ^

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 2:41 pm
by fuyukiza
puriwutpokin wrote: Fri Mar 15, 2019 11:53 am ลองดูครับ :D
ที่ ชีท1 B21=SUMPRODUCT($D$2:$D$16,($C$2:$C$16=$A21)*(MONTH($E$2:$E$16)=MONTH(DATEVALUE(B$20&1)))) คัดลอกไปขวาและลงล่างครับ
ที่ ชีท2 A5=IFERROR(INDEX(Data!$A$2:$E$16,AGGREGATE(15,6,(ROW(Data!$A$2:$A$16)-ROW(Data!$A$1))/(MONTH(Data!$E$2:$E$16)=MONTH($B$2)),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") คัดลอกไปขวาและลงล่างครับ
ที่ ชีท3 A5=IFERROR(INDEX(Data!$A$2:$E$16,AGGREGATE(15,6,(ROW(Data!$A$2:$A$16)-ROW(Data!$A$1))/(Data!$C$2:$C$16=$B$2),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") คัดลอกไปขวาและลงล่างครับ
ขอบคุณมากนะคะ ลองดูแล้วเจอปัญหาดังนี้ค่ะ
ชีท Data:
- พอจะเปลี่ยนจากเดือนมีนาคมทั้งหมดเป็นวันที่ 26 กุมภาพันธ์ - 25 มีนาคม ได้ไหมคะ เพราะวันตัดรอบคือวันที่ 25 ของทุกเดือน ไม่ใช่ทุกสิ้นเดือนน่ะค่ะ
ชีท Check:
- ช่อง Duedate ไม่ขึ้นค่ะ
- เหมือนข้อมูลที่ได้จะเป็นของเดือนมีนาคมทั้งหมด แต่ว่าอยากจะให้ขึ้นเฉพาะของวันที่ใส่ในช่อง B2 พอจะได้ไหมคะ
ชีท Schedule
- ช่อง Duedate ไม่ขึ้นค่ะ
- อื่นๆ ใช้งานได้ปกติค่ะ T v T

ขอบคุณมากๆเลยนะคะ

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 3:40 pm
by puriwutpokin
ที่ชีท Data E2 แก้ไขชื่อให้เหมือนกัน จากDuedate เป็น Due date
ปรับที่ ชีท Data B21=SUMPRODUCT($D$2:$D$16,($C$2:$C$16=$A21)*($E$2:$E$16>=DATE(YEAR(EOMONTH(DATEVALUE(B$20&2019),-1)),MONTH(EOMONTH(DATEVALUE(B$20&2019),-1)),26))*($E$2:$E$16<=DATEVALUE(25&B$20&2019))) คัดลอกไปขวาและลงล่างครับ

ที่ชีท Check A5=IFERROR(INDEX(Data!$A$2:$E$16,AGGREGATE(15,6,(ROW(Data!$A$2:$A$16)-ROW(Data!$A$1))/(Data!$E$2:$E$16=$B$2),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") คัดลอกไปขวาและลงล่างครับ

ที่ชีท Schedule ปรับ จากDuedate เป็น Due date น่าจะใช้ได้ครับ

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 4:14 pm
by fuyukiza
กรี้ดดดดด ได้แล้วค่ะ ขอบคุณมากๆเลยค่ะ T v T

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 9:46 pm
by fuyukiza
รบกวนขอถามเพิ่มเติมค่ะ
ถ้าเราไม่ใช้ aggregate มีสูตรที่ใช้ทดแทนกันได้ไหมคะ?

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 9:56 pm
by puriwutpokin
ได้ครับ อาจต้องใช้สูตร array

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 9:58 pm
by fuyukiza
ต้องแก้สูตรอย่างไรคะ

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 10:07 pm
by puriwutpokin
fuyukiza wrote: Fri Mar 15, 2019 9:58 pm ต้องแก้สูตรอย่างไรคะ
ปรับแค่ 2 ชีท นะครับ :D
ที่ชีท 2 A5=IFERROR(INDEX(Data!$A$2:$E$16,SMALL(IF(Data!$E$2:$E$16=$B$2,ROW(Data!$A$2:$A$16)-ROW(Data!$A$1)),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") กด Ctrl+Shift+Enter คัดลอกไปทางขวาและลงล่างครับ

ที่ชีท 3 A5=IFERROR(INDEX(Data!$A$2:$E$16,SMALL(IF(Data!$C$2:$C$16=$B$2,ROW(Data!$A$2:$A$16)-ROW(Data!$A$1)),ROWS($A$5:$A5)),MATCH(A$4,Data!$A$1:$E$1,)),"") กด Ctrl+Shift+Enter คัดลอกไปทางขวาและลงล่างครับ

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 10:12 pm
by fuyukiza
ยากเกินเข้าใจจริงๆค่ะ T v T
เมื่อกี้ลองแก้ aggregate เป็น small แล้ว
แต่ด้วยความที่ไม่เข้าใจไวยากรณ์เลยแก้ไม่ได้สักที
ก็เลยต้องมาพึ่งมือโปรอีกรอบค่ะ แหะๆ

พอดีตารางจริงๆใช้ Google Sheet น่ะค่ะ
สูตรมีไม่ครบเท่า Excel แต่ก็ใกล้เคียงกันอยู่
เดี๋ยวจะลองดูอีกทีนะคะ ขอบคุณมากๆเลยค่ะ ^ ^

Re: ต้องการดึงข้อมูลตามเงื่อนไขเพื่อมาแสดงหลายรายการ

Posted: Fri Mar 15, 2019 11:36 pm
by fuyukiza
เรียบร้อยแล้วค่ะ หลับสบายแล้วคืนนี้ ^ 0 ^
ขอบคุณมากๆเลยนะคะ (: