Page 1 of 1
รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sat May 19, 2012 12:33 pm
by niwat2811
รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ ต้องการให้สรุปข้อมูลโดยดึงข้อมูลจาก Sheet ข้อมูล มาแสดง แต่ไม่ทราบว่าสูตรผิดตรงไหน
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sat May 19, 2012 12:44 pm
by snasui

ไม่มีสูตรใดใน Excel แสดงคำตอบเช่นนั้นได้ครับ สามารถใช้ VBA หรือ Add-ins Morefunc เพื่อใช้สูตร Mconcat เข้ามาช่วยได้ ไม่ทราบว่าได้ติดตั้ง Add-ins Morefunc แล้วยังครับ สามารถดาวน์โหลดได้ที่
viewtopic.php?f=9&t=9 หากติดตั้งแล้วช่วยโพสต์แจ้งมาอีกรอบครับ
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sat May 19, 2012 12:53 pm
by niwat2811
ครับผม เพิ่งติดตั้งเสร็จเรียบร้อยแล้ว รบกวนท่านอาจารย์ด้วยครับ
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sat May 19, 2012 5:04 pm
by snasui

ลองตามนี้ครับ
ที่ชีทสรุป C3 คีย์
=SUBSTITUTE(SUBSTITUTE(MCONCAT(IF(INDEX(ข้อมูล!$B$3:$F$4,MATCH($A3,ข้อมูล!$A$3:$A$4,0),0)=MAX(INDEX(ข้อมูล!$B$3:$F$4,MATCH($A3,ข้อมูล!$A$3:$A$4,0),0)),ข้อมูล!$B$1:$F$1),","),",FALSE",""),"FALSE,","")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sun May 20, 2012 8:59 am
by niwat2811
เรียนท่านอาจารย์ ได้ลองใส่สูตรดูแล้ว ปรากฎว่าไม่ได้ อาจจะเป็นเพราะว่า office 2010 ไม่ support หรือเปล่าครับ
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sun May 20, 2012 9:01 am
by snasui

ใช่แล้วครับ Morefunc Support Version ก่อนหน้ามาถึง Excel 2007 เท่านั้นครับ
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sun May 20, 2012 9:06 am
by niwat2811
ครับ ยังไงก็ต้องขอบคุณท่านอาจารย์มากครับ ที่สละเวลามาดูให้ คงต้องใช้วิธี manaul งานมือไปก่อน ขอบคุณครับ
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sun May 20, 2012 9:30 am
by snasui

ลองดูตัวอย่างการประยุกต์ใช้สูตรโดยไม่ใช้ Add-ins ตามไฟล์แนบครับ
ที่ชีทสรุป
- เซลล์ E3 คีย์
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX(ข้อมูล!$B$1:$G$1,SMALL(IF(INDEX(ข้อมูล!$B$3:$F$4,MATCH($A3,ข้อมูล!$A$3:$A$4,0),0)=MAX(INDEX(ข้อมูล!$B$3:$F$4,MATCH($A3,ข้อมูล!$A$3:$A$4,0),0)),COLUMN(ข้อมูล!$C$1:$G$1)-COLUMN(ข้อมูล!$C$1)+1),COLUMNS(สรุป!$E3:E3)))))
Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง
- เซลล์ C3 คีย์
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E3&","&F3&","&G3&","&H3&","&I3&",0",",,,,",","),",,,",","),",,",","),",0","")
Enter > Copy ลงด้านล่าง
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sun May 20, 2012 9:37 am
by niwat2811
ผมได้ลองหา code ที่คิดว่าใกล้เคียงกับงานที่ผมจะทำ แต่ว่าไม่สามารถประยุกต์ใช้ได้ อยากจะรบกวนท่านอาจารย์ได้ช่วยปรับ code ให้หน่อยครับ
Sub oneCell()
Dim sh As Worksheet, n as range
Set sh = ActiveSheet
For Each n In sh.Range("A1:A" & sh.Cells(Rows.Count,1).End(xlUp).Row)
If Lcase(n.Offset(0,1)) = "out" Then
sh.Range("C1") = sh.Range("C1").Value & n.Value & ", "
End If
Next
End sub
จาก Code ด้านบนคือให้หาว่า column b บรรทัดไหน มีคำว่า "out" ให้นำรายชื่อใน column a มาเรียงต่อกันที่ column c ซึ่งคล้าย ๆ กันกับงานที่ผมต้องการ แต่ว่าผมไม่สามารถที่จะประยุกต์ใช้ให้ตรงกันกับงานที่ต้องการได้ รบกวนท่านอาจารย์หรือผู้รู้ช่วยชี้แนะด้วยครับ
Re: รบกวนดูสูตรเกี่ยวกับการดึงข้อมูลที่มากที่สุดมาแสดงครับ
Posted: Sun May 20, 2012 9:49 am
by niwat2811
แจ้งผลการทดสอบครับ สูตรที่ท่านอาจารย์ให้มาด้านบนสามารถใช้ได้ตรงกับความต้องการเลยครับ ซึ่งจริง ๆ แล้วงานที่ต้องทำมีประมาณ 300 บรรทัด ได้ใช้สูตรของท่านอาจารย์แล้ว ทำให้งานเสร็จได้รวดเร็วขึ้นมาก ต้องขอขอบคุณท่านอาจารย์ไว้นะที่นี้ด้วย ขอบคุณมากครับ