: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

มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#1

Post by hanuaggie61 »

ไฟล์แนบจะเป็นบันทึกเวลาเข้า-ออกของรถส่งของที่ส่งงานในแต่ละวัน
โดยออกแบบไว้เป้นบรรทัดละข้อมูลตามปกติ
ใน 1 เที่ยว จะเป็น รับงาน 2 จุด / ส่งงาน 2 จุด / เอางานกลับมาคืน 2 จุด (ซึ่งบางเที่ยงอาจไม่ได้ครบทุกจุดก็ได้)

แต่ลูกค้าต้องการให้สรุปข้อมูลตามแบบเขา ซึ่งมันเป็น 2 บรรทัด
ทางผมจึงทำสรุปข้อมูลที่ต้องการนำไปแสดงผลไว้เป็นคอลัมภ์ตั้งแต่ AP เป็นต้นไป
เพื่อจะเอาไว้ดึงไปใส่ในตารางรูปแบบ 2 บรรทัดของเขา (ในที่นี้ คือ ชีทที่ชื่อ OT)

*** ของจริงจะต้องดึงสรุปเรียงทุกวันทั้งเดือน แต่ผมกลัวคนกรอกข้อมูลจะงงกันเพราะแต่ละวันจำนวนเที่ยวไม่เท่ากัน
เลยใช้เป็นการจะให้ดึงมาทีละวัน แล้วค่อย Copy ข้อมูลไปวางใส่ไฟล์ใหม่ต่างหากที่จะทำรอไว้ ***

Sheet OT ที่เป็นคำถาม
เบื้องต้นผมจะทำสูตรดึงของวันที่ 1 เป้นแบบให้เสร็จก่อน
แล้วค่อยมาแก้สูตรเป็น Indirect โดยเอาค่าชื่อชีทจากวันที่ที่คนกรอกข้อมูลต้องการจะให้ดึง

ได้ทำสูตรดึง = ตามปกติไปยังเซลล์ที่ต้องการของวันที่ 1 ไว้ โดยปัญหาที่เจอคือ
ด้วยความที่แปลงจากข้อมูล 1 บรรทัดมาเป็น 2 บรรทัด
พอจะ Copy ชุดข้อมูลแรก(2บรรทัด) เพื่อเอาสูตรไปใช้ในต่อ(ไม่ต้องพิมพ์ใหม่)
ซึ่งพอไปวางมันจะเป็นบรรทัดที่ 3 ทำให้สูตรลำดับแถวจากเดิมที่ควรจะเรียงรันอัตโนมัติ 1-2-3-4
มันเลยกลายเป็น 1-3-5-7 (ด้วยระบบของ Excel เอง ผมเข้าใจ)
1. ทีนี้ถ้าผมหากจะ Copy ทั้ง 2 บรรทัดไปวางโดยที่สูตรลำดับแถวไม่เปลี่ยนมีวิธีไหมครับ
เพราะวางแบบค่า ก็จะเป็นค่า 0
วางแบบสูตร ก็จะเป็นแบบข้างบน (รันแถวตามจริง)

2. นอกจากวิธีที่ผมทำ คำสั่ง Filter มันสามารถทำให้ดึงข้อมูล 1 แถว แต่มาแสดงทีละ 2 แถวได้ไหมครับ (ไม่น่าจะได้)
หรือมีวิธีอื่นอีกไหมครับ
Microsoft Office 365 ครับ
ด้วยทำแบบไว้แค่ 10 เที่ยว/วัน แต่หากข้อมูลเยอะกว่านี้จะทำสูตรลำบาก
(รวมถึงตอนแก้หากคนกรอกข้อมูลอยากได้รายละเอียดอื่นๆอีก เพราะในไฟล์ยังไม่ได้ใส่สูตร Indirect เข้าไป แค่ออกแบบรอไว้)


ได้มีแนบตัวอย่างไฟล์ให้เพื่อช่วยดูด้วยนะครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1726
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#2

Post by norkaz »

...

Sheet OT
ลบข้อมูล L3:Lxx ออกไป

