Page 1 of 1

ดึงข้อมูลตัวเลขของ ข้อมูลดรอปดาวน์ลิสต์สองชั้น

Posted: Thu Jun 05, 2014 6:17 pm
by cvdinter
คือผมทำDropeDown List แบบสองชั้นไว้ครับ
ผมอยากได้ค่า นน.ของสินค้านั้นเมื่อคลิกเลือกDropeDown 2 ช่องดังกล่าวแล้วครับ
โดยข้อมูลต้นทางดรอปดาวน์นั้นเป็นตารางที่เรียงกันไว้ในลักษณะเหมือนตารางธาตุของเด็ก ม.ปลาย อยู่อีกชีทหนึ่ง

ไม่ทราบว่าต้องใช้ฟังชั่นไหนดีครับ
ลองใช้ Vlookup ไม่ได้เพราะข้อมูลไม่ได้เรียงอยู่ในคอลัมน์เดียวกัน


ไฟล์ตัวอย่างครับ
DDlist.xlsx

Re: ดึงข้อมูลตัวเลขของ ข้อมูลดรอปดาวน์ลิสต์สองชั้น

Posted: Thu Jun 05, 2014 6:26 pm
by snasui
:D ลองตามนี้ครับ

เซลล์ D2 คีย์

=Index(Index(Sheet2!$1:$1048576,0,Match(A2,Sheet2!$1:$1,0)+1),Match(B2,Index(Sheet2!$1:$1048576,0,Match(A2,Sheet2!$1:$1,0)),0))

Enter > Copy ลงด้านล่าง

Re: ดึงข้อมูลตัวเลขของ ข้อมูลดรอปดาวน์ลิสต์สองชั้น

Posted: Thu Jun 05, 2014 6:44 pm
by snasui
:D อีกตัวอย่างตามด้านล่างครับ

=VLOOKUP(B2,OFFSET(Sheet2!$A$1,0,MATCH(A2,Sheet2!$1:$1,0)-1,1000,2),2,0)

สำหรับสูตรนี้ หากใช้เป็นจำนวนมากอาจจะกระทบกับความเร็วของสูตร เนื่องจาก Offset เป็น Volatile Function หมายถึงฟังก์ชั่นที่มีการคำนวณทุกครั้งหากมีการเปลียนแปลงเซลล์ใด ๆ แม้เซลล์ที่เปลี่ยนแปลงนั้นไม่เกียวกับเซลล์ที่เขียนสูตรก็ตาม

Re: ดึงข้อมูลตัวเลขของ ข้อมูลดรอปดาวน์ลิสต์สองชั้น

Posted: Thu Jun 05, 2014 6:51 pm
by cvdinter
ขอบคุณมากครับ
เดี๋ยวจะทำความเข้าใจอีกที(ผมเพิ่งเริ่มดูexcelมา3วันเองครับ ยังไม่ค่อยรู้เรื่องสูตรเท่าไหร่)
ตัวเลข 1048576 คือการกวาดเซลล์ไปทั้งชีทเฉยๆ ใช่ไหมครับ

Re: ดึงข้อมูลตัวเลขของ ข้อมูลดรอปดาวน์ลิสต์สองชั้น

Posted: Thu Jun 05, 2014 6:58 pm
by snasui
cvdinter wrote:ตัวเลข 1048576 คือการกวาดเซลล์ไปทั้งชีทเฉยๆ ใช่ไหมครับ
:D ถูกต้องครับ