บทความนี้แสดงวิธีรวมเซลล์ด้วยสีฟอนต์ใน excel หากคุณมีเซลล์หลายเซลล์ที่มีสีฟอนต์ต่างกัน คุณอาจต้องการสิ่งนี้ ภาพต่อไปนี้เน้นจุดประสงค์ของบทความนี้ ดูอย่างรวดเร็วเพื่อเรียนรู้วิธีการทำ
คุณสามารถดาวน์โหลดสมุดแบบฝึกหัดได้จากปุ่มดาวน์โหลดด้านล่าง
2 วิธีที่มีประสิทธิภาพในการรวมตามสีแบบอักษรใน Excel
1. รวมตามสีแบบอักษรด้วย SUBTOTAL และตัวกรอง
สมมติว่าคุณมีชุดข้อมูลที่มีแบบอักษรหลากสีสันในคอลัมน์เดียวดังนี้ วิธีนี้อาจเป็นวิธีที่ดีที่สุดในการสรุปโดยใช้สีแบบอักษร ทำตามขั้นตอนด้านล่างเพื่อใช้วิธีนี้
📌 ขั้นตอน
- ขั้นแรก ป้อนสูตรต่อไปนี้ในเซลล์ C13 . 9 ในสูตรหมายถึง ฟังก์ชัน SUM . เปิดใช้งาน ฟังก์ชัน SUBTOTAL เพื่อคืนค่าผลรวมของช่วงที่ต้องการ
=SUBTOTAL(9,C5:C11)
- ตอนนี้เลือกที่ใดก็ได้ในชุดข้อมูล จากนั้นกด CTRL+SHIFT+L เพื่อใช้ ตัวกรอง บนชุดข้อมูล หลังจากนั้น คุณจะเห็นปุ่มตัวกรองที่มุมล่างขวาของเซลล์ส่วนหัวดังแสดงในภาพด้านล่าง
- ตอนนี้ กรองชุดข้อมูลตามสีที่ต้องการโดยใช้ปุ่มตัวกรองดังที่แสดงด้านล่าง
- จากนั้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
อ่านเพิ่มเติม: วิธีรวมเซลล์ที่กรองใน Excel (5 วิธีที่เหมาะสม)
การอ่านที่คล้ายกัน
- วิธีรวมเซลล์ที่เลือกใน Excel (4 วิธีง่ายๆ)
- ผลรวมที่จุดสิ้นสุดของคอลัมน์ใน Excel (8 วิธีที่มีประโยชน์)
- วิธีรวมคอลัมน์ใน Excel (7 วิธี)
- [แก้ไขแล้ว!] สูตร SUM ของ Excel ไม่ทำงานและส่งกลับ 0 (โซลูชัน 3 รายการ)
- วิธีรวมหลายแถวใน Excel (4 วิธีด่วน)
2. รวมตามสีแบบอักษรด้วยฟังก์ชันที่กำหนดโดยผู้ใช้ (UDF) ใน Excel
วิธีการก่อนหน้านี้จะไม่ทำงานหากคุณมีชุดข้อมูลดังต่อไปนี้ คุณสามารถใช้ ฟังก์ชันที่กำหนดโดยผู้ใช้ (UDF) แทนที่. ทำตามขั้นตอนด้านล่างเพื่อทำสิ่งนั้น
📌 ขั้นตอน
- ขั้นแรก บันทึกสมุดงานเป็น สมุดงานที่เปิดใช้งานมาโคร . ถัดไป กด ALT+F11 เพื่อเปิดหน้าต่าง VBA จากนั้นเลือก แทรก>> โมดูล ดังแสดงในภาพด้านล่าง สิ่งนี้จะสร้างโมดูลเปล่าใหม่
- หลังจากนั้น ให้คัดลอกโค้ดที่ให้ไว้ด้านล่าง
Function SUMBYFONTCOLOR(ref_color As Range, sum_range As Range)
Dim cell_color, sum_color As Long
Dim Cell As Range
Application.Volatile
sum_color = 0
cell_color = ref_color.Font.ColorIndex
For Each Cell In sum_range
If cell_color = Cell.Font.ColorIndex Then
sum_cell = WorksheetFunction.Sum(Cell, sum_cell)
End If
Next Cell
SUMBYFONTCOLOR = sum_cell
End Function
- ตอนนี้ ให้วางโค้ดที่คัดลอกมาลงในหน้าต่างโมดูลดังนี้
- หลังจากนั้น ไปที่เวิร์กชีตของคุณ จากนั้นเขียนชื่อสีที่ต้องการลงในเซลล์ I5:I9 . ถัดไป เปลี่ยนสีแบบอักษรตามนั้น
- ตอนนี้ ป้อนสูตรต่อไปนี้ในเซลล์ J5 . จากนั้น ใช้ไอคอนเติมจุดจับ เพื่อนำสูตรไปใช้กับเซลล์ด้านล่าง
=SUMBYFONTCOLOR(I5,$B$4:$G$9)
สุดท้ายจะได้ผลลัพธ์ตามนี้ค่ะ👇
ตอนนี้ ถ้าคุณเปลี่ยนสีฟอนต์ของเซลล์ใดๆ ภายในช่วง ผลลัพธ์จะไม่อัปเดต คุณต้องดับเบิลคลิกที่เซลล์แล้วคลิกออกไปเพื่อบังคับการคำนวณใหม่ หรือคุณสามารถกด CTRL+ALT+F9 เพื่อให้ได้ผลลัพธ์แบบเดียวกัน
- ตอนนี้ คัดลอกโค้ดต่อไปนี้หากคุณไม่ต้องการทำอย่างใดอย่างหนึ่ง
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
ActiveSheet.Calculate
End If
End Sub
- จากนั้น กลับไปที่หน้าต่าง VBA จากนั้นดับเบิลคลิกที่เวิร์กชีตชื่อ UDF . นี่จะเป็นการเปิดหน้าต่างเปล่า หลังจากนั้น ให้วางโค้ดที่คัดลอกมาลงในหน้าต่างดังภาพต่อไปนี้
ตอนนี้คุณสามารถเปลี่ยนสีแบบอักษรและคลิกเพื่ออัปเดตผลลัพธ์ได้
คำอธิบายโค้ด VBA
ฟังก์ชัน SUMBYFONTCOLOR(ref_color As Range, sum_range As Range)
ฟังก์ชันสาธารณะนี้จะใช้อาร์กิวเมนต์สองข้อ ref_color อาร์กิวเมนต์จะใช้สีแบบอักษรจากเซลล์อ้างอิง เราจะรวมค่าของเซลล์ตามสีแบบอักษรภายในช่วงที่อ้างอิงโดย sum_range อาร์กิวเมนต์
Dim cell_color, sum_color As Long
หรี่เซลล์เป็นช่วง
ประกาศตัวแปรที่จำเป็น
Application.Volatile
บรรทัดโค้ดนี้บังคับให้ excel คำนวณใหม่ทุกครั้งที่ผู้ใช้ทำการเปลี่ยนแปลง
sum_color =0
การกำหนดค่าเริ่มต้นสำหรับตัวแปร
cell_color =ref_color.Font.ColorIndex
cell_color ตัวแปรเก็บสีแบบอักษรของเซลล์ที่อ้างอิงโดย ref_color อาร์กิวเมนต์
สำหรับแต่ละเซลล์ใน sum_range
นี้ สำหรับลูป จะดำเนินการบรรทัดโค้ดถัดไปผ่านแต่ละเซลล์ภายในช่วงที่อ้างอิงโดย sum_range อาร์กิวเมนต์
ถ้า cell_color =Cell.Font.ColorIndex แล้ว
เฉพาะในกรณีที่สีแบบอักษรของเซลล์ภายใน sum_range ตรงกับสีแบบอักษรของเซลล์ที่อ้างอิงโดย ref_color อาร์กิวเมนต์ จากนั้นโค้ดบรรทัดถัดไปจะทำงาน
sum_cell =WorksheetFunction.Sum(เซลล์, sum_cell)
บรรทัดรหัสนี้เปิดใช้งาน ฟังก์ชัน SUM เพื่อเพิ่มค่าเซลล์ด้วยสีแบบอักษรที่ตรงกัน
SUMBYFONTCOLOR =sum_cell
บรรทัดรหัสนี้เก็บผลรวมเพื่อให้ฟังก์ชันสามารถคืนค่านี้ได้
แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
ขั้นตอนเรื่องส่วนตัวนี้จะใช้ได้ก็ต่อเมื่อมีการเปลี่ยนแปลงใดๆ เกิดขึ้นภายในแผ่นงานนั้นๆ
ถ้าไม่ตัดกัน(เป้าหมาย ช่วง("A:Z")) ก็ไม่มีอะไรเลย
บรรทัดโค้ดนี้ช่วยให้แน่ใจว่าโค้ดบรรทัดถัดไปจะทำงานก็ต่อเมื่อผู้ใช้ทำการเปลี่ยนแปลงใดๆ ภายในช่วงที่กำหนด (A:Z )
ActiveSheet.คำนวณ
ซึ่งจะบังคับให้มีการคำนวณสูตรใหม่ทั้งหมดภายในเวิร์กชีตที่ใช้งานอยู่เพื่อให้การเปลี่ยนแปลงได้รับการอัปเดต
อ่านเพิ่มเติม: วิธีรวมช่วงของเซลล์ในแถวโดยใช้ Excel VBA (6 วิธีง่ายๆ)
สิ่งที่ควรจำ
- อย่าลืมดับเบิลคลิกเซลล์แล้วคลิกออกไปเพื่อดูผลลัพธ์ที่อัปเดตหากคุณเปลี่ยนสีฟอนต์ หรือ คุณต้องกด CTRL+SHIFT+F9 เพื่อสิ่งนั้น
- คุณต้องคลิกออกไปภายในช่วงที่กำหนด (A:Z ) เพื่ออัปเดตผลลัพธ์หลังจากเปลี่ยนสีแบบอักษร
บทสรุป
ตอนนี้คุณรู้วิธีที่มีประสิทธิภาพที่สุด 2 วิธีในการรวมเซลล์ด้วยสีแบบอักษรใน excel โปรดแจ้งให้เราทราบหากบทความนี้ช่วยคุณแก้ปัญหาได้ คุณยังสามารถใช้ส่วนความคิดเห็นด้านล่างสำหรับข้อสงสัยหรือข้อเสนอแนะเพิ่มเติม ไปที่ ExcelDemy . ของเรา บล็อกเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ excel อยู่กับเราและเรียนรู้ต่อไป
บทความที่เกี่ยวข้อง
- วิธีรวมเซลล์สีใน Excel (4 วิธี)
- ผลรวมเซลล์ใน Excel:ต่อเนื่อง สุ่ม มีเกณฑ์ ฯลฯ
- วิธีรวมเซลล์สีใน Excel โดยไม่ต้องใช้ VBA (7 วิธี)
- เพิ่มตัวเลขใน Excel (2 วิธีง่ายๆ)
- วิธีการรวมหลายแถวและคอลัมน์ใน Excel