คำสั่ง IF: วิธีปล่อยให้เซลล์ว่างถ้าเงื่อนไขเป็นเท็จ (“” ไม่ทำงาน)


124

ฉันต้องการเขียนคำสั่ง IF โดยที่เซลล์จะเว้นว่างไว้หากเงื่อนไขเป็น FALSE โปรดทราบว่าหากป้อนสูตรต่อไปนี้ใน C1 ( ซึ่งเงื่อนไขเป็นเท็จ ) เช่น:

 =IF(A1=1,B1,"")

และถ้า C1 ถูกทดสอบว่าว่างหรือไม่ได้ใช้=ISBLANK(C1)สิ่งนี้จะส่งคืนFALSEแม้ว่า C1 จะดูเหมือนว่างก็ตาม ซึ่งหมายความว่าใน=IF(A1=1,B1,"")ทางเทคนิคสูตรจะไม่ปล่อยเซลล์ว่างไว้หากไม่ตรงตามเงื่อนไข

มีความคิดเกี่ยวกับวิธีการบรรลุสิ่งนั้นหรือไม่? ขอบคุณ


2
นั่นเป็นเพราะมันไม่ว่างเปล่า มันมีสูตรอยู่ในนั้น ลองสิ่งนี้ = C1 = "" หรือถ้าคุณอยากจะบ้าจริงๆ = IF (OR (C1 = "", ISBLANK (C1)), TRUE, FALSE)
Stepan1010

2
@ Stepan1010 ไม่จำเป็นต้องบ้าขนาดนั้นเพราะOR(C1="",ISBLANK(C1))เทียบเท่า
Museful

1
นี่คือวิธีรับช่องว่างจริงหากตรงตามเงื่อนไข: stackoverflow.com/a/39351425/1903793
Przemyslaw Remin

คำตอบ:


42

ลองใช้วิธีนี้แทน

=IF(ISBLANK(C1),TRUE,(TRIM(C1)=""))

สิ่งนี้จะคืนค่าจริงสำหรับเซลล์ที่ว่างเปล่าอย่างแท้จริงหรือไม่มีอะไรเลยนอกจากช่องว่าง

ดูโพสต์นี้เพื่อดูตัวเลือกอื่น ๆ

แก้ไข

เพื่อแสดงความคิดเห็นและสิ่งที่คุณทำ: แทนที่จะประเมินเป็น "" ให้ป้อนค่าอื่นเช่น "deleteeme" แล้วค้นหา "deleteeme" แทนช่องว่าง

=IF(ISBLANK(C1),TRUE,(TRIM(C1)="deleteme"))

ปัญหาสำหรับฉันไม่ใช่ผลลัพธ์ของ "การทดสอบเปล่า" ต่อคำพูด แต่เป็นสิ่งต่อไปนี้: ฉันใช้if statementกับทั้งแถวจากนั้นฉันต้องการใช้Go To -> Special -> Blanksเพื่อลบเซลล์ว่างออกจากแถวนั่นคือ เซลล์ที่เงื่อนไขเป็นเท็จ อย่างไรก็ตามGo toไม่พบเซลล์ว่างในแถวของฉันโดยเฉพาะเนื่องจากปัญหานี้ที่คำสั่ง IF ของฉันไม่ส่งคืนเซลล์ว่างต่อการพูด ดังนั้นฉันจำเป็นต้องแก้ไขคำสั่ง IF ของฉันเพื่อให้ส่งกลับเซลล์ว่างอย่างเหมาะสม
Mayou

4
หากคุณกำลังจะลบทิ้งคุณสามารถส่งคืนค่าที่แตกต่างออกไปได้ (เช่น 'deleteeme') จากนั้นค้นหาค่านั้นในกิจวัตรอื่น ๆ ของคุณ
Portland Runner

1
ขอบคุณสำหรับทิป! นั่นคือสิ่งที่ฉันทำ! ฉันพยายาม = IF (A1, B1, NA ()) และฉันใช้Go To -> Special -> Formula -> Errorsและฉันลบเซลล์ที่ไม่เป็นไปตามเงื่อนไขได้สำเร็จ! ขอบคุณสำหรับเคล็ดลับอีกครั้ง!
Mayou

66

น่าเสียดายที่ไม่มีสูตรใดที่จะทำให้เซลล์ว่างเปล่าอย่างแท้จริง""เป็นสูตรที่ดีที่สุดที่สามารถนำเสนอได้

