如何在表格中仅当status列显示“Completed”时自动复制Price列值到指定工作表?
如何在表格中仅当status列显示“Completed”时自动复制Price列值到指定工作表?
嘿,这个需求太常见啦,我给你分Excel和Google Sheets两种常用工具来讲解具体操作,你对应自己用的工具来就行:
Excel 操作方法
- 先确认你的Appointments工作表里的列位置:假设Status列是B列,Price列是C列,数据从第2行开始(第1行是表头)
- 打开Income/Expenses工作表,在你要显示结果的第一个单元格(比如A2)里输入公式:
=IF(Appointments!B2="Completed", Appointments!C2, "") - 把这个公式下拉填充到下方的单元格,这样只要Appointments里的Status是“Completed”,对应的Price就会自动同步过来;如果是“Pending”,这个单元格就会显示为空。
- 要是你用的是Excel 365/2021版本,还可以用动态数组公式实现自动扩展:
=FILTER(Appointments!C:C, Appointments!B:B="Completed")
输入这个公式后,Excel会自动提取所有符合条件的Price值,后续新增数据也会自动更新到列表里,不用手动下拉填充。
Google Sheets 操作方法
- 同样先确认列位置:假设Appointments里Status列是B列,Price列是C列
- 在Income/Expenses的目标单元格(比如A2)输入公式:
=IF(Appointments!B2="Completed", Appointments!C2, "")
下拉填充到下方单元格即可实现基础的同步效果。 - 想要自动提取所有符合条件的数据,用FILTER函数更省心:
=FILTER(Appointments!C:C, Appointments!B:B="Completed")
这个公式会自动生成完整的符合条件的Price列表,新增数据时会自动更新,不用手动调整范围。
小提示
如果你的Status列和Price列不是B、C列,记得把公式里的列号改成你实际使用的列就行,比如Status在D列、Price在E列的话,就把公式里的B换成D,C换成E。
备注:内容来源于stack exchange,提问作者TheSparcy98
相关产品推荐
相关产品推荐

