Page 1 of 1

สอบถามเรื่องการใช้สูตร

Posted: Fri Apr 03, 2015 2:10 am
by leelaphoom
ถ้าเลือกค่าในคอลัมน์ D ในหน้าที่ 1 ไม่ซ้ำกัน ค่าจะไปปรากฎในหน้าที่ 2 พร้อมทั้งชื่อการทดลองในคอลัมน์ B

แต่ถ้าในหน้าที่ 1 เลือกค่าในคอลัมน์ D ซ้ำกัน ค่าก็จะไปปรากฎในหน้าที่ 2 แต่ชื่อการทดลองในคอลัมน์ B จะซ้ำไปด้วย

ควรแก้ไขสูตรอย่างไรดีครับ (เดิมใช้ VLOOKUP) ให้สามารถเลือกค่าในคอลัมน์ D ซ้ำกันได้ แต่ชื่อการทดลองในคอลัมน์ B ไม่ซ้ำตาม

ขอบคุณครับอาจารย์ :D

Re: สอบถามเรื่องการใช้สูตร

Posted: Fri Apr 03, 2015 11:05 am
by DhitiBank
ที่ B7 ลองคีย์แบบนี้ครับ
=IF(M7="","",INDEX('หน้า 1'!$B$7:$B$15,SMALL(IF('หน้า 1'!$D$7:$D$15=D7,ROW('หน้า 1'!$D$7:$D$15)-ROW('หน้า 1'!$D$7)+1),COUNTIF($D$7:D7,D7))))
Ctrl+Shift+Enter
จากนั้นคัดลอกลงไปยังเซลล์ที่เกี่ยวข้องครับ

แล้วก็แนะนำสูตรตรงคอลัมน์ D ที่เอาไว้เรียงลำดับค่าที่เลือกจากน้อยไปมากนะครับ เผื่อเป็นทางเลือกในการทำความเข้าใจ
D7 คีย์
=IFERROR(SMALL(IF('หน้า 1'!$D$7:$D$15<>"",'หน้า 1'!$D$7:$D$15),INT(ROWS($D$7:D7)/2)+1),"")
Ctrl+Shift+Enter
แล้วคัดลอกลงไปยังเซลล์ที่เกี่ยวข้องครับ

ปล. ในความคิดส่วนตัวผมนะครับ การใช้ MMULT เหมาะที่จะใช้ในกรณีที่ช่วงอ้างอิงมีหลายแถวหลายคอลัมน์และคำตอบที่เราต้องการก็กระจายตัวอยู่ในนั้น ไม่แน่นอนว่าคอลัมน์ไหนแถวไหน ก็จะใช้การคำนวณเชิงเมทริกซ์นี้ดึงคำตอบออกมาได้สะดวก แต่หากเป็นการเรียงลำดับตัวเลขจากน้อยไปมาก หรือจากมากไปน้อยเพียงคอลัมน์เดียวหรือแถวเดียวแบบนี้ก็อาจใช้สูตรที่ง่ายลงมาหน่อยก็ได้ครับ

Re: สอบถามเรื่องการใช้สูตร

Posted: Fri Apr 03, 2015 12:46 pm
by leelaphoom
ขอบคุณมากๆ เลยครับ ใช้งานได้แล้ว แต่ผมขอถามอีกเรื่องนะครับ

ถ้าต้องการให้คอลัมน์ F ในหน้า 2 แปรผันตาม คอลัมน์ D ในหน้า 2 ต้องใช้สูตรอะไรครับ

ผมจะแนบตัวอย่างให้ดูนะครับ มีรูปภาพด้านในไฟล์ครับ

Re: สอบถามเรื่องการใช้สูตร

Posted: Fri Apr 03, 2015 1:04 pm
by DhitiBank
ที่ F7 คีย์
=IF(B7="","",--(INDEX('หน้า 1'!$F$7:$F$15,MATCH(B7,'หน้า 1'!$B$7:$B$15,0))&":"&INDEX('หน้า 1'!$H$7:$H$15,MATCH(B7,'หน้า 1'!$B$7:$B$15,0))))
Enter
แล้วคัดลอกลงด้านล่างครับ

Re: สอบถามเรื่องการใช้สูตร

Posted: Fri Apr 03, 2015 1:42 pm
by leelaphoom
ขอบคุณมากๆ เลยครับ : )