Page 1 of 1
วิธีดึงข้อมูลข้ามชีทแบบแทรกแถวว่าง
Posted: Thu Jul 05, 2018 4:26 pm
by hunterxjapan
ต้องการดึงข้อมูลจากชีทแรกมาชีทที่สอง ซึ่งชีทแรกจะมีเฉพาะวันที่มาทำงานแต่อยากจะนำค่ามาแสดงที่ชีทสองแบบให้มีแถวว่างของวันที่ไม่ได้มาทำงานด้วยครับ ไม่รู้จะไปต่อยังไง กราบขอบพระคุณอย่างสูงด้วยครับ
เงื่อนไข
1.ที่ Sheet1 ให้ดึงค่าในแถวที่มีการมาทำงาน (พนักงานที่ไม่ได้เข้ากะ) มาเติมในช่องที่เป็นสีเหลือง (ที่ N6 ของ Sheet1 ไม่ตรงกับค่า M3 ของตารางพนักงานที่ไม่ได้เข้ากะ)
2.ที่ Sheet1 (C32) ถ้าวันที่เป็น 31 ให้แสดงปกติ แต่ถ้าเดือนนั้นมี 30 วัน ไม่ให้แสดงเป็นวันที่ 1
Re: วิธีดึงข้อมูลข้ามชีทแบบแทรกแถวว่าง
Posted: Thu Jul 05, 2018 9:29 pm
by snasui
hunterxjapan wrote: Thu Jul 05, 2018 4:26 pm
1.ที่ Sheet1 ให้ดึงค่าในแถวที่มีการมาทำงาน (พนักงานที่ไม่ได้เข้ากะ) มาเติมในช่องที่เป็นสีเหลือง (ที่ N6 ของ Sheet1 ไม่ตรงกับค่า M3 ของตารางพนักงานที่ไม่ได้เข้ากะ)

อ่านแล้วไม่เข้าใจครับ
ช่วยกรอกคำตอบที่ถูกต้องลงมาตรง ๆ พร้อมชี้ให้เห็นว่าค่านั้นได้มากจากเซลล์ไหน ด้วยเงื่อนไขใด ไม่จำเป็นต้องเขียนมาเป็นสูตร จะใช้สูตรใดนั้นผู้ตอบจะแจ้งให้ทราบเองครับ
hunterxjapan wrote: Thu Jul 05, 2018 4:26 pm
2.ที่ Sheet1 (C32) ถ้าวันที่เป็น 31 ให้แสดงปกติ แต่ถ้าเดือนนั้นมี 30 วัน ไม่ให้แสดงเป็นวันที่ 1
ที่ Sheet1 เซลล์ C2 คีย์
=IF(MONTH(C2+1)<>MONTH(C2),"",C2+1)
Enter > Copy ลงด้านล่าง
Re: วิธีดึงข้อมูลข้ามชีทแบบแทรกแถวว่าง
Posted: Fri Jul 06, 2018 2:53 am
by hunterxjapan
1.ความหมายของผมคือ สมมติในชีท2 แถว A3:N3 คือมาทำงานครั้งที่2 ตรงกับวันที่5 ต้องการดึงข้อมูลทั้งแถวของวันที่5 ไปแสดงที่ชีท1 ซึ่งตรงกับวันที่5 เหมือนกัน ซึ่งตอนนี้สามารถ Index ค่ามาแสดงได้แล้วตามช่องสีเหลือง โดยในช่อง N6 ของชีท1 ได้สูตรเป็น
Code: Select all
{=IF(ISNA(MATCH(C6,Sheet2!$C$2:$C$32,0)),"",IF(INDEX(Sheet2!$N$2:$N$32,MATCH(C6,Sheet2!$C$2:$C$32,0))=0,"",INDEX(Sheet2!$N$2:$N$32,MATCH(C6,Sheet2!$C$2:$C$32,0))))}
2.ตามสูตร =IF(MONTH(C2+1)<>MONTH(C2),"",C2+1) ที่อาจารย์ให้มา ถ้าเดือนไหนมี 30 หรือ 31 วันก็แสดงผลปกติครับ แต่พอเปลี่ยนเป็นเดือน 2 ช่องที่เกินวันที่ 28 จะขึ้น #VALUE! ผมเลยลองเปลี่ยนสูตรโดยแสดงเป็นเลขศูนย์แทนได้เป็น =IF(MONTH(C2+1)<>MONTH(C2),
0,C2+1) แต่ช่องที่เกินวันที่ 28 จะกลายเป็น 00/01/1900, 01/01/1900 และ 02/01/1900 ตามลำดับ
เราสามารถใช้ =IF(C2>=DATE(1999,1,1),C2,"") แทรกเข้าไปในสูตรเดิมได้ยังไงบ้างครับ
รบกวนอาจารย์และท่านผู้รู้ชีแนะด้วยครับ
Re: วิธีดึงข้อมูลข้ามชีทแบบแทรกแถวว่าง
Posted: Fri Jul 06, 2018 5:33 am
by snasui

ตัวอย่างการปรับสูตรครับ
- B3 คีย์
=IFERROR(IF(MONTH(C2+1)<>MONTH(C2),"",C2+1),"")
Enter > Copy ลงด้านล่าง
- C2 คีย์
=IF($C2="","",IF(LOOKUP($C2,Sheet2!$C$2:$C$32)=$C2,LOOKUP($C2,Sheet2!$C$2:$C$32,Sheet2!D$2:D$32),""))
Enter > Copy ไปด้านขวาและลงด้านล่าง
Re: วิธีดึงข้อมูลข้ามชีทแบบแทรกแถวว่าง
Posted: Fri Jul 06, 2018 12:07 pm
by hunterxjapan
snasui wrote: Fri Jul 06, 2018 5:33 am

ตัวอย่างการปรับสูตรครับ
- B3 คีย์
=IFERROR(IF(MONTH(C2+1)<>MONTH(C2),"",C2+1),"")
Enter > Copy ลงด้านล่าง
- C2 คีย์
=IF($C2="","",IF(LOOKUP($C2,Sheet2!$C$2:$C$32)=$C2,LOOKUP($C2,Sheet2!$C$2:$C$32,Sheet2!D$2:D$32),""))
Enter > Copy ไปด้านขวาและลงด้านล่าง
เรียบร้อยแล้วครับ ขอบพระคุณมากครับอาจารย์