Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

9 ข้อผิดพลาดฟังก์ชัน Excel ที่พบบ่อย—และวิธีแก้ไข

Excel มีฟังก์ชันทรงพลังหลากหลาย แตแม้จะใช้บ่อย ข้อผิดพลาดทั่วไปมักมาจากรายละเอียดเล็กๆ: ใช้ match mode ผิด เปรียบเทียบข้อความที่จัดรูปแบบแล้วแทนค่า หรือสมมติว่าการจัดรูปแบบเซลล์ก็ปัดเศษตัวเลขที่เก็บอยู่

ในบทช่วยสอนนี้ เราจะอภิปราย 9 ฟังก์ชัน Excel ที่ใช้บ่อยแต่ใช้ผิดบ่อย และแสดงวิธีแก้ไข

1. VLOOKUP – หยุดใช้มันสำหรับทุกอย่าง

วิธีผิด: ผู้ใช้หลายคนพึ่ง VLOOKUP สำหรับทุกอย่าง แม้ฟังก์ชันอื่นจะเหมาะสมกว่า VLOOKUP ค้นหาได้แค่ขวา ต้องการข้อมูลจัดเรียงสำหรับ approximate match และพังได้เวลาแทรกคอลัมน์ในข้อมูลต้นทาง โดยค่าเริ่มต้น VLOOKUP ใช้ approximate match (TRUE) ซึ่งต้องการคอลัมน์แรกจัดเรียงแล้ว และมักคืนรายการผิดถ้าข้อมูลไม่ได้จัดเรียงถูกต้อง

แก้: ใช้ XLOOKUP ด้วย exact match ใน Microsoft 365 หรือ INDEX+MATCH ถ้าคุณอยู่บน Excel รุ่นเก่า

ใช้ INDEX/MATCH เพื่อความยืดหยุ่น:

  • เลือกเซลล์และใส่สูตรต่อไปนี้เพื่อ lookup ราคาของสินค้าตัวหนึ่ง
=INDEX(G2:G101, MATCH(L3, E2:E101, 0))

นี่จัดการ "left lookups" ได้ด้วยการเลือก return column ใดก็ได้ภายใน INDEX

สำหรับผู้ใช้ Excel 365 พิจารณา XLOOKUP:

  • เลือกเซลล์และใส่สูตรต่อไปนี้
=XLOOKUP(L3, E2:E101, G2:G101, "Not found", 0)

0 บังคับ exact match และอาร์กิวเมนต์ที่สี่ให้ข้อความ "not found" ที่เป็นมิตร

  • ทำงานในทิศทางใดก็ได้ (ซ้ายหรือขวา)
  • ไม่พังเมื่อแทรกคอลัมน์
  • มีประสิทธิภาพมากกว่าสำหรับข้อมูลใหญ่
  • ตรรกะชัดเจนกว่า

2. SUMIF/SUMIFS – เขียน Criteria ผิด

วิธีผิด: เขียน operator โดยตรงใน criteria string (เช่น ">=2025-03-01" เป็นข้อความธรรมดา) แทนการ concatenate สลับ criteria_range และ sum_range หรือใช้ whole column references เช่น A:A ซึ่งช้าลง

แก้: รักษา ranges ให้ aligned และสร้าง operator criteria โดย concatenation ใช้ DATE/EOMONTH สำหรับ date filters ที่ robust

  • ใช้ ranges เฉพาะที่มีข้อมูลจริง เร็วกว่าและแม่นยำกว่า
=SUMIF(D2:D101,"East",H2:H101)
  • Total March 2025 sales สำหรับ West region:
=SUMIFS(
    H2:H101,
    D2:D101, "West",
    A2:A101, ">=" & DATE(2025,3,1),
    A2:A101, "<=" & EOMONTH(DATE(2025,3,1),0)
)

นี่หลีกเลี่ยง locale surprises และปัญหา text-date ตรวจสอบให้แน่ใจว่า sum_range และ criteria_range แต่ละตัวมีขนาดเท่ากัน

Pro tip: ใช้ Excel Tables และ structured references สำหรับการขยาย range อัตโนมัติ

3. IF Statements – Nested Nightmare

วิธีผิด: เปรียบเทียบ boolean function กับ TRUE อย่างไม่จำเป็น (เช่น =IF(AND(E4=”Y”,F4=”Y”)=TRUE, …)) หรือสร้าง Nested IF statements ลึกสำหรับ category maps 単純 ซึ่งอ่านยากและบำรุงรักษายาก

แก้: ให้ AND/OR คืนค่า boolean โดยตรง สำหรับหลายเงื่อนไข ใช้ IFS, CHOOSE/MATCH, หรือ SWITCH สำหรับสูตรที่สะอาดและจัดการได้ง่ายกว่า

  • Boolean test ที่สะอาด:
=IF(AND(D2="East", F2>=3), "Bulk East", "Other")
  • Multi-condition score ใช้ IFS:
=IFS(F2:F101>=5, "High", F2:F101>=2, "Medium", TRUE, "Low")
  • Category map สะอาดด้วย CHOOSE/MATCH (เช่น แปลงเกรดตัวอักษรใน J2 เป็น GPA points):
