【问题标题】:Find a text in a given column from differents columns in Excel从 Excel 的不同列中查找给定列中的文本
【发布时间】:2016-05-07 02:18:28
【问题描述】:

我有一个名称不同的 excel 列,例如:

       a

1     name1
2     name2
3     name2
4     name6
..
1000  name 298

并且还具有不同的列,例如,$a 列具有不同的列

       c        d       e

1    RANGE1   RANGE2  Range3
2    name1    name5   name8
3    name2    name6   name9
4    name3    name7   name10
5    name4            name11

我想创建一个列 $b 来检查列 $a 的文本并输出其范围名称 在这种情况下,它将是

       b
1    RANGE1
2    RANGE1
3    RANGE1
4    RANGE2
...
1000 RANGE30

我曾尝试使用=if(a1=c2,c1,if(a1=c2,c1,if(..........)) 制作公式,但正如您所见,这将需要很长时间,而且我不知道如何使其不那么复杂和耗时。 你有什么主意吗? 提前感谢您,祝您有美好的一天

【问题讨论】:

  • name7 属于RANGE2RANGE3 是否正确?以及如何检测在这种情况下属于哪个范围名称?还有你有多少个范围?
  • 不,它只属于RANGE2,这是一个错字,谢谢,我有类似 12 RANGES 的东西

标签: excel text


【解决方案1】:

B1试试这个:

=INDEX($1:$1,1,MAX(IF($C:$E=A1,COLUMN($C$1:$E$1))))

然后按 CTRL+SHIFT+ENTER 计算它,然后向下拖动公式。

为了使公式更快,我建议您将 $C:$E 更改为精确范围,例如 $C$1:$E$100

UPD

非易失版本:使用B1中的下一个公式

=INDEX($C$1:$E$1,MAX(IFERROR(MATCH(IF($C$1:$E$100=A1,$C$1:$E$1,""),$C$1:$E$1,0),-1)))

使用数组条目 (CTRL+SHIFT+ENTER) 并将其向下拖动。

【讨论】:

  • 谢谢你的回复,我试过第一个公式,但我不明白,我有不同的excel范围,我修改了第二个,我只得到#Value!这是我的公式 =INDEX($Z$2:$AK$2,MAX(IFERROR(MATCH(IF($Z$2:$AK$7=D3,$Z$2:$AK$2,""),$Z$2:$AK$2,0),-1))) ,几乎我的名字列在 d3 和范围列是从 z2 (其中 z2 是范围的名称,例如 RANGE1 )到 ak7 ,但它不运行,你知道为什么吗?
  • 1) 检查 D 列和 Z:AK 中的姓名是否真的匹配(例如,没有额外的前导/尾随空格) 2) 检查您是否按 CTRL+SHIFT+ENTER 而只是 ENTER 来评估公式
  • 3) 您的范围的第一个公式将是 =INDEX($2:$2,1,MAX(IF(TRIM($Z$2:$AK$7)=TRIM(D3),COLUMN($Z$2:$AK$2)))) - 这里是 IF(TRIM($Z$2:$AK$7)=TRIM(D3),COLUMN($Z$2:$AK$2)) 如果它在 $Z$2:$AK$7 中找到来自 D3 的值,它会返回找到它的列号(例如 Z=26 , AK = 38)。下一步INDEX(2:2,1,col) 从列的第二行返回值,我们在上面找到。 4)第二个公式尝试=INDEX($Z$2:$AK$2,MAX(IFERROR(MATCH(IF(TRIM($Z$2:$AK$7)=TRIM(D3),$Z$2:$AK$2,""),$Z$2:$AK$2,0),-1))) 5)这里也是测试工作簿:dropbox.com/s/v1hnepyz4ta6tlf/test.xlsx
猜你喜欢
  • 2016-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多