如果EXEEL中的其他情况
如何编写一个函数来计算
如果A = VARCHAR或CHAR,则将B值与E值进行比较,如果相同,则匹配'其他'不匹配'。
如果A = NUMERIC,则将B值与F值和C值与G值进行比较,如果相同则匹配'其他'不匹配'
除VARCHAR / CHAR / NUMERIC外,“空白”
* NULL将其视为0
ABCDEFGH VARCHAR 8 0 VARCHAR 8 0 0 Match CHAR 8 0 CHAR 8 0 0 Match NUMERIC 19 2 NUMERIC 9 19 2 Match NUMERIC 1 NULL NUMEIC 5 1 0 Match NUMERIC 1 1 NUMERC 5 1 0 Not Match DATE 1 1 DATE 8 23 3 Blank
这里是代码,如何将NULL值更改为0?
=IF(OR(A1="VARCHAR",A1="CHAR"),IF(B1=E1,"MATCH","NOT MATCH"),IF(A1="NUMERIC",IF(AND(B1=F1,C1=G1),"MATCH","NOT MATCH"),"Blank"))
用嵌套的IF语句将Null转换为零。
= IF(细胞= “空”,0,小区)
这里在列C和列G中转换值:
=IF(OR(A1="VARCHAR",A1="CHAR"),IF(B1=E1,"MATCH","NOT MATCH"),IF(A1="NUMERIC",IF(AND(B1=F1,IF(C1="Null",0,C1)=IF(G1="Null",0,G1)),"MATCH","NOT MATCH"),"Blank"))
你也可以使用这个略短的公式:
=IF(OR(A4={"VARCHAR","CHAR"}),IF(B4=E4,"MATCH","NOT MATCH"),IF(A4="NUMERIC",IF(AND(B4=F4,IFERROR(1*C4,0)=G4),"MATCH","NOT MATCH"),"Blank"))
OR(A4={"VARCHAR","CHAR"})
是写OR(A1="VARCHAR",A1="CHAR")
一种较短的方式。
IFERROR(1*C4,0)
用于NULL
部分。 只有当C4不是数字时, 1*C4
返回一个错误,这就是C4为NULL
。 如果这是一个错误,那就用0
代替。