L3
=LET(x,L3:L999,IF(SEQUENCE(ROWS(x))>COUNTA('01'!AQ5:AQ999)*2,"",INDEX('01'!AQ5:AR999,INT(SEQUENCE(ROWS(x),,2)/2),MOD(SEQUENCE(ROWS(x),,2),2)+1)))

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ**

Norkaz
You do not have the required permissions to view the files attached to this post.
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#3

Post by hanuaggie61 »

norkaz wrote: Wed Jul 12, 2023 2:14 pm ...

Sheet OT
ลบข้อมูล L3:Lxx ออกไป

L3
=LET(x,L3:L999,IF(SEQUENCE(ROWS(x))>COUNTA('01'!AQ5:AQ999)*2,"",INDEX('01'!AQ5:AR999,INT(SEQUENCE(ROWS(x),,2)/2),MOD(SEQUENCE(ROWS(x),,2),2)+1)))

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ**

Norkaz
เยี่ยมเลยครับ ขอบคุณมากๆครับ
ต้องศึกษาเรื่อง Let เพิ่มเติมซะแล้ว แต่ก่อนไม่ได้เห็นว่าจะเอาไปใช้ได้แบบไหน
OT3.jpg
ขอสอบถามเพิ่มเติมครับ
1. กรณีนี้ถ้าผมทำข้อมูล Cell M3 ให้ไปอยู่ในชีทตารางรายวันได้
คอลัมภ์ M ทั้งหมด ผมก็ตามคล้ายๆ ตัวอย่างคอลัมภ์ L ได้เลยใช่ไหมครับ

2. ผมออกแบบให้ดึงตามวันที่ที่เตรียมไว้ที่ Cell A3 สูตรดังกล่าว ตรงส่วนที่อ้างอิงชื่อ Sheet ผมสามารถเพิ่มคำสั่ง Indirect เข้าไปได้ไหมครับ เพื่อให้สูตรเปลี่ยนชีทดึงตามวันที่ที่กรอกไป
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1726
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#4

Post by norkaz »

...

ลองนำไปปรับดูก่อนครับ ติดตรงไหน ส่งไฟล์ + คำถาม + ตัวอย่างคำตอบ
ส่วนไหนที่ไม่เกี่ยวข้องกับ คำถาม หรือ เกี่ยวข้องกับโจทย์ ให้ตัดทิ้งไป

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ**

Norkaz
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#5

Post by hanuaggie61 »

ครับผมเดี่ยวไปลองปรับใช้ดูนะครับ
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#6

Post by hanuaggie61 »

norkaz wrote: Wed Jul 12, 2023 4:03 pm ...

ลองนำไปปรับดูก่อนครับ ติดตรงไหน ส่งไฟล์ + คำถาม + ตัวอย่างคำตอบ
ส่วนไหนที่ไม่เกี่ยวข้องกับ คำถาม หรือ เกี่ยวข้องกับโจทย์ ให้ตัดทิ้งไป

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ**

Norkaz


ได้ลองปรับตารางข้อมูลและปรับสูตรใหม่เพื่อให้ชีท OT ดึงเวลามาได้เลยทั้งเข้าและออก สามารถทำได้แล้ว
แต่ทีนี้ถ้าผมต้องการดึงข้อมูลเฉพาะรายการที่มี OT มาแสดงเท่านั้น (คอลัมภ์ AN ของชีท 01)
แต่ผมพยายามหาวิธีดึงมาแสดงแล้ว ยังทำไม่ได้(ไม่ค่อยคุ้นเรื่องการแยก 2 บรรทัด)
ผมแนวทางในการดึงหน่อยได้ไหมครับ

ตัวอย่างตามไฟล์แนบครับ
OT1.jpg
OT2.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1726
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#7

Post by norkaz »

...


จากไฟล์ Excel ที่ท่านเจ้าของคำถาม สอบถามมา

1. คอลัมน์ใดที่ยังไม่ถูกต้อง

2. แล้วที่ถูกต้อง ตัวอย่าง คำตอบ ควรเป็นเท่าใด

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ**

Norkaz
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#8

