反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

巧用 IF 函数处理数据

  • 文档创建者:Roxy
  • 历史版本:8
  • 最近更新:Roxy 于 2021-06-10
  • 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 效果查看


    附件列表


    主题: 数据分析进阶
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