【问题标题】:Indirect(), list2 name independent from list1 content?Indirect(),list2 名称独立于 list1 内容?
【发布时间】:2014-05-24 11:09:12
【问题描述】:

如果我理解正确,使用间接()函数,第二个列表必须用第一个列表中的项目命名。 例如,在第一列“国家”中,我写:美国、加拿大、法国、西班牙…… 然后我需要每个国家的一列及其城市列表,并且列表必须根据国家列表命名。

我想通过三个步骤创建项目名称:Name1、Name2 和 Name3。 (Name2 取决于 Name1 等等)

我希望列表名称独立于列表内容(因此每个用户都可以根据其项目填充列表)。

我想将我的列表命名如下:

一级列表: 否

二级列表:

N1、N2、N3、N4...

三级列表:

N1.1、N1.2、N1.3

N2.1,N2.2

N3.1...

...

如果需要保持可实现性,我们可以将每个列表限制为最多 10 或 15 个项目。

如果你能在没有 VBA 的情况下帮助我,那就太好了

提前谢谢

【问题讨论】:

    标签: excel list excel-indirect


    【解决方案1】:

    基于以下方案:

    使用这些公式:

    F4 -> =IF(LEFT(B4;LEN($F$3))=$F$3;B4;"")
    H4 -> =OR(IFERROR(FIND(".";F4;LEN($F$3)+2)>0;FALSE);F4=$F$3)
    J4 -> =IF(L4="";J3;J3+1)
    K4 -> =IF(M4="";"";J4)
    L4 -> =IF(H4;"";F4)
    M4 -> =IF(L4<>"";C4;"")
    O4 -> =IFERROR(VLOOKUP(ROW(P1);$J$4:$M$17;3;);"")
    P4 -> =IFERROR(VLOOKUP(ROW(P1);$K$4:$M$17;2;);"")
    Q4 -> =IFERROR(VLOOKUP(ROW(P1);$K$4:$M$17;3;);"")
    

    J 列是结果的索引不清楚,而不是我创建的 K 列是干净的(= 没有重复的索引 - 但它不是必需的,如 O 和 P 列所示 - 相同的结果)。
    Result - Raw 是不删除空格的搜索方法,Result Rebuilt 是不带空格的结果...
    该公式仅显示 1° 等级的字段,而不显示子数据。
    您可以隐藏不需要的列...
    对于结果使用空白您只能使用列 F / H / L / M.
    显然通过 VBA 它更简单......

    【讨论】:

      【解决方案2】:

      最后我可以使用函数在数据验证中做到这一点:

      =offset()
      
      indirect()
      index()
      match()
      

      和列表

      我认为使用 Vlookup() 也是可能的,但我遇到了 3 个嵌套 vlookup 的问题。

      使用上面提到的 4 个函数,我可以创建 3 个下拉动态列表。

      我确信有一种更简单、更优雅的方法,但我最终成功了。

      我无法编写所有的 Excel 表格,但如果有时可以帮助某人,我可以粘贴函数:

      尼维尔 1

      =OFFSET(Topic1;0;0;COUNTA(Topic1);1)
      

      尼维尔 2

      =OFFSET(INDIRECT(INDEX(TopicsLevel2;MATCH(C15;Topic1;0)));0;0;COUNTA(INDIRECT(INDEX(TopicsLevel2;MATCH(C15;Topic1;0))));1)
      

      尼维尔 3

      =OFFSET(INDIRECT($F15);0;0;COUNTA(INDIRECT($F15));1)
      

      在 F15 中

      =INDEX(TopicsLevel2;MATCH(C15;Topic1;0))&INDEX(Suffix;MATCH(D15;INDIRECT(INDEX(TopicsLevel2;MATCH(C15;Topic1;0)));0))
      

      列表 nivel 3 的名称是列表 nivel 1 和列表 nivel 2 名称的串联。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        • 2023-03-23
        • 2021-04-27
        • 1970-01-01
        • 2021-09-10
        • 2020-01-09
        相关资源
        最近更新 更多