Page 1 of 1
รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Tue Mar 13, 2012 11:57 am
by yuyuhuggucho
เนื่องจากต้องจัดทำข้อมูลบริษัทคู่ค้า จึงอยากรบกวนสอบถามว่าหากต้องการหาข้อมูลโดยใช้หมวดเป็นตัวกำหนด เช่นต้องการหาข้อมูลในหมวดแบบพิมพ์ โดยผมอยากให้พิมพ์แค่คำว่า แบบพิมพ์ แล้วก็แสดงข้อมูลของบริษัทต่างๆ ที่อยู่ในหมวดนี้มาได้ทุกบริษัท สามารถใช้วิธีการใดได้ครับบ้างครับ ขอบคุณครับ
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Tue Mar 13, 2012 12:51 pm
by bank9597

ลองตามนี้ครับ
ที่ E4 คีย์ =COUNTIF(DataBase!$B$2:$B$21,C4) เพื่อนับจำนวนรายการ
ที่ B8 คีย์ =IF(ROWS($B$8:B8)>$E$4,"",INDEX(DataBase!A$2:A$21,SMALL(IF(DataBase!$B$2:$B$21=$C$4,ROW(DataBase!$A$2:$A$21)-ROW(DataBase!$A$2)+1),ROWS($B$8:B8))))
กด CTRL+Shift+Enter คัดลอกไปทางขวามือ ให้เ่ท่ากับจำนวนคอลัมน์ใน database เมื่อได้ผลลัพธ์แล้ว ก็ตัดเอาเฉพาะค่าที่เราต้องการ
ใรกรณีที่ชำนาญแล้ว สามารถระบุในสูตรได้เลยว่าจะให้คอลัมน์ใดแสดงค่าอะไร
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Tue Mar 13, 2012 3:28 pm
by tupthai
แบบสูตรธรรมดาครับ
ที่ชีท DataBase column N ทำ index ไว้สำหรับดึงข้อมูล
N2=IF(B2=หาจากหมวด!$C$4,COUNTIF($B$2:B2,หาจากหมวด!$C$4),"")
Enter>copy ลงด้านล่าง
ที่ชีท หาจากหมวด!
B8=IFERROR(INDEX(DataBase!$A$1:$N$21,MATCH($A8,DataBase!$N$1:$N$21,0),MATCH(หาจากหมวด!B$7,DataBase!$A$1:$N$1,0)),"")
Enter>copy ไปทางขวา และ ลงด้านล่าง
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Wed Mar 14, 2012 10:50 am
by yuyuhuggucho
ขอบคุณ คุณbank9597 และคุณtupthai ขอบคุณมากครับ
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Thu Mar 15, 2012 4:08 pm
by yuyuhuggucho
เนื่องจากผมลอง Copy แล้วแก้ไขสูตรในช่องต่างๆ ดูตั้งแต่ช่อง B8 และช่องอื่นๆ แต่ค่าที่ได้เมื่อเลือกในช่องหมวดไม่ตรงกับที่ต้องการรบกวนคุณbank9597 หรือผู้รู้ท่านอื่นๆ ช่วยชี้แนะด้วยครับ หรือหากมีวิธีอื่นใด ช่วยชี้แนะได้เต็มที่นะครับ ขอบคุณครับ
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Thu Mar 15, 2012 4:22 pm
by tupthai
แก้ไขสูตร Array แล้วอย่าลืมกด CTRL+Shift+Enter พร้อมกันครับ
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Thu Mar 15, 2012 4:30 pm
by bank9597

ลองตามนี้ครับ
ที่ B8 คีย์ =IF(ROWS($B$8:B8)>$E$4,"",INDEX(DataBase!A$2:A$240,SMALL(IF(DataBase!$B$2:$B$240=$C$4,ROW(DataBase!$A$2:$A$240)-ROW(DataBase!$
B$2)+1),ROWS($B$8:B8)))) กด Ctrl+Shift+Enter
ที่ C8 คีย์ =IF(ROWS($B$8:C8)>$E$4,"",INDEX(DataBase!C$2:C$240,SMALL(IF(DataBase!$B$2:$B$240=$C$4,ROW(DataBase!$A$2:$A$240)-ROW(DataBase!$B$2)+1),ROWS($B$8:C8)))) กด Ctrl+Shift+Enter คัดลอกไปทางขวามือจนสุดคอลัมน์
จากนั้น คลุมแถวที่ 8 ทั้งหมด แล้วคัดลอกลงมาพร้อมกัน
ตามไฟล์แนบครับ

Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Fri Mar 16, 2012 9:19 am
by yuyuhuggucho
ขอบคุณ คุณbank9597มากคับ เดี๋ยวลองทำดูครับ ยากใช่เล่นนะเนี่ย
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Fri Mar 16, 2012 9:54 am
by yuyuhuggucho
คุณ bank9597 ทำไมถึงต้อง กดCTRL+Shift+Enter ด้วยครับ เพราะเหตุใดหรอครับ
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Fri Mar 16, 2012 6:31 pm
by bank9597

ให้บอกว่าทำไมต้องกดเช่นนั้น ผมไม่ทราบเช่นกันครับ เพราะมันเป็นรูปแบบที่ผู้ออกแบบโปรแกรมเขากำหนดมาแล้ว ผมรู้เพียงแต่ว่าการกดแบบนี้จะใช้กับสูตรที่เป็นอาร์เรย์ และก็เท่าที่รู้อีกน่ะแหละครับ อาร์เรย์ก็คือการเทียบช่วงเซลล์กับ 1 เซลล์ เช่น A1:A10=B1 เป็นต้นครับ

Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Fri Mar 16, 2012 6:41 pm
by snasui

มาช่วยเสริมแบบคร่าว ๆ ครับ
- ที่ต้องกดเช่นนั้นเนื่องจากว่าเป็นสูตร Array
- Array คือช่วงข้อมูล มีได้ 3 แบบคือ แนวคอลัมน์ แนวบรรทัด และแนวผสมคือทั้งคอลัมน์และบรรทัด
- สูตร Array คือสูตรที่กระทำกับช่วงข้อมูลตามข้อ 2
- การกดแป้นให้รับสูตร Array จะต้องกด 3 แป้นคือ Ctrl+Shift+Enter
อ่านเพิ่มเติมได้จากที่นี่ครับ
http://www.snasui.com/viewtopic.php?f=3&t=57
Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ
Posted: Sat Mar 17, 2012 11:58 am
by yuyuhuggucho
ต้องขอขอบคุณ คุณbank9597 และท่านsnasui มากครับ