ฉันไม่ชอบ ISBLANK เพราะจะไม่เห็นเซลล์ที่มี""เป็นช่องว่างเท่านั้น แต่ฉันชอบ COUNTBLANK ซึ่งจะนับ""เป็นว่างเปล่าดังนั้นโดยทั่วไป=COUNTBLANK(C1)>0หมายความว่า C1 ""ว่างเปล่าหรือมี

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


3
=COUNTBLANK(C1)>0จริงๆไม่หลอกลวง! ISBLANK()ไม่ได้ทำงานสำหรับฉัน Thks!
StinkyCat

1
ตัวเลขใด ๆ > 0 จะประเมินTRUEในบริบทของIFคำสั่งดังนั้นคุณสามารถแทนที่ได้โดยIF(COUNTBLANK(C1), .... )ไม่จำเป็นต้องใช้>0เพียงเพื่อทำให้สิ่งต่างๆสะอาดขึ้น
Tom Auger

นี่คือวิธีรับช่องว่างที่แท้จริงเป็นผลลัพธ์ของสูตร: stackoverflow.com/a/39351425/1903793
Przemyslaw Remin

19

ผมอยากจะเพิ่มว่ามีความเป็นไปได้อื่น - na()การใช้งานฟังก์ชั่น

เช่น =if(a2 = 5,"good",na());

สิ่งนี้จะเติมเซลล์ด้วย # N / A และหากคุณสร้างแผนภูมิคอลัมน์ข้อมูลจะไม่ถูกสร้างกราฟ ฉันรู้ว่ามันไม่ "ว่าง" แต่เป็นไปได้อีกอย่างหากคุณมีสตริงว่างในข้อมูลของคุณและ""เป็นตัวเลือกที่ถูกต้อง

นอกจากนี้count(a:a)จะไม่นับเซลล์ที่ตั้งค่าเป็น n / a ด้วยการทำเช่นนี้


2

หากคุณต้องการใช้เซลล์ว่างแบบปรากฎการณ์ (มีสูตรอยู่) เพื่อทำการคำนวณทางคณิตศาสตร์ / คณิตศาสตร์สิ่งที่คุณต้องทำคือใช้สูตรนี้:

=N(C1)

สมมติว่า C1 เป็นเซลล์ "ว่าง"


1

คุณสามารถลองสิ่งนี้

=IF(A1=1,B1,TRIM(" "))

หากคุณใส่สูตรนี้ในเซลล์ C1 คุณสามารถทดสอบได้ว่าเซลล์นี้ว่างในเซลล์อื่นหรือไม่

=ISBLANK(C1)

คุณควรเห็น TRUE ฉันได้ลองใช้ Microsoft Excel 2013 แล้วหวังว่านี่จะช่วยได้


0

ฉันพบว่าวิธีแก้ปัญหานี้ดูเหมือนจะทำเคล็ดลับ:

ปรับเปลี่ยนสูตรดั้งเดิมของคุณ:

=IF(A1=1,B1,"filler")

จากนั้นเลือกคอลัมน์ค้นหาและแทนที่ "ฟิลเลอร์" โดยไม่มีอะไรเลย เซลล์ที่คุณต้องการให้ว่าง / ว่างนั้นว่างเปล่าจริง ๆ และหากคุณทดสอบด้วย "ISBLANK" มันจะส่งกลับ TRUE ไม่ใช่สิ่งที่หรูหราที่สุด แต่รวดเร็วและได้ผล


วิธีนี้ใช้ไม่ได้การค้นหาและแทนที่จะแทนที่ ฟิลเลอร์ในสูตรโดยปล่อยให้ปัญหาเหมือนเดิม
ChrisM

0

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


เป็นไปได้ที่จะเว้นว่างเซลล์ด้วยคำสั่ง if แม้ว่าโซลูชันของคุณจะเป็นไปได้ แต่ก็ไม่ใช่แนวทางที่ดีที่สุด
แมตต์

0

สิ่งนี้จะใช้งานได้ (การแก้ไขด้านบนวิธีแก้ปัญหาไม่ใช่สูตร)

แก้ไขสูตรเดิมของคุณ: = IF (A1 = 1, B1, "filler")

ใส่ตัวกรองในสเปรดชีตเลือกเฉพาะ "ฟิลเลอร์" ในคอลัมน์ B ไฮไลต์เซลล์ทั้งหมดที่มี "ฟิลเลอร์" อยู่ในนั้นกดลบลบตัวกรอง


ฉันรู้สึกว่ามันไม่ใช่สิ่งที่ OP ต้องการ ดูเหมือนว่าเขาต้องการสูตร คุณบอกว่านี่ไม่ใช่สูตร แต่ยังคง
ZygD

0

