:!: โปรดทราบ Image
    1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
    2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
      1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
      2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
    3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
    4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
    5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

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

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nopporn24
Member
Member
Posts: 8
Joined: Mon Aug 08, 2016 4:24 pm

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

#1

Postby nopporn24 » Sun Dec 18, 2016 11:06 pm

เรียนสอบถามอาจารย์ทุกๆท่านครับ ผมต้องการรวมแถวบรรทัดที่ D00 และ T00 ให้มารวมอยู่กับแถว H00 ครับ ลองเปิดหาข้อมูลดู ก็พบว่าต้องเขียนเป็น VBA ซึ่งผมยังเขียนไม่เป็นครับ รบกวนอาจารย์ช่วยดูให้ผมด้วยนะครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.

User avatar
parakorn
Silver
Silver
Posts: 592
Joined: Thu Mar 14, 2013 9:41 am
Contact:

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

#2

Postby parakorn » Mon Dec 19, 2016 10:16 am

W1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A3="T00",A3<>""),A3,"")),"")
Copy ลากไปทางซ้าย ทางขวา และ ลงด้านล่างครับ
"," คือ ยูเนี่ยน ใช้เลือกช่วงใดบ้างให้คำนวณทั้งหมด(เลือกซ้ำคำนวณซ้ำ)
":" คือ เซต ใช้สร้างช่วงตารางข้อมูลระหว่าง2Cell
" "(เว้นวรรค) คือ อินเตอร์เซก ใช้เลือกข้อมูลเฉพาะด้านในจุดตัดระหว่างเซตทั้งหมด

Array ต้องเป็น เซตเท่านั้น

nopporn24
Member
Member
Posts: 8
Joined: Mon Aug 08, 2016 4:24 pm

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

#3

Postby nopporn24 » Mon Dec 19, 2016 10:44 am

ติดตรงแถว D00 ครับ ยังต่อไม่ได้ แต่แถว T00 ทำได้แล้วครับ ขอบคุณครับ

User avatar
parakorn
Silver
Silver
Posts: 592
Joined: Thu Mar 14, 2013 9:41 am
Contact:

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

#4

Postby parakorn » Mon Dec 19, 2016 10:47 am

nopporn24 wrote:ติดตรงแถว D00 ครับ ยังต่อไม่ได้ แต่แถว T00 ทำได้แล้วครับ ขอบคุณครับ
parakorn wrote:W1 =IFERROR(IF(AND($A1="H00",I2<>""),I2,IF(AND($A3="T00",A3<>""),A3,"")),"")
Copy ลากไปทางซ้าย ทางขวา และ ลงด้านล่างครับ


เริ่มพิมพ์สูตร ที่ W1 นะครับ แล้ว Copy ไปทางซ้าย ลองดูใหม่ หากยังไม่ได้ลองแนบไฟล์ตัวอย่างที่ทำมาดูครับ
"," คือ ยูเนี่ยน ใช้เลือกช่วงใดบ้างให้คำนวณทั้งหมด(เลือกซ้ำคำนวณซ้ำ)
":" คือ เซต ใช้สร้างช่วงตารางข้อมูลระหว่าง2Cell
" "(เว้นวรรค) คือ อินเตอร์เซก ใช้เลือกข้อมูลเฉพาะด้านในจุดตัดระหว่างเซตทั้งหมด

Array ต้องเป็น เซตเท่านั้น

nopporn24
Member
Member
Posts: 8
Joined: Mon Aug 08, 2016 4:24 pm

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

#5

Postby nopporn24 » Mon Dec 19, 2016 10:54 am

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

User avatar
parakorn
Silver
Silver
Posts: 592
Joined: Thu Mar 14, 2013 9:41 am
Contact:

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

#6

Postby parakorn » Mon Dec 19, 2016 11:04 am

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
"," คือ ยูเนี่ยน ใช้เลือกช่วงใดบ้างให้คำนวณทั้งหมด(เลือกซ้ำคำนวณซ้ำ)
":" คือ เซต ใช้สร้างช่วงตารางข้อมูลระหว่าง2Cell
" "(เว้นวรรค) คือ อินเตอร์เซก ใช้เลือกข้อมูลเฉพาะด้านในจุดตัดระหว่างเซตทั้งหมด

Array ต้องเป็น เซตเท่านั้น

nopporn24
Member
Member
Posts: 8
Joined: Mon Aug 08, 2016 4:24 pm

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

#7

Postby nopporn24 » Mon Dec 19, 2016 5:12 pm

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

ขอบคุณมากๆครับ ^_^

User avatar
DhitiBank
Gold
Gold
Posts: 1575
Joined: Mon Oct 15, 2012 12:07 am

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

#8

Postby DhitiBank » Mon Dec 19, 2016 10:41 pm

อีกวิธีหนึ่งครับ หลายขั้นตอนนิดหน่อยเพราะมีคอลัมน์ช่วย ใช้กรณีที่ข้อมูลแต่ละแถวมีจำนวนคอลัมน์ไม่เท่ากันครับ

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 >> คัดลอกไปทางขวาและลงล่างครับ
You do not have the required permissions to view the files attached to this post.

nopporn24
Member
Member
Posts: 8
Joined: Mon Aug 08, 2016 4:24 pm

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

#9

Postby nopporn24 » Mon Dec 19, 2016 10:59 pm

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 เอา

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

User avatar
DhitiBank
Gold
Gold
Posts: 1575
Joined: Mon Oct 15, 2012 12:07 am

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

#10

Postby DhitiBank » Mon Dec 19, 2016 11:13 pm

ผมคิดว่า หากข้อมูลแต่ละชุดมีจำนวนแถวไม่เท่ากัน สูตรชุดนี้ก็น่าจะใช้ได้ครับ


Return to “Excel”

Who is online

Users browsing this forum: Google [Bot], puriwutpokin, Yahoo [Bot] and 31 guests