Page 1 of 1
การกลับข้อมูล เพื่อเตรียมทำเป็น list ของ Data validation
Posted: Tue Jun 23, 2020 6:02 pm
by pokkaben
รบกวนสอบถามว่าจากภาพ ผมมีข้อมูลเยอะมาก แต่ต้องการจะกลับให้อยู่ในรูปแบบที่มีหัวตาราง
เพื่อจะได้นำไปทำเป็น list สำหรับ data validation
จะมีวิธีการอย่างไรบ้างครับ
ขอบคุณครับ
Re: การกลับข้อมูล เพื่อเตรียมทำเป็น list ของ Data validation
Posted: Tue Jun 23, 2020 8:24 pm
by puriwutpokin
ควรแนนไฟล์ตัวอย่างมาด้วยนะครับ ในการถาม ตัวอย่างสูตรครับ
ที่ E1=IFERROR(INDEX($A$1:$A$12,MATCH(0,INDEX(COUNTIF($D$1:D$1,$A$1:$A$12),0),0)),"") Copy Right
ที่ E2:G6=IFERROR(AGGREGATE(15,6,$B$1:$B$12/($A$1:$A$12=E$1),ROWS($E$2:$E2)),"")
Re: การกลับข้อมูล เพื่อเตรียมทำเป็น list ของ Data validation
Posted: Wed Jun 24, 2020 8:39 am
by pokkaben
ขอบคุณมากครับ
ขอนำไปทดสอบ
Re: การกลับข้อมูล เพื่อเตรียมทำเป็น list ของ Data validation
Posted: Wed Jun 24, 2020 10:45 am
by pokkaben
สูตรสามารถใช้งานได้ ช่วยงานผมได้เยอะเลย ขอบคุณมากครับ
แต่ผมเองสงสัยในสูตร รบกวนสอบถาม อยากจะเข้าใจกระจ่าง จะได้นำไปประยุกต์ได้ต่อไป
สูตร1 =IFERROR(INDEX($A$1:$A$10,MATCH(0,INDEX(COUNTIF($D$1:D$1,$A$1:$A$10),0),0)),"")
คำถาม
1. INDEX($A$1:$A$10,@,0)
- ผมอ่านจากสูตร แล้วทำไม Index ใหญ่(ครอบอยู่นอกสุด) จบด้วย 0 แปลว่า คอลั่ม คือ 0
- ทำไม เราไม่ตั้งธงจาก 1 เพราะยังไงมันก็เริ่มคอลั่มที่ 1 หรือ การที่เราเลือก rangeเดียว $A$1:$A$10 สามารถมอง 0 หรือ 1 ก็ได้ ค่าเท่ากัน
2. ส่วนในไส้ของข้อ1 ที่หา row โดยใช้สูตร match อันนี้ งง หนัก
- ทำไม look value ใช้ 0 ไปหา
- และ countif ทำไมใช้ $D$1:D$1 ตั้ง ไปหาใน $A$1:$A$10
สูตร2 =IFERROR(AGGREGATE(15,6,$B$1:$B$10/($A$1:$A$10=E$1),ROWS($E$2:$E2)),"")
ผมไปศึกษามาเพิ่มพอเข้าใจแล้วว่า
15 คือ หา small
6 คือไม่สนใจ error
ROWS($E$2:$E2) เหมือน ตัวแทนบอกลำดับว่า แถวเท่าไร เพื่อไล่ small
แต่ตรงที่ผมสงสัยคือ / ที่อยู่ระหว่าง $B$1:$B$10 กับ $A$1:$A$10=E$1
มันเป็นตัวบอกเงื่อนไขหรอครับ เพราะจากที่อ่านผมเข้าใจว่า ให้ระบบไปหาตัวเลขน้อยสุดลำดับ 1 ของ $B$1:$B$10 แต่เนื่องจากมี ทั้ง ABC ในคอลั่มนั้น จึงต้องไปให้มันไปหา เฉพาะ ที่ตรงกับ E$1 หรือเปล่า
พอดีว่าที่สงสัยเพราะว่า $B$1:$B$10/($A$1:$A$10=E$1) มันไปอยู่ใน คอมม่าเดียวกันครับ
ขอบคุณครับ
Re: การกลับข้อมูล เพื่อเตรียมทำเป็น list ของ Data validation
Posted: Wed Jun 24, 2020 8:45 pm
by snasui
pokkaben wrote: Wed Jun 24, 2020 10:45 am
แต่ตรงที่ผมสงสัยคือ / ที่อยู่ระหว่าง $B$1:$B$10 กับ $A$1:$A$10=E$1
มันเป็นตัวบอกเงื่อนไขหรอครับ เพราะจากที่อ่านผมเข้าใจว่า ให้ระบบไปหาตัวเลขน้อยสุดลำดับ 1 ของ $B$1:$B$10 แต่เนื่องจากมี ทั้ง ABC ในคอลั่มนั้น จึงต้องไปให้มันไปหา เฉพาะ ที่ตรงกับ E$1 หรือเปล่า
พอดีว่าที่สงสัยเพราะว่า $B$1:$B$10/($A$1:$A$10=E$1) มันไปอยู่ใน คอมม่าเดียวกันครับ

สามารถแกะสูตรด้วยการคลุมช่วงเซลล์ที่สนใจแล้วกดแป้น F9 ครับจะเห็นผลลัพธ์ที่เกิดขึ้นครับ
ยกตัวอย่างจาก B$1:$B$10/($A$1:$A$10=E$1) คือการนำ B$1:$B$1 มาหารด้วย ($A$1:$A$10=E$1)
ให้ลองทำดังนี้ครับ
- ลากเมาส์คลุม B$1:$B$10 แล้วกดแป้น F9 แล้วสังเกตดูผล ยกเลิกด้วยการกดแป้น Ctrl+Z หรือ ESC
- ลากเมาส์คลุม ($A$1:$A$10=E$1) แล้วกดแป้น F9 แล้วสังเกตดูผล ยกเลิกด้วยการกดแป้น Ctrl+Z หรือ ESC
- ลากเมาส์คลุม B$1:$B$10/($A$1:$A$10=E$1) แล้วกดแป้น F9 แล้วสังเกตดูผล ยกเลิกด้วยการกดแป้น Ctrl+Z หรือ ESC
หากยังสงสัยสามารถสอบถามมาได้เรื่อย ๆ ครับ