我有一个excel工作表,其中的表中有多行具有相同名称的行,并在相应列中具有不同的信息。现在,使用公式我想将此信息提取到新表中?解决方案必须使用卓越的配方吗?没有筛选器,没有专用表或VBA
我尝试了vlookup。搜索多个值。我不希望从单个列而是从所有列获取信息。可能有成千上万个具有相同和不同值的列。
我尝试过这个公式:= INDEX(Worksheet!A2:AK350; KKLEINSTE(WENN((A5 = Worksheet!A2:A350); VERGLEICH(ZEILE(Worksheet!A2:A350)); ZEILE(Worksheet!A2:A350 ));“”); 1))
该表格如下所示:
将人们的薪水状况
日本| resident_1 | 564 |未婚
德里| resident_1 | 655 |未婚
中国| resident_1 | 564 |未婚
日本|居民_2 | 748 |未婚现在,我想从上面提取一个子表,就像所有 地点名称为“ japan”的信息
不同表中每个地方的结果应该是这样:
日本| resident_1 | 564 |未婚
日本|居民_2 | 748 |未婚
答案 0 :(得分:0)
看起来像是从事高级过滤器的工作,但是您已经规定了“没有过滤器” 。如果您可以在主表中添加两个帮助器列,则可以使用以下方法。
这是我的main_table
工作表(请注意,以红色概述的列已添加)。
E
(从单元格E2
开始)中的公式为:=CONCAT(A2,"|",B2,"|",C2,"|",D2)
F
(从单元格F2
开始)中的公式为:=ROW()-ROW($F$2)+1
这是我的sub_table
工作表(请注意,顶部以绿色概述的单元格,您将最终在其中指定过滤条件)。
A
(从单元格A5
开始)中的公式为:=ROW()-ROW($A$5)+1
B
(从单元格B5
开始)中的公式为:=IFERROR(SMALL(IF(ISNUMBER(SEARCH($B$2,main_table!$E$2:$E$10)),main_table!$F$2:$F$10,""),$A5),"")
C
,D
,E
,F
列(从单元格C5
开始)的公式为:=IF(ISNUMBER($B5),INDEX(main_table!$A$2:$D$10,$B5,COLUMNS($C5:C5)),"")
B2
中的公式为:=CONCAT(IF(ISBLANK($C$2),"*",$C$2),"|",IF(ISBLANK($D$2),"*",$D$2),"|",IF(ISBLANK($E$2),"*",$E$2),"|",IF(ISBLANK($F$2),"*",$F$2))
我认为较新/即将推出的Excel版本具有JOIN
工作表功能,它比我上面对CONCAT
的使用更为方便/灵活(因此,如果您可以使用它,可以使用它)。
将过滤条件保留为空白应为您提供所有行。如果要部分匹配,请在输入中添加通配符,例如jap*
或resident_*
。如果主表中的任何值包含|
,则可能需要在CONCAT
公式中使用其他定界符(否则可能会得到意外的结果/行为)。
完成后,也许可以如下所示使用它:
看看这种方法是否对您有好处(您可能需要将公式转换为您的语言环境/区域)。