Post by hanuaggie61 »

จากไฟล์ Excel ที่ท่านเจ้าของคำถาม สอบถามมา

1. คอลัมน์ใดที่ยังไม่ถูกต้อง
2. แล้วที่ถูกต้อง ตัวอย่าง คำตอบ ควรเป็นเท่าใด

Sheet OT นอกจากดึงข้อมูล 1 บรรทัดมาแสดง 2 บรรทัดแล้ว
ผมต้องการดึงเฉพาะแถวที่มี OT มาแสดง (แถวที่ไม่มี OT ไม่ต้องดึงมาแสดงครับ)
OT4.jpg

โดยผลลัพธ์ที่ต้องการใน Sheet OT จะเป็นตามรูปนี้ครับ (ซึ่งมีแค่ 2 รายการ)
OT5.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1726
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#9

Post by norkaz »

...

ต้องขออภัยที่ผมถามไม่ละเอียด ผมขอถามใหม่นะครับ

จากไฟล์ Excel ที่ท่านเจ้าของคำถาม สอบถามมา

1. คอลัมน์ใดที่ยังไม่ถูกต้อง

2. แล้วที่ถูกต้อง ตัวอย่าง คำตอบ ควรเป็นเท่าใด

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ**

Norkaz
User avatar
norkaz
Gold
Gold
Posts: 1726
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#10

Post by norkaz »

...

ไม่ค่อยเข้าใจที่สอบถามมา ว่าต้องการให้เขียนสูตร ที่คอลัมน์ใด

สีที่ระบายมาในไฟล์ เยอะไปหมด ไม่แน่ใจว่าต้อง โฟกัส เล็งไปที่ใด

คราวก่อนเขียนไป ที่คอลัมน์ L

ขอเขียนที่เดิมครับ ....


L3:Mxx
ลบทุกอย่างออกไปก่อน

L3

=IFERROR(LET(r,L3:L999,n,SEQUENCE(ROWS(r),,2)/2,d,INDIRECT("'"&A3&"'!AQ5:AT999"),e,INDIRECT("'"&A3&"'!AN5:AN999"),HSTACK(INDEX(FILTER(d,e="OT"),INT(n),IF(MOD(SEQUENCE(ROWS(r)),2),1,3)),INDEX(FILTER(d,e="OT"),INT(n),IF(MOD(SEQUENCE(ROWS(r)),2),2,4)))),"")

หากยังไม่ใช่ รบกวนสอบถามเข้ามาใหม่ครับ

***สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ***

Norkaz
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: มีข้อมูลเป็นแบบแถวเดียว แต่ต้องการดึงไปแสดงค่าในตารางใหม่แบบ 2 บรรทัด

#11

Post by hanuaggie61 »

norkaz wrote: Sun Jul 16, 2023 1:13 am
L3:Mxx
ลบทุกอย่างออกไปก่อน

L3

=IFERROR(LET(r,L3:L999,n,SEQUENCE(ROWS(r),,2)/2,d,INDIRECT("'"&A3&"'!AQ5:AT999"),e,INDIRECT("'"&A3&"'!AN5:AN999"),HSTACK(INDEX(FILTER(d,e="OT"),INT(n),IF(MOD(SEQUENCE(ROWS(r)),2),1,3)),INDEX(FILTER(d,e="OT"),INT(n),IF(MOD(SEQUENCE(ROWS(r)),2),2,4)))),"")

หากยังไม่ใช่ รบกวนสอบถามเข้ามาใหม่ครับ

***สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ***

Norkaz
OT7.jpg
:cp: สูตรดังกล่าวใช้ได้เลยครับ ตรงตามที่ต้องการ (และขอบคุณที่ใส่ Indirect มาให้ด้วยนะครับ)
ส่วนข้อมูลคอลัมภ์อื่นเดี๋ยวผมศึกษาต่อครับ จากฟังก์ชั่นด้านบน ต่อไปครับ
(เพราะมันจะต้องดึงทั้งแถว แต่ข้อมูลยังไม่ได้ทำเตรียมไว้)

ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
Post Reply