ฉันจะ“ จัดกลุ่มตาม” และรวมคอลัมน์ใน excel ได้อย่างไร


144

ฉันกำลังพยายามหาวิธี "จัดกลุ่มตาม" ค่าในกระดาษคำนวณของ Excel

รับตัวอย่างต่อไปนี้ (นี่คือแผ่นสินค้าคงคลังที่ฉันใช้ที่ร้านอาหารของฉัน :)

ตัวอย่างสเปรดชีต

ที่ด้านขวาสุดของสเปรดชีตจะมีคอลัมน์ชื่อต้นทุนขายสินค้า

ฉันต้องการที่จะเกิดขึ้นกับตัวเลข COGS รวมสำหรับแต่ละหมวดหมู่

เป็นไปได้ใน excel? นอกจากนี้ฉันต้องการทำในแผ่นงานแยกต่างหากเพื่อไม่ให้ได้รับผลกระทบจากแผ่นงานแรก (ภาพใด)

ความคิดใด ๆ

ขอบคุณ!

คำตอบ:


89

คุณลักษณะที่คุณต้องการที่จะใช้เป็นตาราง Pivot มันง่ายมากที่จะทำสิ่งที่คุณต้องการด้วยการคลิกเพียงไม่กี่ครั้งเมื่อคุณเรียนรู้วิธีใช้คุณลักษณะนั้น


50
นี่ไม่ได้ตอบคำถาม
ผู้ช่วยให้รอดเหล็ก

1
มีคำแนะนำพื้นฐานในคำตอบนี้stackoverflow.com/a/15838994/74585
Matthew Lock

1
เพียงเลื่อนดูคำตอบที่ชัดเจนและกระชับ: superuser.com/a/1204086/164123
Jordan Morris

58

คุณสามารถทำได้ด้วยคุณสมบัติผลรวมย่อย

  1. คลิกที่แท็บข้อมูลในแถบเครื่องมือ Ribbon ของ Excel
  2. คลิกปุ่มจัดเรียงและเรียงตามคอลัมน์หมวดหมู่ของคุณ
  3. คลิกที่ปุ่มผลรวมย่อยและกรอกข้อมูลในกล่องโต้ตอบตามความเหมาะสมจากนั้นคลิกตกลง

ตัวอย่างเช่น...

ในแต่ละการเปลี่ยนแปลงใน: หมวดหมู่

ใช้ฟังก์ชั่น: ผลรวม

เพิ่มผลรวมย่อยไปที่: ต้นทุนของสินค้าที่ขาย


3
ปุ่มผลรวมย่อยอยู่ที่ไหน? คุณสามารถเพิ่มภาพหน้าจอได้ไหม
แมทธิวล็อค

3
@MatthewLockดูaddintools.com/documents/excel/where-is-subtotal-button.html (และi.imgur.com/kkSa2AB.png ) โปรดทราบว่าปุ่มถูกปิดการใช้งานเมื่อใช้ตาราง
matt wilkie

15

ฉันสมมติว่าคุณกำลังมองหา COGS ทั้งหมดสำหรับบัญชีเช่นของชำเช่นสัปดาห์ที่ 1

sumifเป็นวิธีที่ง่ายที่สุดในการหาข้อมูลนั้น ตัวอย่างจากภาพของคุณ:

=sumif(d2:d?,"grocery",j2:j?)

ฉันได้วางเครื่องหมายคำถามไว้เนื่องจากฉันมองไม่เห็นทั้งแผ่น คุณจะเลือกทั้งคอลัมน์ D ที่คุณมีข้อมูลบัญชี D2 ถึง D?, เหมือนกันกับคอลัมน์การใช้รายสัปดาห์ J2 ถึง J?

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


นี่เป็นทางออกที่ยอดเยี่ยมและง่ายสุด ๆ Pivot Tables เติมเต็มทุกความต้องการเช่นนี้
T. Brian Jones

5

วิธีที่เล็กน้อยที่สุดอาจเป็นการดำเนินการเรียงของ Excel ตามด้วยการดำเนินการผลรวมย่อยของ Excel

มันให้สิ่งที่คุณต้องการโดยไม่ต้องเปลี่ยนเค้าโครงทั้งหมดของข้อมูลตามที่การดำเนินการ Pivot จะทำได้

การเรียงลำดับ

  • คลิกที่แท็บData (หรือกด Alt-A บนแป้นพิมพ์)
  • คลิกเรียงลำดับ (หรือกด S บนแป้นพิมพ์)
  • คลิกลูกศรแบบเลื่อนลงถัดจาก "เรียงลำดับตาม" ในพื้นที่หลักของหน้าต่างป๊อปอัป
  • เลือก "หมวดหมู่" เนื่องจากนี่คือสิ่งที่คุณต้องการจัดกลุ่มตาม
  • คลิกตกลง!

