Page 1 of 1

รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 7:49 am
by naung
อยากทราบวิธีเขียนสูตรรวมไฟล์จากหลายคอลัมน์ให้อยู่ในคอลัมน์เดียว ตัวอย่างจากไฟล์ที่แนบ ที่ผมจะใช้ทำงานจริง เคยสอบถามมาแล้วก่อนหน้านี้ แต่ไม่ตรงจากที่จะทำงานจริง จึงขอรบกวนอีกครั้งครับ

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 11:20 am
by snasui
:D ลองตามนี้ครับ

E31 คีย์สูตร

=SUMPRODUCT(($B$4:$B$23=$B31)*(LEFT($E$3:$M$3)=E$30)*($E$4:$M$23))

Enter > Copy ไปด้านขวาและลงด้านล่าง

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 11:51 am
by naung
ผมลองคีย์สูตรแล้วครับ ยังไม่สามารถคำนวณได้ ตามไฟล์ที่แนบครับ ขอแก้ไขให้ด้วยครับ

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 12:23 pm
by bank9597
:D แถมอีกวิธีครับ (ขั้นตอนมากหน่อย)

ที่ O4 คีย์ =MAX(O3)-1 คัดลอกลงมา
ที่ N4 คีย์ =LEFT(OFFSET($E4:$M4,MAX(O3)-1,MATCH(1,IF($E4:$M4<>"",1),0)-1),1) กด Ctrl+Shift+Enter คัดลอกลงมา
ที่ P4 คีย์ =LOOKUP(CHAR(255),$E4:$M4) คัดลอกลงมา

ที่ E31 คีย์ =IFERROR(INDEX($P$4:$P$23,MATCH(1,IF($B$4:$B$23=$B31,IF($N$4:$N$23=E$30,1)),0)),"") คัดลอกไปทางขวามือ แล้วลงล่างพร้อมกันครับ

หากข้อมูลในตารางเป็นตัวเลข ไม่ใช "X" ก็สามารถใช้สูตร sumproduct,sum(if ได้เลยครับ

และหากว่าข้อมูลที่คีย์ลงไปใน 1 บรรทัด มีมากว่า 1 ค่า เช่น คีย์ X ลงไป 2 ที่ ในบรรทัดเดียวกัน การแสดงค่าก็จะต้องมีการปรับสูตรกันต่อไปครับ

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 1:42 pm
by naung
ขอบคุณมากครับ ใช้งานได้ตามที่ต้องการ

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 2:02 pm
by snasui
naung wrote:ผมลองคีย์สูตรแล้วครับ ยังไม่สามารถคำนวณได้ ตามไฟล์ที่แนบครับ ขอแก้ไขให้ด้วยครับ
:lol: ที่ไม่ได้เพราะผมเข้าใจว่าเป็นการรวม และเข้าใจว่า x คือตัวเลขที่ต้องการนำมารวมกัน

หากต้องกรนำค่า x มาจัดเรียงใหม่ตามตัวอย่างสามารถใช้สูตรที่เซลล์ E31 ตามด้านล่างครับ

=IFERROR(INDEX(INDEX($E$4:$M$23,MATCH($B31,$B$4:$B$23,0),0),MATCH(1,IF(INDEX($E$4:$M$23,MATCH($B31,$B$4:$B$23,0),0)<>"",IF(LEFT($E$3:$M$3)=E$30,1)),0)),"")

Ctrl+Shift+Enter > Copy ไปทางด้านขวาและลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 7:32 pm
by ZEROV
E31=IF(MID("AAABABCCD",MATCH("x",$E4:$M4,0),1)=E$30,"x","")

Copy สูตรไปทั้งตาราง

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Wed Sep 11, 2013 8:15 pm
by bank9597
ZEROV wrote:E31=IF(MID("AAABABCCD",MATCH("x",$E4:$M4,0),1)=E$30,"x","")

Copy สูตรไปทั้งตาราง
:thup:

Re: รวมข้อมูลในเซลล์หลายคอลัมน์ให้อยู่ในคอลัมน์เดียว

Posted: Thu Sep 12, 2013 8:31 am
by naung
ขอขอบคุณครับที่ให้ความรู้ ทำให้นำไปปรับใช้ได้