You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel公式实现需求:条件隐藏单元格值与已完成食谱食材汇总排除

Excel公式实现需求:条件隐藏单元格值与已完成食谱食材汇总排除

嘿,我完全get到你的需求了——就是把标记为“已完成”的食谱食材,自动排除在总食材汇总统计之外,还要能灵活查看未完成的食材数据,对吧?结合你给出的表格结构(A列是完成标记、B列食谱名、C列食材、D列数量),我给你整理了几个实用的解决办法,都是纯Excel自带功能,不用复杂的宏:

一、先搞定「已完成食谱的食材快速隐藏」(可选)

如果你想先在原表格里把已完成的食材行临时藏起来,方便查看未完成的内容,有两个简单办法:

  • 用筛选功能:选中A1:D1的表头,点「数据」选项卡的「筛选」,然后点A列的筛选箭头,只勾选“未完成”对应的标记(比如空值或者你用的“N”),一键就能把已完成的行藏起来
  • 用FILTER函数动态生成列表(仅Excel 365/2021及以上版本支持):要是想在新工作表单独显示未完成的食材数据,在新表的A1单元格输入:
    =FILTER(原表!B:D,原表!A:A<>"Y","暂无未完成食谱")
    
    这个公式会自动抓取所有A列不是“Y”(已完成)的食谱、食材和数量,而且你更新原表的完成标记后,这个列表会自动同步更新

二、核心需求:汇总未完成食谱的食材总数量

这部分是你最关心的,给你两种方案,适配不同版本的Excel:

方案1:用SUMIFS函数(所有Excel版本通用)

假设你想统计“鸡蛋”这种食材的未完成总用量,直接在目标单元格输入:

=SUMIFS(原表!D:D,原表!C:C,"鸡蛋",原表!A:A<>"Y")

给你拆解下这个公式:

  • SUMIFS是多条件求和函数,第一个参数是要加总的列(也就是D列的数量)
  • 后面的成对参数是筛选条件:第一个条件是C列食材等于“鸡蛋”,第二个条件是A列不是已完成的标记(这里用<>"Y",如果你用复选框标记的话,就改成原表!A:A=FALSE就行)
    要是想批量统计所有食材的用量,先把所有不重复的食材列出来(用UNIQUE函数或者高级筛选提取不重复值),然后把这个公式下拉填充就行,自动对应每一种食材

方案2:用数据透视表,灵活又省心

数据透视表简直是处理这类汇总需求的神器,操作超简单:

  1. 选中原表的A1:D1表头和所有数据行
  2. 点「插入」选项卡的「数据透视表」,选好要放置的位置(比如新工作表)
  3. 在右侧的字段面板里拖放字段:
    • 把「Ingredients(食材)」拖到「行」区域
    • 把「Amount(数量)」拖到「值」区域,默认就是求和,正好匹配你的需求
    • 把「Completed(完成标记)」拖到「筛选」区域
  4. 之后只要在筛选器里选“未完成”的标记,数据透视表就只显示对应食材的总数量,后续你标记新的完成食谱,右键点透视表选「刷新」就自动更新了

三、小彩蛋:用复选框标记完成更直观

要是觉得手动输入“Y”“N”麻烦,可以用复选框来标记完成状态:

  • 点「开发工具」选项卡的「插入」,选「复选框(表单控件)」,在A2单元格旁边画一个
  • 右键复选框选「设置控件格式」,把「单元格链接」设为A2,这样勾选时A2显示TRUE,不勾选显示FALSE
  • 之后公式里的条件就改成原表!A:A=FALSE,操作起来更顺手

备注:内容来源于stack exchange,提问作者James-Katherine Perkins

火山引擎 最新活动