Page 1 of 1
รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Tue Feb 12, 2013 6:03 pm
by natthaporn
ต้องการดีงข้อมูลจาก sheet "data" column B ไปที่ sheet "Report"
โดยให้ได้ผลลัพธ์ตาม column A
ซึ่งเงื่อนไขจะอยู่ที่ sheet "data" โดยปกติแล้วถ้าเงื่อนไปเป็น 1 : 1
ดิฉันจะใช้สูตร vlookup แต่ข้อมูลดังกล่าวนี้เงื่อนไขมากกว่า 1:1
อาจจะเป็น 1:2 , 1:3 หรือ 1:4
สาเหตุที่ต้องใช้สูตร เนื่องจากที่ sheet "report" จะต้องมีการเพิ่มข้อมูล
ทุก ๆ เดือนคะ
รบกวนท่านผู้รู้แนะนำสูตรด้วยคะ ขอบคุณคะ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Tue Feb 12, 2013 6:11 pm
by snasui

ลองตามนี้ครับ
ที่ชีท Report เซลล์ B4 คีย์สูตร
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX(data!$B$3:$B$24,SMALL(IF(C4=data!$C$3:$C$24,ROW(data!$C$3:$C$24)-ROW(data!$C$3)+1),COUNTIF(C$4:C4,C4)))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
!
| Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง |
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Tue Feb 12, 2013 8:58 pm
by natthaporn
ได้ผลลัพธ์ตามที่ต้องการแล้วคะ ขอขอบคุณอาจารย์มากคะ ดิฉันขอสอบถามเพิ่มเติมคะว่าสูตรช่วงแรก
"LOOKUP(CHAR(255),CHOOSE({1,2}"
หมายความว่าอย่างไรคะ มี link ที่่ดิฉันสามารถศึกษาข้อมูลเพิ่มเติมไหมคะ
ขอบคุณคะ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Tue Feb 12, 2013 9:09 pm
by snasui

การใช้สูตร Lookup ลักษณะนี้เป็นการใช้แบบประยุกต์ครับ เป็นการหาค่าสุดท้ายในช่วงที่กำหนด
Char(255) คืออักขระสุดท้ายที่สามารถมีได้
Choose({1,2},"",Another Formula) จะเป็นการใช้แบบประยุกต์เช่นกัน เพื่อให้ Choose แสดงค่าออกมาเป็น Array ของข้อมูลคือแสดงทั้งค่าว่างและผลของ Another Formula
ซึ่งสูตรจะกลายเป็น Lookup(Char(255),Choose Results) คือการหาค่าสุดท้ายจากผลของ Choose อีกทีครับ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 13, 2013 9:26 am
by natthaporn
ดิฉันพอจะเข้าใจแล้วคะ ขอขอบคุณอาจารย์มากคะ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 4:30 pm
by natthaporn
อาจารย์คะ ดิฉันขอสอบถามต่อยอดจากครั้งที่แล้วคะ คือว่า ถ้าต้องการผลลัพธ์ใน sheet "Report" เป็น 2 : 2
หรือ 3:3 ยกต้วอย่างเช่น row 11, 19, 20
จะต้องปรับสูตรนี้อย่างไรคะ รบกวนดูต้วอย่างใน file แนบคะ เพราะดิฉันไม่สามารถเขียนคำอธิบายหน้ากระทู้ได้คะ
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX(data!$B$3:$B$24,SMALL(IF(C4=data!$C$3:$C$24,ROW(data!$C$3:$C$24)-ROW(data!$C$3)+1),COUNTIF(C$4:C4,C4)))))
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 4:47 pm
by snasui

ชีท Report เซลล์ B10:B11, B18:B20 มาจากเงื่อนไขใดจึงควรแสดงเช่นนั้นครับ

Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 5:46 pm
by natthaporn
B10:B11 เงื่อนไขมาจาก sheet "data" row ที่ 3 ส่วน
B18:B20 เงื่อนไขมาจาก sheet "data" row ที่ 4 คะ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 8:26 pm
by snasui

Excel 2003 ใน 1 Row มี 256 คอลัมน์ ควรจะระบุให้ชัดว่าเซลล์ใด และ
เซลล์ที่อ้างถึงนั้นจะต้องบอกได้ว่าให้นำค่าที่ตรงกันมาวางเป็นจำนวนกี่ครั้่ง
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 9:20 pm
by natthaporn
ต้องขอโทษด้วยคะที่อธิบายไม่ชัดเจน และต้องขอขอบคุณคำถามนำของอาจารย์ เพราะดิฉันก็ไม่รู้ว่าจะต้องเริ่มต้นอธิบายอย่างไร ซึ่งเงื่อนไข คือ ดังนี้คะ
B10:B11 และ B18:B20 เงื่อนไขมาจาก sheet "data" B3:C24
ส่วนเซลล์ที่อ้างถึงนั้นดิฉันไม่สามารถระบุได้ว่าให้นำค่าที่ตรงกันมาวางเป็นจำนวนกี่ครั้่ง เพราะข้อมูลที่ sheet "report" column: C (ซึ่งดิฉันขอเรียกว่า code นะคะ) เป็นข้อมูลที่ download มาจาก software ของบริษัท จึงไม่สามารถระบุได้ ซึ่งในแต่ละเดือน บาง code ก็มีจำนวนซ้ำกันตั้งแต่ 2-20 ครั้งขึ้นไป บาง code ก็มีเพียงครั้งเดียวคะ
ขอบคุณคะ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 9:33 pm
by snasui

ถ้าระบุจำนวนครั้งในการวางไม่ได้ก็ไม่สามารถเขียนสูตรหรือเขียนโปรแกรมให้ออกมาตามที่ต้องการได้ครับ
การนำมาวางสองครั้ง สามครั้งหรือเท่านั้นเท่านี้ครั้ง เราคือผู้ใช้งานจะต้องทราบว่าดูจากไหน ดูอย่างไรครับ
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 9:50 pm
by snasui

จากการดูตัวอย่างคำตอบแล้วที่ชีท Report เซลล์ B4 คีย์สูตร
=IF(ISNA(MATCH(C4,data!$C$3:$C$24,0)),"",INDEX(data!$B$3:$B$24,MATCH(C4,data!$C$3:$C$24,0)))
Enter > Copy ลงด้านล่าง
ความหมายของสูตรคือ หากค่าในคอลัมน์ C ตรงกับคอลัมน์ C ของชีท Data ให้นำคอลัมน์ B ของชีท Data มาแสดง
Re: รบกวนสอบถามสูตรการดึงข้อมูล
Posted: Wed Feb 27, 2013 10:33 pm
by natthaporn
คำตอบได้ตามที่ต้องการแล้วคะ ทั้งๆ ที่สูตร Index,Match ดิฉันใช้อยู่ประจำแต่ทำไม่ถึงละเลยสูตรนี้ไปได้ก็ไม่ทราบ อาจเป็นเพราะคิดมากจนเกินไป เพราะมัวแต่ไปคิดถึงแต่สูตรที่ยาก ๆ ครั้งนี้ดิฉันจึงถือว่าเป็นบทเรียนอีกอย่างหนึ่ง คือ เราต้องทดลองใช้สูตรที่เราคุ้นเคยก่อน ถ้าไม่ได้จริง ๆ ค่อยสอบถามผู้รู้ภายหลัง
ต้องขอขอบคุณอาจารย์มากคะ สำหรับคำแนะนำ