历史版本9 :巧用 IF 函数处理数据 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

在进行数据分析时,用户经常会使用到 IF 判断条件,来对已有的数据进行数据清洗和处理。

2. 处理特殊值编辑

2.1 示例一:字段中值为空

用户在进行数据处理时,可能会遇到字段有空的情况,此时如果在此基础上需要对非 0 数据进行公式计算或者处理,就需要只处理非空的数据即可,可使用 IF 函数进行判断。

示例数据:互联网_访问统计表.xlsx

例如「互联网_访问统计表」中的「统计日期」有为空的数据,需要将非空的「统计日期」数据处理为当前时间后十天,由于空值会被处理成 1970 年,因此需要在公式外再嵌套一个 IF 和 ISNULL 组合的函数,确保处理后的结果正确性。

新建自助数据集,创建「新增列」并使用公式 IF(ISNULL(统计日期)=1,null,DATEDELTA(统计日期,10)),如下图所示:

注:DATEDELTA 函数可以返回指定日期后的具体日期。

2.2 示例二:保证除法结果的正确性

若出现需要对字段进行除法计算,被除数或者除数为 0 ,此时也可以使用 IF 函数。

详情参见:无穷/负数/空值显示为0 。

2. 进行条件赋值编辑

用户需要需要根据某些条件对数据进行分类赋值处理,此时 IF 函数是一个比较好的选择。

通常会 IF 函数会与 AND、OR、FIND等嵌套使用。

2.1 示例一:多个 IF 嵌套使用

使用内置数据集「地区数据分析」。

如果「客户名称」这个列中包含「有限公司」字段的就等于「有限公司」,如果包含「大学」字段的就等于「教育行业」,否则就为「其他」。

创建自助数据集,新建新增列并输入公式:IF(FIND("有限公司",客户名称)!=0,"有限公司",IF(FIND("大学",客户名称)!=0,"教育行业","其他")),如下图所示:

注:字段需要从公式框左侧选择,不能手动输入。

公式说明:

公式
说明
FIND("有限公司",客户名称)!=0在「客户名称」字段中查找包含「有限公司」内容,则输出为真,否则为 FALSE
IF(FIND("有限公司",客户名称)!=0,"有限公司",IF(FIND("大学",客户名称)!=0,"教育行业","其他"))如果「客户名称」这个列中包含「有限公司」字段的就等于「有限公司」,如果包含「大学」字段的就等于「教育行业」,否则就为「其他」

2.2 示例二:与逻辑函数一起使用

仍然使用内置数据集,如果只要满足「合同金额>500000」、「省份属于浙江省」中的一个,即赋值为「指定合同」,否则为其他。

输入公式:IF(OR(合同金额>500000,FIND("浙江省",省份)!=0),"指定合同","其他"),如下图所示:

公式
说明
FIND("浙江省",省份)!=0若省份为浙江省,返回 TRUE,否则返回 FALSE
OR(合同金额>500000,FIND("浙江省",省份)!=0)满足两个条件中的一个则为真

也可将 OR 替换成 ||:IF(合同金额>500000||FIND("浙江省",省份)!=0,"指定合同","其他")

3. 处理逻辑错误值编辑

在进行数据处理时,用户经常遇到数据「逻辑值错误」的问题,例如有一张数据表,总停留时间是有负数的数据,明显这些数据是错误的,此时就需要进行数据处理,将「总停留时间」为负数的都改成「报错」进行标识。

3.1 操作步骤

新建自助数据集,创建「新增列」并使用公式 IF(总停留时间>=0,总停留时间,"报错"),如下图所示:

公式
说明
IF(总停留时间>=0,总停留时间,"报错")如果总停留时间字段>=0,则按照原内容输出,否则赋值为「报错」

注1:「总停留时间」字段需要从左侧的字段选择框中点击添加进公式框。

注2:由于「报错」为文本数据,因此需要使用双引号。

3.2 效果查看