Page 1 of 1

สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Sun Dec 18, 2016 11:06 pm
by nopporn24
เรียนสอบถามอาจารย์ทุกๆท่านครับ ผมต้องการรวมแถวบรรทัดที่ D00 และ T00 ให้มารวมอยู่กับแถว H00 ครับ ลองเปิดหาข้อมูลดู ก็พบว่าต้องเขียนเป็น VBA ซึ่งผมยังเขียนไม่เป็นครับ รบกวนอาจารย์ช่วยดูให้ผมด้วยนะครับ ขอบคุณครับ

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 10:16 am
by parakorn
W1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A3="T00",A3<>""),A3,"")),"")
Copy ลากไปทางซ้าย ทางขวา และ ลงด้านล่างครับ

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 10:44 am
by nopporn24
ติดตรงแถว D00 ครับ ยังต่อไม่ได้ แต่แถว T00 ทำได้แล้วครับ ขอบคุณครับ

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 10:47 am
by parakorn
nopporn24 wrote:ติดตรงแถว D00 ครับ ยังต่อไม่ได้ แต่แถว T00 ทำได้แล้วครับ ขอบคุณครับ
parakorn wrote:W1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A3="T00",A3<>""),A3,"")),"")
Copy ลากไปทางซ้าย ทางขวา และ ลงด้านล่างครับ
เริ่มพิมพ์สูตร ที่ W1 นะครับ แล้ว Copy ไปทางซ้าย ลองดูใหม่ หากยังไม่ได้ลองแนบไฟล์ตัวอย่างที่ทำมาดูครับ

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 10:54 am
by nopporn24
เรียบร้อยแล้วครับ ผมลองแกะฟังก์ชั่่นดู ที่เซล O1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A2="D00",A2<>""),A2,"")),"") ตามนี้ ก็ลากได้เลยครับ ขอบคุณมากๆครับ

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 11:04 am
by parakorn
nopporn24 wrote:เรียบร้อยแล้วครับ ผมลองแกะฟังก์ชั่่นดู ที่เซล O1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A2="D00",A2<>""),A2,"")),"") ตามนี้ ก็ลากได้เลยครับ ขอบคุณมากๆครับ
ที่ O1 ความจริงไม่จำเป็นต้องมี IF ตัวที่ 2 ก็ได้ครับ หากลาก สูตรจาก W1 ถอยมา
สูตรจะได้เป็น =IFERROR(IF(AND($A1="H00",A2<>""),A2,IF(AND($A3="T00",#REF!<>""),#REF!,"")),"")
ได้ผลลัพท์ เช่นกันครับ :D

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 5:12 pm
by nopporn24
parakorn wrote:
nopporn24 wrote:เรียบร้อยแล้วครับ ผมลองแกะฟังก์ชั่่นดู ที่เซล O1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A2="D00",A2<>""),A2,"")),"") ตามนี้ ก็ลากได้เลยครับ ขอบคุณมากๆครับ
ที่ O1 ความจริงไม่จำเป็นต้องมี IF ตัวที่ 2 ก็ได้ครับ หากลาก สูตรจาก W1 ถอยมา
สูตรจะได้เป็น =IFERROR(IF(AND($A1="H00",A2<>""),A2,IF(AND($A3="T00",#REF!<>""),#REF!,"")),"")
ได้ผลลัพท์ เช่นกันครับ :D
ขอบคุณมากๆครับ ^_^

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 10:41 pm
by DhitiBank
อีกวิธีหนึ่งครับ หลายขั้นตอนนิดหน่อยเพราะมีคอลัมน์ช่วย ใช้กรณีที่ข้อมูลแต่ละแถวมีจำนวนคอลัมน์ไม่เท่ากันครับ

1. สร้างคอลัมน์ช่วย
  • 1.1 A1 คีย์ =IF(รูปแบบต้นฉบับ!A1="","",LOOKUP(2,1/ISNUMBER(FIND("H",รูปแบบต้นฉบับ!A$1:A1)),ROW(รูปแบบต้นฉบับ!A$1:A1)))
    1.2 B1 คีย์ =IF(A1="",0,COUNTA(รูปแบบต้นฉบับ!A1:Y1))
    1.3 C1 คีย์ =SUMIF(A$1:A1,A1,B$1:B1)-B1+1
    1.4 คัดลอกสูตรทั้ง 3 ลงล่างจนเห็นว่าคอลัมน์ A แสดงค่าว่าง
2. D1 คีย์
=IF(COUNTIF($A$1:$A1,$A1)>1,"",INDEX(รูปแบบต้นฉบับ!$A$1:$N$12,
ROWS(D$1:D1)-1+MATCH(COLUMNS($D1:D1),OFFSET($A$1,MATCH($A1,$A$1:$A$100,0)-1,2,COUNTIF($A$1:$A$100,$A1)),1),
COLUMNS($D1:D1)+1-LOOKUP(COLUMNS($D1:D1),OFFSET($A$1,MATCH($A1,$A$1:$A$100,0)-1,2,COUNTIF($A$1:$A$100,$A1)))))

Enter >> คัดลอกไปทางขวาและลงล่างครับ

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 10:59 pm
by nopporn24
DhitiBank wrote:อีกวิธีหนึ่งครับ หลายขั้นตอนนิดหน่อยเพราะมีคอลัมน์ช่วย ใช้กรณีที่ข้อมูลแต่ละแถวมีจำนวนคอลัมน์ไม่เท่ากันครับ

1. สร้างคอลัมน์ช่วย
  • 1.1 A1 คีย์ =IF(รูปแบบต้นฉบับ!A1="","",LOOKUP(2,1/ISNUMBER(FIND("H",รูปแบบต้นฉบับ!A$1:A1)),ROW(รูปแบบต้นฉบับ!A$1:A1)))
    1.2 B1 คีย์ =IF(A1="",0,COUNTA(รูปแบบต้นฉบับ!A1:Y1))
    1.3 C1 คีย์ =SUMIF(A$1:A1,A1,B$1:B1)-B1+1
    1.4 คัดลอกสูตรทั้ง 3 ลงล่างจนเห็นว่าคอลัมน์ A แสดงค่าว่าง
2. D1 คีย์
=IF(COUNTIF($A$1:$A1,$A1)>1,"",INDEX(รูปแบบต้นฉบับ!$A$1:$N$12,
ROWS(D$1:D1)-1+MATCH(COLUMNS($D1:D1),OFFSET($A$1,MATCH($A1,$A$1:$A$100,0)-1,2,COUNTIF($A$1:$A$100,$A1)),1),
COLUMNS($D1:D1)+1-LOOKUP(COLUMNS($D1:D1),OFFSET($A$1,MATCH($A1,$A$1:$A$100,0)-1,2,COUNTIF($A$1:$A$100,$A1)))))

Enter >> คัดลอกไปทางขวาและลงล่างครับ
ขอบคุณครับ อยากจะบอกว่ากำลังเจอปัญหานี้พอดีครับ แต่ที่เจอคือ จำนวนแถวบางรายการไม่เท่ากันครับ ขออธิบายคร่าวๆนะครับ

จะมีแถว H00 D00 และ T00 ซึ่งจำนวนแถวที่มีเพิ่มขึ้นมานั้น จะเป็น D00 ครับ บางรายการจะมีแถว D00 มากกว่า 1 แถว ส่วน H00 และ T00 จะอยู่บนและล่างตามลำดับเช่นเคย ทำให้เวลาใส่สูตร ค่าที่ได้ผิดเพี้ยนไปบ้างครับ ผมก็มาแก้แบบ manual เอา

ขอบพระคุณทุกๆท่านที่สละเวลานะครับ เดี๋ยวพรุ่งนี้จะพยายามดูใหม่

Re: สอบถามเรื่องการรวมแถวหลายแถว ให้เป็นแถวเดียวครับ

Posted: Mon Dec 19, 2016 11:13 pm
by DhitiBank
ผมคิดว่า หากข้อมูลแต่ละชุดมีจำนวนแถวไม่เท่ากัน สูตรชุดนี้ก็น่าจะใช้ได้ครับ