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
:D ไม่มีสูตรใดใน 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
:D ลองตามนี้ครับ

ที่ชีทสรุป 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
:D ใช่แล้วครับ 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
:D ลองดูตัวอย่างการประยุกต์ใช้สูตรโดยไม่ใช้ Add-ins ตามไฟล์แนบครับ

ที่ชีทสรุป
  1. เซลล์ 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 ไปทางขวาและลงด้านล่าง
  2. เซลล์ 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 บรรทัด ได้ใช้สูตรของท่านอาจารย์แล้ว ทำให้งานเสร็จได้รวดเร็วขึ้นมาก ต้องขอขอบคุณท่านอาจารย์ไว้นะที่นี้ด้วย ขอบคุณมากครับ