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

สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#1

Post by teerin »

ต้องการดึงข้อมูรหัสจากคอลัมน์ B3 มาวางที่ C2
และคอลัมน์ B4 มาวางที่ D2
ตามลำดับ มีวิธีไหนที่ทำได้รวดเร็วกว่าการคัดลอกและวางแบบสลับคอลัมน์บ้างครับ
เนื่องจากข้อมูลมีจำนวนมาก
You do not have the required permissions to view the files attached to this post.
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#3

Post by teerin »

ขอบพระคุณครับ มีวิธีอื่นอีกไหมครั เนืองจากข้อมูลมีจำนวนมาก จะ copy > paste special > transpose หมดนานมากครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#4

Post by snasui »

:D ตัวอย่างสูตรครับ

เซลล์ C2 คีย์

=IFERROR(INDEX($B$2:$B$13,2*(ROWS(C$2:C2)-1)+COLUMNS($C2:C2)),"")

Enter > Copy ไป D2 แล้ว Copy ลงด้านล่าง
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#5

Post by teerin »

ขอบพระคุณมากๆเลยครับ ผม copy > paste special > transpose มานานมากๆ
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#6

Post by teerin »

รบกวนอีกครั้งครับอาจารย์ เนื่องจากใส่สูตร =IFERROR(INDEX($B$2:$B$13,2*(ROWS(C$2:C2)-1)+COLUMNS($C2:C2)),"") แล้วไม่เรียงตามที่ต้องการครับ เลยแนบรูปเพื่ออธิบายประกอบครับ จุดประสงค์ของงานนี้คือจัดฟอร์มเพื่อพิมพ์ใบประกาศ ผมเลยสร้างฟอร์มเพื่อพิมพ์จดหมายเวียนใน Microsoft Word ครับ หากมีคำแนะนำอื่นที่จะทำให้งานเสร็จรวดเร็วกว่าวิธีนี้โปรดชี้แนะได้เลยครับ :rz:
You do not have the required permissions to view the files attached to this post.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#7

Post by logic »

เข้าใจว่าเริ่มเรียงจาก B3

ปรับ index เป็นแบบนี้ครับ =IFERROR(INDEX($B$3:$B$13 ที่เหลือจากนั้นก็เหมือนเดิม 😉
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#8

Post by Bo_ry »

F2:Ixxx
=INDEX($A$2:$B$999,ROWS(F$2:F2)*3-MOD(4-COLUMNS($F2:F2),3),1+(COLUMNS($F2:F2)>1))&""
You do not have the required permissions to view the files attached to this post.
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#9

Post by teerin »

ขอบพระคุณมากๆครับทุกท่าน ได้ตามความต้องการแล้วครับ
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#10

Post by teerin »

รบกวนอธิบายสูตรช่วง ROWS(F$2:F2)*3-MOD(4-COLUMNS($F2:F2),3),1+(COLUMNS($F2:F2)>1))&"" ได้ไหมครับ พยายามแกะแล้ว มึนมากครับจะเอาไปปรับใช้กับข้อมูลชุดอื่นๆครับ ขอบพระคุณครับ
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#11

Post by Bo_ry »

ROWS(F$2:F2)*3 row เพิ่มขึ้น 1 ค่าเพิ่มขึ้น 3 เพราะข้อมูลมีชุดละ 3 แถว
ลบด้วย
MOD(4-COLUMNS($F2:F2),3) Mod( ,3) จะได้เลข 0,1,2 ไปเรื่อยๆ
เอา 4 ตั้งเพื่อให้เริมจาก 0,2,1,0 เมื่อเปลี่ยน column
3-0 = 3 คือเอา A ตัวที่ 3
3-2 = 1 คือเอา A ตัวที่ 1
3-1 = 2 คือเอา A ตัวที่ 2

ด้านบนคือเลข Row ของ Index

1+(COLUMNS($F2:F2)>1)
ได้ 1 ที่ column F
ได้ 2 ที่ Column G:I
ใช้เป็นเลข column ของ Index


&"" ให้ค่าว่างแสดงเป็น text ว่าง
ถ้าไม่ใส่เห็นเลข 0
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#12

Post by teerin »

ขอบพระคุณมากๆครับ อธิบายละเอียดมากๆ
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#13

Post by teerin »

ขออนุญาตถามเพิ่มครับ เนื่องจากข้อมูลจริง มีจำนวน column เพิ่มแล้วจะปรับสูตรตาม อ่านคำอธิบายแล้วแต่ก็ไม่ได้ผลครับ
teerin
Member
Member
Posts: 71
Joined: Thu Jan 03, 2019 2:51 pm
Excel Ver: 365

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#15

Post by teerin »

ข้อมูลที่ต้องการดึงคือที่ใส่สีไว้ครับ :D ขอถามเผื่อว่าถ้ามีชื่อซ้ำกันเป็น 4 หรือ 5 หรือ 6 จะปรับสูตรตรงไหนด้วยครับ ขอบพระคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#16

Post by Bo_ry »

AG2:AKxx
=IFERROR(INDEX($K:$K,TEXT(AGGREGATE(15,6,ROW($A$2:$A$99)/($A$1:$A$98<>$A$2:$A$99),ROWS(AG$2:AG2))-1+COLUMNS($AG2:AG2),"[<"&AGGREGATE(15,6,ROW($A$2:$A$99)/($A$1:$A$98<>$A$2:$A$99),ROWS(AG$2:AG2)+1)&"]0;")),"")

AM2:AQxx
=IFERROR(INDEX($P:$P,TEXT(AGGREGATE(15,6,ROW($N$2:$N$99)/($N$1:$N$98<>$N$2:$N$99),ROWS(AM$2:AM2))-1+COLUMNS($AM2:AM2),"[<"&AGGREGATE(15,6,ROW($N$2:$N$99)/($N$1:$N$98<>$N$2:$N$99),ROWS(AM$2:AM2)+1)&"]0;")),"")
You do not have the required permissions to view the files attached to this post.
Chawalit1980toto
Member
Member
Posts: 1
Joined: Sat May 25, 2019 10:25 pm

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#17

Post by Chawalit1980toto »

อยากทราบว่า กรณีใช้ร่วมกับสูตร Vlookup ต้องทำอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามวิธีดึงข้อมูลรหัสที่ต่อกันในแนวตั้ง มาวางในแนวนอนครับ

#18

Post by snasui »

:D ตัวอย่างสูตรครับ

เซลล์ B2 คีย์

=IFERROR(INDEX(database!$C:$C,AGGREGATE(15,6,ROW(database!$A$2:$A$166)/(database!$A$2:$A$166=$A2),COLUMNS($B2:B2))),"")

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