如何编写计算函数
如果A = VARCHAR或CHAR,则将B值与E值进行比较,如果相同,则匹配'否''不匹配'。
如果A = NUMERIC然后将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"))
答案 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
。