Page 1 of 1

แยกข้อมูลออกเป็น 2 คอลัมน์ ตามเงื่อนไข

Posted: Fri Mar 28, 2014 2:47 pm
by Yamazato
รบกวน ท่านผู้รู้ทุกท่าน

ผมมีข้อมูล 2 คอลัมน์
คอลัมน์ A : เป็นข้อมูล ID (เลข 10 หลัก) กับ Code (ตัวเลขหรือตัวอักษร)
คอลัมน์ B : Description (Code) มีเฉพาะคอลัมน์ A ที่เป็น Code


ต้องการ

นำข้อมูล Code กับ Description มาอยู่แถวเดียวกับ ID ก่อนหน้า ซึ่ง 1 ID มีได้ หลาย Code

เป็น คอลัมน์ D,E,F (ID,Code,Description ตามลำดับ )


ตัวอย่างตามไฟล์ที่แนบ

ขอบคุณครับ

Re: แยกข้อมูลออกเป็น 2 คอลัมน์ ตามเงื่อนไข

Posted: Fri Mar 28, 2014 5:12 pm
by snasui
:D ลองตามนี้ครับ
  1. เซลล์ C2 คีย์
    =IF(B2<>"",LOOKUP(2,1/(LEN(A$2:A2)=10),A$2:A2),"")
    Enter > Copy ลงด้านล่าง
  2. เซลล์ D7 คีย์
    =IFERROR(INDEX($C$2:$C$16,SMALL(IF($C$2:$C$16<>"",ROW($C$2:$C$16)-ROW($C$2)+1),ROWS(D$7:D7))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง > ปรับใช้กับคอลัมน์ E, F โดยเปลี่ยนเฉพาะช่วงเซลล์ที่ระบายสีในสูตร

Re: แยกข้อมูลออกเป็น 2 คอลัมน์ ตามเงื่อนไข

Posted: Fri Mar 28, 2014 5:48 pm
by Yamazato
snasui wrote::D ลองตามนี้ครับ
  1. เซลล์ C2 คีย์
    =IF(B2<>"",LOOKUP(2,1/(LEN(A$2:A2)=10),A$2:A2),"")
    Enter > Copy ลงด้านล่าง
  2. เซลล์ D7 คีย์
    =IFERROR(INDEX($C$2:$C$16,SMALL(IF($C$2:$C$16<>"",ROW($C$2:$C$16)-ROW($C$2)+1),ROWS(D$7:D7))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง > ปรับใช้กับคอลัมน์ E, F โดยเปลี่ยนเฉพาะช่วงเซลล์ที่ระบายสีในสูตร

:thup: ขอบคุณ อาจารย์ นะครับ
ซึ่ง สูตร เซลล์ C2 คีย์
=IF(B2<>"",LOOKUP(2,1/(LEN(A$2:A2)=10),A$2:A2),"")
ก็สามารถ ตอบโจทย์ของผมได้เเล้วครับ :D เหลือแค่ Filter กับ จัดเรียงใหม่
ส่วนสูตรที่ 2 ขอลองศึกษาดูอีกทีนะครับ