Page 1 of 1

สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Tue Feb 15, 2022 2:02 pm
by Xcelvba
อยากให้ drop downlist เอาค่าซ้ำมา 1 ค่า แล้ว auto update เมื่อเพิ่มข้อมูลครับ

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Tue Feb 15, 2022 2:48 pm
by norkaz
...

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

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Tue Feb 15, 2022 3:16 pm
by Xcelvba
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

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Tue Feb 15, 2022 3:27 pm
by norkaz
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

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Wed Feb 16, 2022 8:40 am
by Xcelvba
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,"*?"))
-----เครื่องหมายตัวนี้คืออะไรครับ"*?"
ขอบคุณครับ

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Wed Feb 16, 2022 10:08 am
by snasui
Xcelvba wrote: Wed Feb 16, 2022 8:40 am เครื่องหมาย @ หน้า INDEX คืออะไรครับ
:D อ่านรายละเอียดได้ที่นี่ครับ https://support.microsoft.com/en-us/off ... c999be2b34
Xcelvba wrote: Wed Feb 16, 2022 8:40 am เครื่องหมายตัวนี้คืออะไรครับ"*?"
เครื่องหมาย * แทนได้ทุกสิ่งทุกอย่าง เครื่องหมาย ? แทนอักขระ 1 อักขระ เมื่อนำมาใช้รวมกันเป็น *? แปลว่าค่าใด ๆ ก็ตามที่มีตัวอักษรต่อท้ายอย่างน้อย 1 อักขระ

เมื่อนำมาใช้ใน COUNTIF($G$6:$G$99,"*?") แปลว่าให้นับค่าในช่วง G6:G99 เฉพาะที่พบว่ามีตัวอักษรอย่างน้อย 1 ตัวผสมอยู่

การนับของสูตรนี้จะไม่รวมตัวเลขล้วนและเซลล์ว่างทั้งกรณีที่เป็นเซลล์ว่างแบบไม่มีค่าใด ๆ อยู่ด้านในและค่าว่างที่ได้จากผลลัพธ์ของสูตรอื่น เช่น if(a2>0,"",a2) เป็นต้น

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Wed Feb 16, 2022 10:23 am
by 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 คืออะไรครับ

ตอบเพิ่มเติมครับ

เครื่องหมายนั้น ให้ตัดออกไปเลย
สูตรที่แสดงไป ไม่มี เครื่องหมายนี้ครับ

การที่ขึ้น@ ในสูตรในที่นี้ เกิดจาก การเขียนสูตรใน Excel 365
ถ้าใช้เวอร์ชั่นที่ต่ำกว่า ไปเปิด ไฟล์ Excel นั้น มักจะเกิด @ ขึ้นมาครับ

ทำให้ชวน งง งวย เป็นอย่างยิ่ง ดังนั้น ตัดออกไปเลย

Norkaz

Re: สอบถามครับ drop down list auto update เมื่อเพิ่มข้อมูลครับ

Posted: Wed Feb 16, 2022 10:27 am
by Xcelvba
ขอบคุณทั้ง 2 ท่านมากๆครับ :)