ใช้ excel ฉันจะนับจำนวนเซลล์ในคอลัมน์ที่มีข้อความ“ จริง” หรือ“ เท็จ” ได้อย่างไร?


10

ฉันมีสเปรดชีตที่มีคอลัมน์ของเซลล์ที่แต่ละเซลล์มีคำเดียว ฉันต้องการที่จะนับการเกิดขึ้นของคำบางคำ ฉันสามารถใช้ฟังก์ชั่น COUNTIF สำหรับคำส่วนใหญ่ แต่ถ้าคำว่า "จริง" หรือ "เท็จ" ฉันจะได้รับ 0

        A         B 
1     แอปเปิ้ล 2
 2     จริง 0
 3     เท็จ 0
 4     ส้ม 1
 5     แอปเปิ้ล

ในตารางสเปรดชีตด้านบนฉันมีสูตรเหล่านี้ในเซลล์ B1, B2, B3 และ B4:

=COUNTIF(A1:A5,"apples")
=COUNTIF(A1:A5,"true")
=COUNTIF(A1:A5,"false")
=COUNTIF(A1:A5,"oranges)

อย่างที่คุณเห็นฉันสามารถนับแอปเปิ้ลและส้ม แต่ไม่จริงหรือเท็จ ฉันได้ลองสิ่งนี้ด้วย:

=COUNTIF(A1:A5,TRUE)

แต่นั่นก็ไม่ได้ผลเช่นกัน

หมายเหตุ - ฉันใช้ Excel 2007


3
สำหรับสิ่งที่คุ้มค่าฉันเปลี่ยนใจในเรื่องนี้ ฉันเดาว่าสูตร Excel อาจถือได้ว่าเป็นภาษาโปรแกรมเชิงประกาศ ฉันไม่คิดว่ามันจะทัวริงสมบูรณ์โดยไม่ใช้ VBA แต่ก็ไม่ใช่การแสดงออกปกติ - ซึ่งถือว่าเป็นที่ยอมรับโดยชุมชน SO!
Martin Smith

1
ติดกับโซลูชันสัญลักษณ์แทน =COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")นับทุกสตริงที่ขึ้นต้นด้วย“ true” หรือ“ trud” เช่น“ trudge”
Scott

1
เจย์คำถามเก่านี้โผล่ขึ้นมาอีกครั้งเนื่องจากมีการโพสต์ใหม่ ฝังคำตอบในรูปแบบของคำถามที่ยุ่งเหยิงกับโครงสร้างที่ตั้งใจไว้ของเว็บไซต์ คุณสามารถย้ายส่วนคำตอบไปยังคำตอบได้หรือไม่?
fixer1234

คำตอบ:


5

สิ่งนี้น่าจะใช้ได้:

=COUNTIF(A1:A5,"*true")

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


1
คำแนะนำที่ดี - ฉันไม่เคยคิดเกี่ยวกับบัตรเสริม สามารถใช้ COUNTIF ที่สองเพื่อกรองคำที่ลงท้ายด้วย "true" สูตรนี้ใช้งานได้: = COUNTIF (A1: A5, " true") - COUNTIF (A1: A5, " ? จริง") ฉันจะลบล้างคำตอบนี้ แต่ฉันเป็นมือใหม่ 11 คนเท่านั้น (ฉันไม่สามารถถ่ายโอนใด ๆ จาก stackoverflow :-(
Jay Elston

1
=COUNTIFS(A1:A5, "tru?", A1:A5, "*e")นี่คือรูปแบบอื่น:
สกอตต์

7

อาร์กิวเมนต์ที่สองของสูตร COUNTIF ถูกตีความโดย Excel ว่าเป็นแบบทดสอบที่จะดำเนินการ (เช่นเราสามารถป้อน "> 3" เป็นต้น) ในกรณีนี้ดูเหมือนว่า Excel กำลังแปลงสตริง "true" และ "false" เป็น 1 และ 0 ซึ่งจะไม่ตรงกับข้อความต้นฉบับ

ทางออกเดียวที่ฉันรู้ถึงปัญหานี้คือการเขียนโค้ด VBA เพื่อทำการนับ

หากมีการเปลี่ยนแปลงข้อมูลของท่านเป็นที่ยอมรับแทนที่ "ความจริง" กับ "T" และ "เท็จ" กับ "F" COUNTIF(A1:A5,"T")จากนั้นเปลี่ยนไป

เมื่อฉันสะดุดที่นี่ฉันให้การต่อสู้และเปลี่ยนข้อมูลอินพุต

PS: การใช้ Excel 2003 - ปัญหาเดียวกัน


วิธีแก้ปัญหาชั่วคราวของฉันไปอย่างนั้น - ฉันแทรกคอลัมน์อื่นและใช้สูตร: IF (A1 = "จริง", "T", IF (A1 = "false", "F", "")) เพื่อเติมเซลล์ .

อืมฉันเห็นความคับข้องใจ COUNTIF(A2,">=trud")และCOUNTIF(A2,"<=truf")ทั้งสองทำงาน COUNTIF(A2,A2)และตัวแปรที่นึกออกไม่ได้!
Martin Smith

ดูเหมือนว่า=COUNTIF(G1,">=true")และ=COUNTIF(G1,"<=true") ส่งคืนค่า 0 สำหรับอินพุตที่เป็นไปได้ใด ๆ จากCHAR(1)เป็นCHAR(255)ดังนั้นสิ่งใดก็ตามที่มันถูกแปลงให้ดูเหมือนไม่มีใครเทียบได้อย่างสมบูรณ์ ดูเหมือนว่าจะทำหน้าที่เหมือนการเปรียบเทียบค่า NULL ในฐานข้อมูล
Martin Smith

3

ปรากฏว่า Excel ถือว่า "true / TRUE" และ "false / FALSE" เป็นสตริงมายากลเมื่อปรากฏในสูตรโดยจะถือว่าเป็นฟังก์ชัน: TRUE () และ FALSE () แทนที่จะเป็นสตริง

หากคุณต้องการนับจริงและเท็จในคอลัมน์คุณจะไม่ได้รับการนับถ้าคุณใช้ "จริง" หรือ "= จริง" เป็นเกณฑ์ มีวิธีการบางอย่างที่คุณสามารถใช้เพื่อนับความจริงและเท็จเป็นคำ

Use a pair of COUNTIF functions. Either of the following works:

=COUNTIF(A1:A5,"*true")-COUNTIF(A1:A5,"*?true")

or

=COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")

Create a new column with true converted to "T" and false converted to "F" using the formula:

=IF(A1="true","T",IF(A1="false","F",""))

Then trues and falses can be counted using:

=COUNTIF(A1:A5,"T")
=COUNTIF(A1:A5,"F")

Don't use "true" and "false" to begin with, use something else (such as T and F).

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


0

ฉันสามารถใช้สูตรต่อไปนี้:

=COUNTIF(A1:A5,"=apples")
=COUNTIF(A1:A5,"=true")
=COUNTIF(A1:A5,"=false")
=COUNTIF(A1:A5,"=oranges")

COUNTIFอ่านในตัวช่วยเหลือ พวกเขาอธิบายความสามารถในการใช้โอเปอเรเตอร์ตามเงื่อนไขโดยละเอียด


1
ไม่ได้ผลสำหรับฉัน ส่งคืน 0
Martin Smith

1
สิ่งนี้ไม่ได้ผลสำหรับฉันเช่นกัน
Jay Elston

0

ฉันมีปัญหาที่คล้ายกันกับสูตร SUMPRODUCT ด้วยการลบเครื่องหมายคำพูดรอบคำ FALSE สูตรจะสร้างผลลัพธ์ที่ถูกต้องโดยใช้ MS EXCEL 2003


1
ฉันพูดถึงคำถามที่ฉันลอง = COUNTIF (A1: A5, TRUE) และฉันใช้ Excel รุ่น 2007
Jay Elston

0

ฉันสามารถแก้ไขปัญหาโดยใช้สูตรต่อไปนี้:

= COUNTIF (A1: A5 "T *")

"T*" แทนที่ "True" หากรายการในคอลัมน์ถูก จำกัด เพียงหนึ่งคำ "T"

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