EXCEL中的IF-ELSE条件
如何编写函数进行计算 如果A=VARCHAR或CHAR,则将B值与E值进行比较,如果相同,则为“匹配”,否则为“不匹配” 如果A=数值,则将B值与F值和C值与G值进行比较,如果相同,则为“匹配”,否则为“不匹配” 除了VARCHAR/CHAR/NUMERIC,然后是“Blank” *NULL将其视为0EXCEL中的IF-ELSE条件,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,如何编写函数进行计算 如果A=VARCHAR或CHAR,则将B值与E值进行比较,如果相同,则为“匹配”,否则为“不匹配” 如果A=数值,则将B值与F值和C值与G值进行比较,如果相同,则为“匹配”,否则为“不匹配” 除了VARCHAR/CHAR/NUMERIC,然后是“Blank” *NULL将其视为0 A B C D E F G H VARCHAR 8 0 VARCHAR 8 0 0 Match CHAR 8
A B C D E F G H
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
下面是代码,如何将空值更改为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(cell=“Null”,0,cell) 此处转换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"))
或(A4={“VARCHAR”,“CHAR”})
是编写或(A1=“VARCHAR”,A1=“CHAR”)
的较短方法
IFERROR(1*C4,0)
用于NULL
部分1*C4
仅当C4不是数字时返回错误,而当C4NULL
时返回错误。如果这是一个错误,那么使用0
。列B、F、C和G是否可以包含除NULL
或数字以外的其他内容?只有列C将具有NULLWait,这是否意味着B、F和G将始终包含数字?是。。。。。。。。。。。。。。。。。。