คุณสามารถทำสิ่งนี้เพื่อแสดงพื้นที่ว่าง:

=IF(AND((E2-D2)>0)=TRUE,E2-D2," ")

ภายในifก่อนลูกน้ำแรกคือเงื่อนไขจากนั้นให้ผลลัพธ์และค่าส่งคืนหากtrueและสุดท้ายเป็นค่าว่างถ้าเงื่อนไขเป็นfalse


0

สูตรใน C1

=IF(A1=1,B1,"")

เป็นการให้คำตอบของ "" (ซึ่งไม่ถือว่าเป็นค่าว่าง) หรือเนื้อหาของ B1

ถ้าคุณต้องการให้สูตรใน D1 แสดงTRUEถ้า C1 เป็น "" และFALSEถ้า C1 มีอย่างอื่นให้ใช้สูตร

=IF(C2="",TRUE,FALSE)

แทน ISBLANK


0

นี่คือสิ่งที่ฉันทำ

=IF(OR(ISBLANK(AH38),AH38=""),"",IF(AI38=0,0,AH38/AI38))

ใช้เงื่อนไข OR หรือ (ISBLANK (เซลล์), เซลล์ = "")


0

ผมคิดว่าสิ่งที่คุณต้องทำคือการตั้งค่าของสภาพ TRUE ไม่ได้ที่จะทำให้มันแสดงให้เห็นข้อผิดพลาดใด ๆ IFNA()แล้วคุณกรองข้อผิดพลาดกับ

นี่คือลักษณะของสูตรของคุณ =ifna(IF(A1=1,B1,NA()))

นี่คือแผ่นงานที่คืนค่าช่องว่างจาก if condition: https://docs.google.com/spreadsheets/d/15kWd7oPWQmGgYD_PLz9YpIldwnKWoXPHtHQAT3ulqVc/edit?usp=sharing


-2

เพื่อตรวจสอบข้อมูลในคอลัมน์ A สำหรับช่องว่าง

ขั้นตอนที่ 1: ขั้นตอนที่ 1: B1 = isblank (A1)

ขั้นตอนที่ 2: ลากสูตรสำหรับทั้งคอลัมน์พูดว่า B1: B100; สิ่งนี้จะคืนค่า Ture หรือ False จาก B1 ถึง B100 ขึ้นอยู่กับข้อมูลในคอลัมน์ A

ขั้นตอนที่ 3: CTRL + A (Selct all), CTRL + C (Copy All), CRTL + V (Paste all as values)

ขั้นตอนที่ 4: Ctrl + F; ค้นหาและแทนที่ฟังก์ชันค้นหา "เท็จ" แทนที่ " เว้นช่องว่างนี้ไว้ "; ค้นหาและแทนที่ทั้งหมด

ไปเลยเพื่อน!


-3

แทนที่จะใช้ "" ให้ใช้ 0 จากนั้นใช้การจัดรูปแบบตามเงื่อนไขให้สี 0 เป็นสีพื้นหลังเพื่อให้ปรากฏเป็นสีว่าง

เนื่องจากเซลล์ว่างและ 0 จะมีลักษณะการทำงานเหมือนกันในสถานการณ์ส่วนใหญ่สิ่งนี้อาจช่วยแก้ปัญหาได้


2
ฉันไม่คิดว่านี่เป็นคำตอบที่น่าพอใจเนื่องจากตอนนี้จะมี 0 อยู่ในข้อมูลสเปรดชีตดิบ การส่งออกคัดลอก / วางหรืองานอื่นใดที่เกี่ยวข้องกับข้อมูลจะไม่ถูกต้องกับ 0 ทั้งหมด
Jeff Brateman

เป็นความคิดที่ไม่ดีเพราะ 0 มีปัญหาในการกรองตามตัวเลข วิธีอื่น 0 สามารถเป็นค่าปกติและถูกต้อง แล้วจะรับรู้ระหว่าง 0 ดีกับ "ว่าง" 0 ได้อย่างไร? ฉันขอแนะนำให้คุณลบคำตอบนี้ออก :)
Znik

-3

ควรใช้: = IF (A1 = 1, B1)

อาร์กิวเมนต์ที่ 3 ที่ระบุค่าของเซลล์หากไม่ตรงตามเงื่อนไขเป็นทางเลือก


2
Excel ส่งคืนค่าของอาร์กิวเมนต์แรก (FALSE) เมื่อเงื่อนไขประเมินเป็นเท็จและไม่มีอาร์กิวเมนต์ที่สาม น่าเสียดายที่ดูเหมือนจะไม่ได้ผล
Eagle

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