=CHOOSE(MATCH(J2, {"A","B","C","D","F"}, 0), 4,3,2,1,0)

นี่เรียบง่ายและน้อยข้อผิดพลาดกว่า IF pyramids ลึก

4. CONCATENATE – วิธีเก่าที่ล้าสมัย

วิธีผิด: ยังใช้ฟังก์ชัน CONCATENATE ที่ล้าสมัย หรือเชื่อมหลาย ampersands สำหรับการ join ข้อความซับซ้อน ซึ่งอาจลำบากและพลาดได้ง่าย

แก้: ใช้ TEXTJOIN ใน Excel รุ่นใหม่ มัน join หลายค่าด้วย delimiter ที่ระบุได้อย่างมีประสิทธิภาพ

  • ใช้ TEXTJOIN สำหรับหลายค่าพร้อม delimiters:
=IF(L2="","", TEXTJOIN(", ", TRUE, FILTER(E$2:E$101, C$2:C$101=L2)))

ใช้ & operator สำหรับ concatenation 単純 แต่ TEXTJOIN ส่องสว่างเมื่อคุณต้องการ:

  • ข้าม blank cells อัตโนมัติ
  • ใช้ delimiter เดียวกันตลอด
  • join ช่วงของเซลล์

5. COUNTIF – ละเลยประสิทธิภาพ Multiple Criteria

วิธีผิด: ใช้ COUNTIF ด้วย literal operators แทน concatenation คาดหวังผลลัพธ์ case-sensitive ผิด หรือลืมว่า wildcards ต้องอยู่ใน quotes อีกข้อผิดพลาดทั่วไปคือรวม COUNTIF หลายตัวแทนที่จะใช้ COUNTIFS ที่มีประสิทธิภาพกว่าสำหรับหลายเกณฑ์

แก้: Concatenate operators ให้ถูกต้อง เมื่อคุณต้องการ case sensitivity หรือ "contains" logic ที่ซับซ้อน ให้เปลี่ยนไปใช้ SUMPRODUCT หรือ FILTER

  • นับรหัสที่ขึ้นต้นด้วย US-E:
=COUNTIF(J2:J101, "US-E*")
  • นับคำสั่งซื้อที่สินค้ามีคำว่า "phone" (case-insensitive):
=SUMPRODUCT(--ISNUMBER(SEARCH("phone", E2:E101)))

ถ้าคุณต้องการ "contains" case-sensitive ให้แทน SEARCH ด้วย FIND

6. ROUND – ปัดเศษในเวลาผิด

วิธีผิด: สมมติว่าการจัดรูปแบบเซลล์เป็นทศนิยมสองตำแหน่งก็ปัดเศษค่าที่เก็บอยู่ในคำนวณด้วย การจัดรูปแบบเปลี่ยนแค่ลักษณะที่มองเห็น ไม่ใช่ค่าที่เก็บ ซึ่งนำไปสู่ความไม่สอดคล้องในยอดรวม

แก้: ปัดเศษที่ขั้นตอนที่กฎทางธุรกิจกำหนด ใช้ ROUND, ROUNDUP, ROUNDDOWN, หรือ MROUND สำหรับ increments

  • Line amount ที่ปัดแล้ว:
=ROUND(F2:F101*G2:G101, 2)
  • ปัดเป็น 0.05 ใกล้เคียงที่สุด (พบบ่อยในราคาเงินสด):

9 ข้อผิดพลาดฟังก์ชัน Excel ที่พบบ่อย—และวิธีแก้ไข

หลักการสำคัญ: ปัดผลลัพธ์สำหรับการแสดง แต่รักษาความแม่นยำในคำนวณระหว่างทาง เว้นแต่จะมีข้อกำหนดเฉพาะ

7. TEXT และ Date Formatting ใช้ในคำนวณ

วิธีผิด: แปลงค่าเป็นข้อความเพื่อแสดง แล้วพยายามใช้ผลลัพธ์ข้อความนั้นในคำนวณทางคณิตศาสตร์ หรือเปรียบเทียบ formatted date string กับ true date value บ่อยครั้งเกี่ยวกับการจัดการวันที่เป็นข้อความและใช้ text manipulation ซับซ้อนแทน date functions ที่มีอยู่

แก้: คำนวณบนค่าตัวเลขดิบ ใช้ TEXT function เฉพาะขั้นตอนนำเสนอสุดท้าย เช่น สำหรับ chart titles หรือ report labels

  • ใช้ date functions ที่เหมาะสมกับค่า date จริง:
=YEAR(A1)
=MONTH(A1)
=DAY(A1)
  • Dashboard title ที่แสดงเดือนและยอดรวมโดยไม่ทำลายตัวเลข:
="March " & YEAR(DATE(2025,3,1)) & " Sales: " & TEXT(SUMIFS(H$2:H$101, A$2:A$101, ">="&DATE(2025,3,1), A$2:A$101, "<="&EOMONTH(DATE(2025,3,1),0)),"$#,##0")
  • Month filter ที่ robust ใช้ dates (ไม่ต้อง TEXT):