ไม่ทั้งหมด

  • คลิกที่แท็บData (หรือกด Alt-A บนแป้นพิมพ์)
  • คลิกที่ไอคอนผลรวมย่อย (หรือกด B บนแป้นพิมพ์)
  • ตอนนี้ข้อมูลของคุณถูกจัดเรียงแล้วอ่านและเติมป๊อปอัพผลรวมย่อยอย่างที่คุณกำลังอ่านภาษาอังกฤษตามธรรมชาติ :
           ในแต่ละครั้งที่มีการเปลี่ยนแปลง
              หมวดหมู่ (คลิกที่ลูกศรแบบหล่นลงและเลือกสิ่งนี้)
           ใช้ฟังก์ชั่น
              รวม (คลิกที่ลูกศรแบบหล่นลงและเลือกสิ่งนี้)
           เพิ่มผลรวมย่อยไปที่
              ต้นทุนขายดี (เลือกคอลัมน์ที่คุณต้องการรวมสำหรับแต่ละหมวดหมู่)

       Click OK!
    


  • 4

    ใน Excel 2013 จะมีตัวเลือก "จัดกลุ่ม"

    1. เลือกตารางของคุณ
    2. ไปที่แท็บข้อมูล
    3. คลิกโครงสร้าง> การจัดกลุ่ม

    ดูภาพหน้าจอด้านล่างขออภัยเป็นภาษาเยอรมัน - แต่ไอคอนจะช่วยให้คุณค้นหาได้

    Gliederung> Gruppieren


    4

    เมื่อต้องการทำสิ่งนี้ด้วยตารางเดือย :

    1) เลือกข้อมูลทั้งหมด (รวมถึงป้ายชื่อคอลัมน์)
    2) แทรก> PivotTable
    3) ลากมิติเพื่อจัดกลุ่มตามลงในคอลัมน์หรือพื้นที่แถว
    4) ลากตัวชี้วัดเพื่อรวมเข้าไปในพื้นที่ค่า

    ป้อนคำอธิบายรูปภาพที่นี่


    นี่ควรเป็นคำตอบที่ยอมรับ
    Jordan Morris

    1
    Excel v.16.28 มีData/ Summarize with PivotTableแทนที่จะเป็น "ส่วนแทรก"
    ปลาไหล geez

    1

    ฉันทำสิ่งนี้ตลอดเวลาด้วย vba ฉันค่อนข้างมั่นใจว่าฉันใช้วิธีเดียวกันตั้งแต่ office 95 'โดยมีการเปลี่ยนแปลงเล็กน้อยสำหรับการจัดวางคอลัมน์ มันสามารถทำได้โดยใช้บรรทัดน้อยลงหากคุณไม่ได้กำหนดตัวแปร สามารถทำได้เร็วขึ้นหากคุณมีหลายบรรทัดที่ต้องผ่านหรือมากกว่านั้นที่คุณต้องกำหนดกลุ่มด้วย

    ฉันพบสถานการณ์ที่ 'กลุ่ม' ใช้เซลล์ 2-5 เซลล์ ตัวอย่างนี้ดูที่หนึ่งคอลัมน์เท่านั้น แต่สามารถขยายได้อย่างง่ายดายถ้าใครใช้เวลาในการเล่น

    สิ่งนี้ถือว่า 3 คอลัมน์และคุณต้องเรียงลำดับตามคอลัมน์ group_values ก่อนที่คุณจะเรียกใช้แมโครให้เลือกเซลล์แรกที่คุณต้องการเปรียบเทียบในคอลัมน์ group_values

    'group_values, some_number, empty_columnToHoldSubtotals
    '(สิ่งที่ไปที่นี่)
    'คุกกี้ 1 ว่างเปล่า
    'คุกกี้ 3 ว่างเปล่า
    เค้ก 4 ที่ว่างเปล่า
    'หมวก 0 ว่าง
    'หมวก 3 ที่ว่างเปล่า
    ' ...
    'หยุด
    
    ผลรวมย่อย ()
      'กำหนดสองสายและตัวนับผลรวมย่อย
      ทำสิ่งนี้ให้เป็นหนึ่งเดียวนั่นคือ One As String
      ติ่มย่อยนับเป็นสองเท่า
    
      'เมล็ดค่า
      thisOne = ActiveCell.Value
      thatOne = ActiveCell.Offset (1, 0)
      subCount = 0
    
      'ตั้งค่าลูปที่จะไปจนกว่าจะถึงค่าหยุด
      ในขณะที่ (ActiveCell.Value <> "หยุด")
    
        เปรียบเทียบค่าเซลล์กับเซลล์ด้านล่าง
        ถ้า (thisOne = thatOne) จากนั้น
          'ถ้าเซลล์เท่ากันจำนวนบรรทัดจะถูกเพิ่มในจำนวนย่อย
          subCount = subCount + ActiveCell.Offset (0, 1) .Value
    
        อื่น
          'หากเซลล์ไม่เท่ากันจะมีการเขียนจำนวนย่อยและรีเซ็ตผลรวมย่อย
          ActiveCell.Offset (0, 2) .Value = ActiveCell.Offset (0, 1) .Value + subCount
          subCount = 0
    
        สิ้นสุดถ้า
    
        'เลือกเซลล์ถัดไปลง
        ActiveCell.Offset (1, 0) เลือก
    
        'กำหนดค่าของเซลล์ที่ใช้งานและค่าที่อยู่ด้านล่างให้กับตัวแปร
        thisOne = ActiveCell.Value
        thatOne = ActiveCell.Offset (1, 0)
      Wend
    
    ส่วนท้าย
    

    -2

    1) เลือกช่วงของข้อมูล
    2) ช่วงการคัดลอกไปยังคลิปบอร์ด
    3) เปิดการเข้าถึงฐานข้อมูลใหม่
    4) ออกแบบ Table หรือ Paste Range ใหม่
    5) สร้างมุมมอง, มุมมอง SQL
    6) สร้างแบบสอบถาม "เลือกเซลล์, SUM (ข้อมูล) รวมจากกลุ่มตารางตามเซลล์"


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