Excel: วิธีแยกกลุ่มแถวเดียวกันและค่าลงในคอลัมน์ได้อย่างไร


1

ฉันจะแยกตารางที่สองจากตารางแรกได้อย่างไร ฉันต้องการแยกชื่อที่มีค่าใช้จ่ายสามอย่าง (ในตัวอย่างต่อไปนี้: f1 และ f3) ฉันพยายามใช้ตารางสาระสำคัญ แต่ไม่สามารถสร้างตารางที่สองได้ คำแนะนำใด ๆ ที่จะได้รับการชื่นชม!

สกรีนช็อตแสดงผลลัพธ์ที่ต้องการ

ปรับปรุง: ฉันขอขอบคุณที่ไมค์ฮันนี่เสนอทางออก อย่างไรก็ตามเนื่องจากฉันไม่คุ้นเคยกับภาษา Power Query เลยฉันกำลังมองหาโซลูชันที่ไม่ใช้ Add-in เพิ่มเติม

มีความคล้ายคลึงกันโดยทั่วไประหว่างปัญหานี้กับ: Excel 2007 transpose / รวมหลายแถวเข้าด้วยกัน วิธีการรวมค่าจากหลายแถวเข้าด้วยกันเป็นแถวเดียวใน Excel ; และExcel 2010 ย้ายข้อมูลจากที่หลายคอลัมน์แถวต่อแถวเดียว อย่างไรก็ตามปัญหานี้แตกต่างกันไปตามข้อกำหนดที่ไม่ได้เป็นเพียงการโอนย้ายและรวบรวมข้อมูล แต่จะทำเฉพาะกับชื่อเหล่านั้นที่มีค่าใช้จ่ายสามประการเท่านั้น


คุณเคยลองใช้ตารางสาระสำคัญหรือไม่? โดยวิธีการที่คุณจะต้องมีคอลัมน์พิเศษหนึ่งคอลัมน์บอก excel ซึ่งค่าใช้จ่าย (cost1, cost2 ... ) แถวที่เฉพาะเจาะจงมี
tumchaaditya


ตัวอย่างเหล่านั้นแตกต่างจากข้อกำหนดนี้เล็กน้อย ข้อกำหนดที่นี่ไม่ได้เป็นเพียงการโอนย้ายและรวบรวมข้อมูล แต่จะทำเฉพาะในกรณีที่มีค่าใช้จ่ายสามประการเท่านั้น
fixer1234

คำถามนี้ถูกวางเมื่อสามเดือนที่ผ่านมาและคำตอบเดียวไม่ได้รับการยอมรับหรือเพิ่มขึ้น คุณยังต้องการโซลูชันหรือมีเหตุการณ์มากเกินไปและคุณไม่ต้องการแก้ไขอีกต่อไปหรือคำตอบของไมค์ฮันนี่แก้ปัญหาได้หรือไม่? โปรดอัปเดตสถานะเพื่อให้คนอื่นรู้ว่าจะทำงานกับวิธีแก้ปัญหาสำหรับคุณหรือไม่ หากคำตอบไม่สามารถแก้ปัญหาได้ให้ชี้แจงว่าเพราะอะไรซึ่งจะเป็นแนวทาง
fixer1234

1
@ MikeHoney ฉันขอโทษ Mike ฉันไม่ได้ตั้งใจจะยกเลิกคำตอบของคุณและเกือบลืมไปแล้ว ฉันดาวน์โหลดต้นแบบของคุณและเรียนรู้จากมันมากมาย ฉันซาบซึ้งกับเพื่อนช่วยเหลือของคุณ
Meysam

คำตอบ:


2

ฉันจะแก้ไขปัญหานี้ด้วย Power Query Add-In ใช้เวลาไม่กี่ก้าวในการไปที่นั่นและการเขียนโค้ดในภาษา Power Query (M) เพื่อสร้าง "จำนวนการรัน" ที่จำเป็นในการรับส่วนหัวคอลัมน์ "cost1 / 2/3" และรหัส M เพิ่มเติมเพื่อเรียกตาราง ฟังก์ชัน. Pivot (ไม่ปรากฏใน Power Query UI)

ฉันได้สร้างเครื่องต้นแบบที่คุณสามารถดูหรือดาวน์โหลดได้ - "การสาธิต Power Query - Pivot แถวในคอลัมน์ด้วย Running Count.xlsx" ใน One Drive ของฉัน:

https://onedrive.live.com/redir?resid=4FA287BBC10EC562%21398

โดยทั่วไปเทคนิคของฉันคือการเพิ่มคอลัมน์จากการคำนวณเพื่อรับ "ชื่อเรื่องค่าใช้จ่าย" เช่น cost1 / 2/3 เพื่อให้ได้สิ่งนี้ฉันต้องเขียนฟังก์ชั่น "Running Count" เพื่อส่งกลับดัชนีที่รีเซ็ตสำหรับแต่ละกลุ่ม (ชื่อเรื่อง)

ฉันได้รับโครงร่างของฟังก์ชั่น "การนับจำนวน" จากโพสต์บล็อกนี้ - ภายใต้ "ยอดขายปีต่อวัน":

http://cwebbbi.wordpress.com/2013/10/18/implementing-common-calculations-in-power-query/

จากนั้นฉันใช้ฟังก์ชัน Table.Pivot เพื่อสร้างคอลัมน์สำหรับแต่ละค่าที่ไม่ซ้ำกันในคอลัมน์ปลายทาง

เอกสารสำหรับ Table.Pivot อยู่ที่นี่:

http://office.microsoft.com/en-au/excel-help/table-pivot-HA104111995.aspx?CTT=5&origin=HA104122363

อีกตัวอย่างของการใช้ Table.Pivot อยู่ที่นี่:

http://cwebbbi.wordpress.com/2013/11/25/pivoting-data-in-power-query/

ในที่สุดฉันก็กรองแถวออกโดยไม่มีค่าใช้จ่าย 3


ฉันได้อัปเดตการสาธิตโดยใช้คำสั่ง Pivot ซึ่งได้รับการเพิ่มใน Power Query UI ปัจจุบัน
Mike Honey
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.