EXCEL中的IF-ELSE条件

EXCEL中的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=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   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不是数字时返回错误,而当C4
NULL
时返回错误。如果这是一个错误,那么使用
0

列B、F、C和G是否可以包含除
NULL
或数字以外的其他内容?只有列C将具有NULLWait,这是否意味着B、F和G将始终包含数字?是。。。。。。。。。。。。。。。。。。