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
:D ลองตามนี้ครับ
ที่ 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
แบบสูตรธรรมดาครับ :P
ที่ชีท 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
:D ลองตามนี้ครับ

ที่ 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 ทั้งหมด แล้วคัดลอกลงมาพร้อมกัน

ตามไฟล์แนบครับ :D

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

Re: รบกวนช่วยแนะนำการใช้สูตรค้นหาข้อมูลครับ

Posted: Fri Mar 16, 2012 6:41 pm
by snasui
:lol: มาช่วยเสริมแบบคร่าว ๆ ครับ
  1. ที่ต้องกดเช่นนั้นเนื่องจากว่าเป็นสูตร Array
  2. Array คือช่วงข้อมูล มีได้ 3 แบบคือ แนวคอลัมน์ แนวบรรทัด และแนวผสมคือทั้งคอลัมน์และบรรทัด
  3. สูตร Array คือสูตรที่กระทำกับช่วงข้อมูลตามข้อ 2
  4. การกดแป้นให้รับสูตร 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 มากครับ