จะสรุปช่วงของเซลล์ด้วยค่า N / A ได้อย่างไร


11

ฉันมีช่วงและจำเป็นต้องรวมมันโดยใช้ฟังก์ชัน SUM แต่ผลลัพธ์คือ N / A หากมีค่า N / A ใด ๆ ฉันจะทำให้ฟังก์ชัน SUM ปฏิบัติต่อค่า N / A เป็น 0 ได้อย่างไร กรุณาช่วย!

คำตอบ:


16

ใช้สูตรอาร์เรย์

=SUM(IF(ISNA(A1:A4),0,A1:A4))

กดCtrl+ Shift+ Enterหลังจากป้อนสูตร

หมายเหตุ: แทนที่A1:A4ด้วยช่วงของคุณ


1
+1: การปรับปรุงที่ดีในโซลูชันของฉัน - ไม่จำเป็นต้องแก้ไขข้อมูลต้นฉบับ
Mike Fitzpatrick

1
ดี ไม่เคยคิดว่าจะใช้สูตรอาร์เรย์ ฉันมีความสุขกับการใช้ = SUMIF (A1: A4, "<> # N / A") จนกว่าฉันจะค้นพบว่ามันแตกถ้าสเปรดชีตถูกเปิดในสำเนาของ Excel แปลเป็นภาษาอื่น! น่าเสียดายที่การแทนที่ "<> # N / A" ด้วย "ISNA ()" ใช้งานไม่ได้ แต่สูตรอาเรย์เป็นโซลูชันที่พูดได้หลายภาษาที่ดี น่าเศร้าที่มันไม่ใช่วิธีการที่เหมาะสมสำหรับความท้าทายเดียวกันกับ AVERAGEIF () … :-(
Joe Carroll

@JoeCarroll คุณสามารถใช้=AVERAGE(IF(ISNA(A1:A4),"",A1:A4))
wilson

ขอบคุณ @ วิลสัน! เมื่อฉันพิจารณามันสั้น ๆ ฉันไม่ได้คิดถึงการใช้ "" แทนที่จะเป็นศูนย์ฉันโง่ :-) การใช้ศูนย์ส่งผลกระทบต่อขนาดตัวอย่างแน่นอนซึ่งทำให้ฉันเลิกใช้โซลูชัน แต่เซลล์ว่างเปล่าจะถูกมองข้าม
Joe Carroll

ไม่สามารถใช้งานร่วมกับ Cr @ pXcel 2013 ได้ แต่คำตอบด้านล่าง (= ผลรวม) ทำงานเหมือนมีเสน่ห์!

5

วิธีที่ง่ายที่สุด:

ใช้SUMIFค่า> 0

ไวยากรณ์สำหรับอันนั้นคือ

=SUMIF(A1:B2, "> 0")

คุณจะได้รับผลลัพธ์เดียวกันเนื่องจากจะไม่สนใจค่าที่ไม่ใช่ตัวเลขหรือ 0


2
คำแนะนำของคุณจะไม่ทำงานกับจำนวนลบ ขอบคุณอยู่ดี
Nam G VU

1
สามารถทำได้=SUMIF(A1:B2, ">=0") + SUMIF(A1:B2, "<0")เพื่อรวมจำนวนลบ ฉันสงสัยว่าจะเร็วกว่าโซลูชันอาเรย์สูตรที่ยอมรับถ้าประสิทธิภาพเป็นสิ่งที่น่ากังวล
kizzx2

3

มีฟังก์ชั่นใหม่ใน Excel ซึ่งจะเพิ่มค่าทั้งหมดทั้งบวกหรือลบในขณะที่ไม่สนใจ NA

=aggregate(9,6, range of your data) 

9 ใช้สำหรับผลรวมขณะที่ 6 ใช้เพื่อเพิกถอน NA ทั้งหมด นอกจากนี้ยังมีตัวเลือกอื่น ๆ นอกเหนือจากนี้ ตัวอย่างเช่นคุณสามารถทำผลิตภัณฑ์ส่วนเบี่ยงเบนมาตรฐานและอื่น ๆ

ข้อมูลเพิ่มเติมเกี่ยวกับมวลรวมที่นี่


ทางออกที่สวยงามสำหรับ Excel 2010 และต่อมา :)
วิลสัน


0

คุณสามารถแปลง # N / A เป็นศูนย์ในช่วงแหล่งที่มาของคุณแล้วใช้ฟังก์ชัน SUM ปกติ:

= IF (ISNA (OriginalFormula), 0, OriginalFormula)

2
ตั้งแต่ office 2007 มีคุณลักษณะใหม่IFERRORและจากนั้นมันจะมีลักษณะเช่นนี้=IFERROR(OriginalFormula,0)ทำให้ดีขึ้นมาก
ไมเคิล

@agentmike เห็นด้วยฉันใช้บ่อยวันนี้
Mike Fitzpatrick

0

หากมีสูตรที่ฉันคัดลอกเป็นตัวเลขให้แทนที่ # N / A ในคอลัมน์ด้วย 0 แล้วรวมตามปกติ


-1

วิธีนี้ดูเหมือนว่าจะทำงาน:

SUMIF(range;"<>#N/A";range)

ไม่แข็งแกร่ง แต่มีประสิทธิภาพ!

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