Page 1 of 1

เปลี่ยนรูปแบบตาราง

Posted: Wed Jan 04, 2017 7:30 pm
by 060090
สวัสดีครับ
จากไฟล์แนบต้องการให้เรียงตารางข้อมูลวันที่ซึ่งจากเดิมซ้ายไปขวา ให้เป็นแบบลงล่างต่อกันตามตัวอย่างครับ

รบกวนด้วยครับ

Re: เปลี่ยนรูปแบบตาราง

Posted: Wed Jan 04, 2017 10:23 pm
by DhitiBank
ลองแบบนี้ครับ ผมใช้วิธีสร้างคอลัมน์ช่วยและทำในชีทใหม่

1. สร้างชีทใหม่ ที่ชีทใหม่คีย์สูตรตามลำดับดังนี้
1.1 สร้างคอลัมน์ช่วย
>>>>>A4
=INDEX(Sheet3!$D$3:$F$3,ROWS(A$4:A4))

>>>>>B4
=COUNT(INDEX(Sheet3!$D$4:$F$18,0,MATCH(A4,Sheet3!$D$3:$F$3,0)))

>>>>>C4
=SUM(B$4:B4)-B4+1

แล้วคัดลอกสูตรทั้ง 3 ลงล่างจนเห็นว่าสูตรในคอลัมน์ A แสดง #REF!

>>>>>C2
=SUM(B:B)

1.2 สร้างตารางดึงข้อมูล
>>>>>I4
=IF(ROWS(I$4:I4)>$C$2,"",LOOKUP(ROWS(I$4:I4),$C$4:$C$6,$A$4:$A$6))
Enter

>>>>>H4
=IF($I4="","",INDEX(Sheet3!$D$4:$F$18,SMALL(IF(Sheet3!$C$4:$C$18=H$3,IF(INDEX(Sheet3!$D$4:$F$18,0,MATCH($I4,Sheet3!$D$3:$F$3,0))<>"",ROW(Sheet3!$C$4:$C$18)-ROW(Sheet3!$C$4)+1)),COUNTIF($I$4:$I4,$I4)),MATCH($I4,Sheet3!$D$3:$F$3,0)))
กด Ctrl+Shift+Enter >> คัดลอกไป G4

>>>>>F4
=IF($I4="","",INDEX(Sheet3!B$4:B$18,SMALL(IF(ISNUMBER(INDEX(Sheet3!$D$4:$F$18,0,MATCH($I4,Sheet3!$D$3:$F$3,0))),ROW(Sheet3!B$4:B$18)-ROW(Sheet3!B$4)+1),COUNTIF($I$4:$I4,$I4))))
กด Ctrl+Shift+Enter >> คัดลอกไป E4

คัดลอกสูตรใน 1.2 ทุกสูตรลงล่างจนเห็นว่าสูตรแสดงค่าว่าง (ที่ขีดเส้นใต้คือให้ปรับเอาตามข้อมูลจริงนะครับ)

Re: เปลี่ยนรูปแบบตาราง

Posted: Sat Jan 07, 2017 3:18 pm
by 060090
ทำได้แล้วครับ ติดปัญหาที่คอลัมน์ช่วยเพราะงานจริงมันดันเป็นตัวเลขเลยแก้สูตรนิดหน่อย ตอนนี่ใช้ได้ดีเลยครับ ขอบคุณมากครับ