如果是EXCEL的ELE条件

时间:2014-01-20 07:15:20

标签: excel excel-formula excel-2010

如何编写计算函数

如果A = VARCHAR或CHAR,则将B值与E值进行比较,如果相同,则匹配'否''不匹配'。

如果A = NUM​​ERIC然后将B值与F值进行比较,将C值与G值进行比较,如果相同,则匹配'否则'不匹配'

除了VARCHAR / CHAR / NUMERIC,然后是“空白”

* 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 

这是代码,如何将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")) 

2 个答案:

答案 0 :(得分:1)

使用嵌套的IF语句将Null转换为零。

=如果(细胞= “空”,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"))

答案 1 :(得分:1)

你也可以使用这个略短的公式:

=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