สูตร Excel คือการแปลงค่าบูลีน{FALSE, TRUE}เป็น{0, 1}อย่างไร
=IF(cond,1,0)เผื่อว่ามีหนึ่งสั้นกว่า
สูตร Excel คือการแปลงค่าบูลีน{FALSE, TRUE}เป็น{0, 1}อย่างไร
=IF(cond,1,0)เผื่อว่ามีหนึ่งสั้นกว่า
คำตอบ:
คุณสามารถทำได้โดยการคัดเลือกนักแสดง ฟังก์ชัน "int" จะปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด หากค่าบูลีนอยู่ใน A1 สูตรจะเป็น:
=INT(A1)
=ROUND(A1,0)ทำสิ่งเดียวกันในบริบทนี้
=CEILING(A1,1)
--เป็นวิธีที่พบได้บ่อยที่สุดในการแปลงบูลีนให้เป็นแบบอิน - นั่นคือเหตุผลที่คุณเห็นฟังก์ชั่นที่มี--อยู่ในนั้นด้วยเหตุผลอย่างนี้ มันจะเปลี่ยนอาร์เรย์ของ {TRUE, FALSE, FALSE} เป็น {1,0,0} ซึ่งสามารถใช้เพื่อคูณอาร์เรย์อื่น ๆ
ตัวอย่าง:
ส่งคืนยอดขายรวมจากภูมิภาคที่ต่ำกว่า 9:
ทีมขาย 1 $ 20 2 $ 30 11 $ 90
สูตร:
=SUMPRODUCT(--(A2:A4<=9),B2:B4)
การคำนวณ
=SUMPRODUCT(--(True,True,False),($20,$30,$90))
=SUMPRODUCT((1,1,0),($20,$30,$90))
=1 * $20 + 1 * $30 + 0 * $90
=$20 + $30 + $0
=$50
--แต่ฉันต้องยอมรับว่าการใช้สูตรINTนั้นชัดเจนและสง่างามกว่ามาก :)
ทวีคูณด้วย '1' อดีต True * 1 = 1 และ False * 1 = 0
ตัวอย่างเช่นหากเซลล์ A1 มีค่าบูลีนในเซลล์ข้างเคียงให้ป้อนสูตร:
=A1*1
หมายเหตุ: - จริง True + 0 และ True / 1 มีผลเหมือนกัน
=a1+a2จะส่งคืนผลรวมเชิงตัวเลขของตรรกะ แต่=sum(a1:a2)จะไม่ Excel 2013