You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel多列同类数据合并为单列:判断存在x则显示x的公式问询

问题描述

现有一份数据表,首列为项目列表(Items),后续是重复的类别列(如多个「Category A」「Category B」列),列中以"x"标记项目与类别的匹配关系:

Items      Category A Category A Category A Category B Category B
Item   1      x            x                    x 
Item   2      x                       x                         
Item   3                   x          x         x           x
Item   4      x                       x                     x

需要在另一工作表中整合结果,生成仅含唯一类别列的表格,判断每个项目在对应类别下是否存在"x",存在则填入"x",预期结果如下:

Items      Category A  Category B 
Item   1      x            x 
Item   2      x                   
Item   3      x            x        
Item   4      x            x       

请问实现该需求的公式是什么?

解决方案

针对Excel 365/2021(支持动态数组)

假设原始数据存放在Sheet1的A1:F5区域,新工作表的A1单元格输入Items,B1、C1分别手动输入Category A、Category B:

  • 在B2单元格输入公式,回车后自动填充整列:
    =IF(COUNTIF(Sheet1!B2:D2,"x")>0,"x","")
    
  • 在C2单元格输入公式,回车后自动填充整列:
    =IF(COUNTIF(Sheet1!E2:F2,"x")>0,"x","")
    

如果想自动提取唯一类别表头(无需手动输入类别名称),可以这样操作:

  • 在新表B1单元格输入公式,自动生成所有唯一类别:
    =UNIQUE(Sheet1!B1:F1)
    
  • 在B2单元格输入以下公式,Excel 365直接回车,旧版本需按Ctrl+Shift+Enter作为数组公式,再下拉填充:
    =IF(COUNTIF(INDEX(Sheet1!$B:$F,,MATCH(B$1,Sheet1!$B$1:$F$1,0)):INDEX(Sheet1!$B:$F,,MAX(IF(Sheet1!$B$1:$F$1=B$1,COLUMN(Sheet1!$B$1:$F$1),0))),$A2,"x")>0,"x","")
    

针对旧版本Excel(不支持动态数组)

直接用OR函数判断对应类别列是否存在"x":

  • 在新表B2单元格输入公式,下拉填充整列:
    =IF(OR(Sheet1!B2="x",Sheet1!C2="x",Sheet1!D2="x"),"x","")
    
  • 在C2单元格输入公式,下拉填充整列:
    =IF(OR(Sheet1!E2="x",Sheet1!F2="x"),"x","")
    

内容的提问来源于stack exchange,提问作者user9836688

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 06:45:36