norkaz wrote: Tue Feb 15, 2022 3:27 pm
Xcelvba wrote: Tue Feb 15, 2022 3:16 pm
norkaz wrote: Tue Feb 15, 2022 2:48 pm
...
G6
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$2:$B$99)/(MATCH($B$2:$B$99,$B$2:$B$99,0)=ROW($B$1:$B$99)),ROWS($G$6:G6))),"")
Data Validation List
=OFFSET($G$6,0,0,COUNTIF($G$6:$G$99,"*?"))
Norkaz
ขอบคุณมากๆครับ
รบกวนอธิบายสูตรแบบคร่าวๆได้ไหมครับ
AGGREGATE
INDEX
MATCH
OFFSET
ไฟล์ที่แนบไป ดูที่ชีท " snasui Links" ครับ ในชีทนั้น คือแทบทุกอย่างของ Excel ฟังก์ชั่นแล้วครับ อาจารย์ คนควนได้กรุณาทำออกมาไว้แจกจ่าย
ทุกโพสต์ ของผม หากไม่ลืม ผมจะแปะชีทนั้นลงไปด้วย หลายท่านอาจจะดูรำคาญ
แต่นั่นคือ ความรู้ฟังก์ชั่นล้วนๆ ที่ มีคน นำมารวมไว้ให้ท่านในที่เดียวแล้ว
ในที่นี้
AGGREGATE เพื่อดึงค่าแถวจากน้อยไปมาก
INDEX ดึงค่าของคอลัมน์ B ตามตำแหน่งแถวที่ AGGREGATE ได้
MATCH แบบชุด Array เพื่อนำไปเทียบกับค่า ROW หาตำแหน่งของ MATCH ออกมาค่าเดียว
OFFSET ให้แสดงค่าจาก G6 เอามากี่ค่า โดยมองค่าที่นับได้จริงจาก COUNTIF
Norkaz
ผมได้ลองศึกษาตามไฟล์ที่แนบมาแล้วครับ ยังหาคำตอบไม่ได้ใน 2 ส่วนครับ
1.=IFERROR(@INDEX(B:B,AGGREGATE(15,6,ROW($B$2:$B$99)/(MATCH($B$2:$B$99,$B$2:$B$99,0)=ROW($B$1:$B$99)),ROWS($G$6:G6))),"")
-----เครื่องหมาย @ หน้า INDEX คืออะไรครับ
2. =OFFSET($G$6,0,0,COUNTIF($G$6:$G$99,"*?"))
-----เครื่องหมายตัวนี้คืออะไรครับ"*?"
ขอบคุณครับ