=SUMIFS(H$2:H$101, D$2:D$101, "East", A$2:A$101, ">="&DATE(2025,3,1), A$2:A$101, "<="&EOMONTH(DATE(2025,3,1),0))

8. SUMPRODUCT – ลืม Coercion หรือเมื่อ FILTER ชัดเจนกว่า

วิธีผิด: ลืม coerce boolean (TRUE/FALSE) arrays เป็นตัวเลข (1/0) หรือสร้าง arrays ขนาดไม่ตรงกัน ในทางกลับกัน ใช้ SUMPRODUCT สูตรซับซ้อนเมื่อ SUM(FILTER(…)) แบบง่ายใน Excel สมัยใหม่จะอ่านง่ายกว่า

แก้: ใช้ double-unary — หรือคูณ 1 เพื่อบังคับ TRUE/FALSE เป็น 1/0 ใน Microsoft 365 ชอบ pattern SUM และ FILTER ที่โปร่งใสสำหรับ multi-criteria sums

  • Total sales สำหรับ East region, สินค้าที่มี "phone", และ quantity อย่างน้อย 3 (legacy-friendly):
=SUMPRODUCT((D$2:D$101="East") * ISNUMBER(SEARCH("phone", E$2:E$101)) * (F$2:F$101>=3) * H$2:H$101)
  • ตรรกะเดียวกันเป็น dynamic arrays (365/2021):
=SUM(FILTER(H$2:H$101, (D$2:D$101="East")*(ISNUMBER(SEARCH("phone", E$2:E$101)))*(F$2:F$101>=3)) )

ด้วย FILTER เกณฑ์คูณกันเป็น 1/0 gates และผลลัพธ์อ่านง่าย

9. IFERROR ใช้เป็น Blanket Band-aid

วิธีผิด: Wrap สูตรใหญ่ซับซ้อนใน IFERROR(…,"") เพื่อซ่อน error ทั้งหมด นี่อันตรายเพราะอาจซ่อนปัญหาจริง เช่น ชื่อ range ผิด #DIV/0! จริง หรือ logical flaws อื่นๆ ที่คุณควรทราบ

แก้: Catch เฉพาะ error ที่คุณคาดการณ์ ใช้ IFNA สำหรับ lookup functions เมื่อไม่พบค่า และใช้ IF statements จัดการ blank cells ก่อนคำนวณ

  • แสดง blank ถ้า lookup key ว่าง มิฉะนั้นแสดง "not-found" เป็นมิตรเฉพาะเมื่อมันหายไปจริง:
=IF(L2="","", IFNA(XLOOKUP(L2, E$2:E$101, G$2:G$101),"No match"))

Blank:

9 ข้อผิดพลาดฟังก์ชัน Excel ที่พบบ่อย—และวิธีแก้ไข

No Match:

9 ข้อผิดพลาดฟังก์ชัน Excel ที่พบบ่อย—และวิธีแก้ไข

  • แปลงข้อความเป็นตัวเลขเฉพาะเมื่อมีสิ่งที่จะแปลง:
=IF(A2="", "", VALUE(A2))

สิ่งนี้รักษาศูนย์ที่ถูกต้องและหลีกเลี่ยงการปิดบัง error ที่ไม่เกี่ยวข้อง

สรุป Best Practices

  • เลือกเครื่องมือที่เหมาะสม: อย่า default ไปที่ฟังก์ชันคุ้นเคยเมื่อมีทางเลือกที่ดีกว่า
  • ระบุ ranges ให้ชัดเจน: หลีกเลี่ยง whole column references เว้นแต่จำเป็น
  • คิดถึง maintainability: เขียนสูตรที่คนอื่น (รวมถึงคุณอนาคต) เข้าใจ
  • ใช้ data types ที่เหมาะสม: จัดการ dates เป็น dates, numbers เป็น numbers
  • ทดสอบ edge cases: พิจารณาว่าจะเกิดอะไรขึ้นกับ blank cells, errors, หรือข้อมูลไม่คาดคิด
  • ใช้ประโยชน์จาก Excel Tables: ใช้ structured references สำหรับ dynamic ranges
  • ทันสมัย: เรียนรู้ฟังก์ชันใหม่ใน Excel 365 ที่แทนที่สูตร legacy ซับซ้อนได้

สรุป

โดยหลีกเลี่ยงข้อผิดพลาดทั่วไปเหล่านี้ คุณสามารถสร้างสเปรดชีต Excel ที่มีประสิทธิภาพ อ่านง่าย และน่าเชื่อถือมากขึ้น จุดสำคัญคือเลือกฟังก์ชันที่เหมาะสมสำหรับงาน ให้ความแม่นยำกับ criteria และ ranges และแยก data types—คำนวณบนตัวเลขและใช้ formatting functions เฉพาะขั้นตอนนำเสนอสุดท้าย การหยุดนิสัยเก่าที่เรียนมาจาก tutorial ล้าสมัย จะไม่เพียงทำให้สูตรของคุณพลาดน้อยลง แต่ยังทำให้งานของคุณง่ายต่อการบำรุงรักษาและเข้าใจ