Page 1 of 1

ทำไม INDEX ไม่ได้

Posted: Thu Mar 05, 2015 2:16 pm
by raweeroge
สวัสดีครับ ผมอยากจะให้ทุกครั้งที่ Click เปลี่ยน Model ที่ A2 ให้ข้อมูลที่อยู่ใน Column C เปลี่ยนไปด้วยโดยให้ดึงข้อมูลมาจาก Sheet Data แต่ INDEX แล้วไม่ได้
รบกวนช่วยแก้ไขให้ด้วย

ขอบคุณครับ

Re: ทำไม INDEX ไม่ได้

Posted: Thu Mar 05, 2015 3:29 pm
by DhitiBank
หากต้องการนำค่าในคอลัมน์ B ในชีท Data มาแสดง ให้เปลี่ยนสูตรที่ C2 เป็น
=VLOOKUP(A2,DATAPJ,2)
Enter

แต่หากต้องการให้แสดงค่าจากคอลัมน์อื่นในชีท Data ก็เปลี่ยนตัวเลขสีแดงนะครับ

Re: ทำไม INDEX ไม่ได้

Posted: Thu Mar 05, 2015 4:39 pm
by raweeroge
ขอบคุณครับ แต่ผมไม่ได้ต้องการใช้ VLOOKUP เพราะต้องเสียเวลาในการแก้ไขข้อมูลหากต้องข้อมูลที่อยู่ใน Column อื่นๆ

Re: ทำไม INDEX ไม่ได้

Posted: Thu Mar 05, 2015 7:13 pm
by DhitiBank
อ๋อ ผมเข้าใจแล้วครับ ทดลองแบบนี้
1. เพิ่ม RangeName ชื่อ LABEL =Data!$B$4:$EJ$4
2. ชีท birtext (2) เซลล์ C2 คีย์
=INDEX(DATAPJ,MATCH($A$2,MODEL,0),MATCH($B2,LABEL,0)+1)
Enter
คัดลอกลงด้านล่างครับ

Re: ทำไม INDEX ไม่ได้

Posted: Fri Mar 06, 2015 8:19 am
by raweeroge
DhitiBank wrote:อ๋อ ผมเข้าใจแล้วครับ ทดลองแบบนี้
1. เพิ่ม RangeName ชื่อ LABEL =Data!$B$4:$EJ$4
2. ชีท birtext (2) เซลล์ C2 คีย์
=INDEX(DATAPJ,MATCH($A$2,MODEL,0),MATCH($B2,LABEL,0)+1)
Enter
คัดลอกลงด้านล่างครับ
ขอบคุณมากครับ แต่รบกวนช่วยอธิบายความหมายของสูตรด้วยว่า อ้างอิงข้อมูลยังไง คือผมอยากเข้าใจให้ละเอียดมากกว่านี้ครับ

Re: ทำไม INDEX ไม่ได้

Posted: Fri Mar 06, 2015 11:00 am
by DhitiBank
สูตร INDEX มีรูปแบบคือ
=INDEX(array,row_num,column_num)
--array คือช่วงข้อมูล จะเป็นแถวเดียว หรือคอลัมน์เดียว หรือหลายแถวหลายคอลัมน์ก็ได้ หากเป็นกรณีหลัง ต้องระบุให้ครบทั้ง row_num และ column_num ครับ
--row_num เป็นลำดับของข้อมูลโดยไล่จากบนลงล่าง
--column_num เป็นลำดับที่พบข้อมูลไล่จากซ้ายไปขวา

array ของคุณเป็นแบบหลายแถวหลายคอลัมน์ ก็ต้องระบุให้ครบครับ กรณีนี้ผมใช้สูตร Match มาช่วย สูตรนี้จะเปรียบเทียบค่า กับช่วงข้อมูล แล้วให้ผลลัพธ์คือตำแหน่งที่พบข้อมูลนั้น

Match ที่อยู่ตรงกลางจะหาลำดับของ A2 เทียบกับอาร์เรย์ MODEL ว่าอยู่อันดับที่เท่าไร

Match ทางขวาจะหาลำดับของข้อมูลในคอลัมน์ B เทียบกับอาร์เรย์ LABEL ว่าอยู่อันดับเท่าไร (สังเกตว่าผม +1 ให้ลำดับด้วย เพราะความกว้างของ LABEL น้อยกว่า DATAPJ อยู่ 1 คอลัมน์)

พอ match กันหมดแล้วก็จะมาดึงข้อมูลใน DATAPJ มาแสดงครับ

(ผิดถูกอย่างไร รบกวนอาจารย์เสริมนะครับ :rz: )

Re: ทำไม INDEX ไม่ได้

Posted: Fri Mar 06, 2015 5:19 pm
by raweeroge
ขอบคุณอีกครั้งครับ