Page 1 of 1

นำข้อมูลในแต่ละ Cell มาต่อกันแล้ว Running ตามข้อมูลที่มี

Posted: Thu Mar 20, 2014 10:08 am
by netusernoname
สวัสดีครับ
ผมต้องการผลลัพธ์ ของการ Running ข้อมูลในแต่ละ Cell ดังภาพซึ่งอยู่ใน Link ด้านล่าง
ต้องใช้สูตรไหนหรือว่าต้องเอา VBA เข้ามาช่วย
ขอบคุณมากครับ
_/\_
:cp:
http://www.uppic.org/image-FF06_532A5AF9.jpg

Re: นำข้อมูลในแต่ละ Cell มาต่อกันแล้ว Running ตามข้อมูลที่มี

Posted: Thu Mar 20, 2014 12:54 pm
by DhitiBank
ที่ E1 ลองคีย์ตามนี้ครับ

=IF(ROWS(F$2:F2)>COUNT(A:A)*COUNT(B:B)*COUNT(C:C),"",
LOOKUP(ROUNDUP(ROWS(F$2:F2)/(COUNT(B:B)*COUNT(C:C)),0),ROW($A$2:$A$4)-1,$A$2:$A$4)&"-"&
LOOKUP(IF(MOD(ROUNDUP(ROWS(F$2:F2)/COUNT(C:C),0),COUNT(C:C))=0,COUNT(C:C),MOD(ROUNDUP(ROWS(F$2:F2)/COUNT(C:C),0),COUNT(C:C))),ROW($B$2:$B$4)-1,$B$2:$B$4)&"-"&
LOOKUP(IF(MOD(ROW()-1,COUNT(C:C))=0,COUNT(C:C),MOD(ROW()-1,COUNT(C:C))),ROW($C$2:$C$4)-1,$C$2:$C$4))

Enter --> คัดลอกลงด้านล่าง

แต่ผมว่าสูตรมันฟุ่มเฟือยเกินไป ถ้าข้อมูลมากอาจทำงานช้า (??) อาจรอท่านอื่นที่รวบรัดกว่าครับ

Re: นำข้อมูลในแต่ละ Cell มาต่อกันแล้ว Running ตามข้อมูลที่มี

Posted: Thu Mar 20, 2014 6:36 pm
by snasui
:D อีกตัวอย่างครับ

เซลล์ E2 คีย์

=IFERROR(TEXT(INDEX($A$2:$A$4,INT((ROWS(E$2:E2)-1)/(COUNT($B$2:$B$4)*COUNT($C$2:$C$4)))+1)&INDEX($B$2:$B$4,MOD((INT((ROWS(E$2:E2)-1)/COUNT($B$2:$B$4))+1)-1,COUNT($B$2:$B$4))+1)&INDEX($C$2:$C$4,MOD((ROWS(E$2:E2)-1),COUNT($C$2:$C$4))+1),"000-000-000"),"")

Enter > Copy ลงด้านล่าง

Re: นำข้อมูลในแต่ละ Cell มาต่อกันแล้ว Running ตามข้อมูลที่มี

Posted: Wed May 27, 2015 4:41 pm
by netusernoname
ได้แล้วครับ ขอบคุณทั้ง 2 ท่านมากนะครับ -*-