Page 1 of 1

รบกวนขอสูตรย้ายข้อมูลในแนวตั้งไปวางในแนวนอน

Posted: Sat Jun 03, 2017 9:54 am
by acmomiza
เรียนถามอาจารย์และผู้รู้ทุกท่านครับ

ผมมีตัวอย่างสินค้าอยู่ 3 รายการ โดยแต่ละรายการก็จะมีเม็ดพลาสติกและน้ำหนักเป็นส่วนประกอบของชิ้นงานอยู่ 2-3 ชนิด (เรียงจากบนลงล่าง)
ความต้องการของผมคือ อยากให้ยุบเหลือสินค้ารายการละ 1 บรรทัดเพื่อให้ง่ายต่อการทำงาน โดยให้เม็ดพลาสติกและน้ำหนักเรียงไปทางแนวนอน (ซ้ายไปขวา) เพื่อคำนวณหาจำนวนการใช้เม็ดว่าใช้ไปแล้วกี่ตัน และสุดท้ายทำการกรองชื่อเม็ดพลาสติกที่ซ้ำกันออกให้เหลือชื่อเดียว เพื่อหาผลรวมของเม็ดพลาสติกแต่ละชนิดครับ

พร้อมกันนี้ผมได้แนบไฟล์ตัวอย่างมาประกอบเพื่อให้เข้าใจง่ายขึ้นครับ

ขอบคุณมากครับ

Re: รบกวนขอสูตรย้ายข้อมูลในแนวตั้งไปวางในแนวนอน

Posted: Sat Jun 03, 2017 10:21 am
by snasui
:D ตัวอย่างสูตรครับ
  1. I3 คีย์สูตร
    =IFERROR(INDEX(A$2:A$8,SMALL(IF(FREQUENCY(MATCH($A$2:$A$8,$A$2:$A$8,0),ROW($A$2:$A$8)-ROW($A$2)+1),ROW($A$2:$A$8)-ROW($A$2)+1),ROWS(F$3:F3))),"")
    Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง ปรับใช้กับคอลัมน์ใด ๆ โดยเปลี่ยนที่ช่วงข้อมูลในฟังก์ชั่น Index
  2. N3 คีย์สูตร
    =IFERROR(INDEX($E$2:$E$8,SMALL(IF($A$2:$A$8=$I3,ROW($A$2:$A$8)-ROW($A$2)+1),COUNTIF($N$2:N$2,"resin*"))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง Code ไปยังคอลัมน์ที่เกี่ยวข้อง
  3. O3 คีย์สูตร
    =SUMIFS($G$2:$G$8,$A$2:$A$8,$I3,$E$2:$E$8,N3)
    Enter> Copy ลงด้านล่าง Code ไปยังคอลัมน์ที่เกี่ยวข้อง
    Enter

Re: รบกวนขอสูตรย้ายข้อมูลในแนวตั้งไปวางในแนวนอน

Posted: Sat Jun 03, 2017 11:21 am
by acmomiza
สวัสดีครับอาจารย์

ผมนำสูตรไปใช้แล้วพบว่ายังมีบางจุดที่ผลลัพธ์แสดงไม่ถูกต้อง เช่นที่เซล R5 กับ U5 ครับ
และอยากรบกวนขอสูตรรวมผลที่ช่อง L5 ถึง L12 อาจารย์อีกครั้งครับ

ขอบคุณครับ

Re: รบกวนขอสูตรย้ายข้อมูลในแนวตั้งไปวางในแนวนอน

Posted: Sat Jun 03, 2017 11:32 am
by snasui
:D ตัวอย่างสูตรที่ เซลล์ L8 ครับ

=SUMPRODUCT(--($E$2:$E$8=K8),$F$2:$F$8,$G$2:$G$8)/1000

สำหรับ R5 กับ U5 ถ้าพิจารณาจากข้อมูลต้นทางจะแยกความแตกต่างกันอย่างไรครับ :?:

หากแยกกันไม่ได้ใช้สูตร Lookup แบบเดิมครับ โดย O3 ปรับสูตรเป็น

=IFERROR(INDEX($F$2:$F$8,SMALL(IF($A$2:$A$8=$I3,ROW($A$2:$A$8)-ROW($A$2)+1),COUNTIF($N$2:O$2,"resin*"))),"")

Ctrl+Shift+Enter > Copy ไปใช้กับคอลัมน์ที่ต้องการผลลัพธ์ลักษณะเดียวกัน

Re: รบกวนขอสูตรย้ายข้อมูลในแนวตั้งไปวางในแนวนอน

Posted: Sat Jun 03, 2017 12:41 pm
by acmomiza
ขอบคุณอีกคร้ังครับอาจารย์
อันที่จริงในงานที่ทำบางรายการจะมีรหัสสินค้าและชื่อสินค้าจะเหมือนกันทุกอย่าง แต่ต่างกันที่น้ำหนัก เช่น ฝาชิ้นน้ันเป็นส่วนประกอบชิ้นเล็กๆ ชิ้นหนึ่งแต่ใช้เม็ดพลาสติกชนิดเดียวกัน สรุปแล้วผมนำสูตรชุดนี้ได้ไปใช้แล้วได้ผลตรงตามที่ต้องการเลยครับ
=IFERROR(INDEX($F$2:$F$8,SMALL(IF($A$2:$A$8=$I3,ROW($A$2:$A$8)-ROW($A$2)+1),COUNTIF($N$2:O$2,"resin*"))),"")