【问题标题】:How to repeat a value into rows based on another cells value in excel如何根据excel中的另一个单元格值将一个值重复到行中
【发布时间】:2015-08-01 13:17:26
【问题描述】:

在我的工作表中,我有以下数据使用另一个工作表中的 =countif() 语句告诉我有多少人担任某个工作角色:

Job Role|Amount of people in the role
Job 1   |            6
Job 2   |            26
Job 3   |            4

现在我已经在我的工作表中使用了 Job 1、Job 2 和 Job 3 作为该表下方 3 个单独表格的标题,如下所示:

Job Role|Amount of people in the role
Job 1   |            6
Job 2   |            26
Job 3   |            4


Job 1                   Job 2                    Job3
Name|Job Role           Name|Job Role            Name|Job Role

目前我想做的就是根据顶部表格中的数量用工作角色填充 3 个表格中的每一个,例如,在工作 1 表下,我想要工作角色重复 6 次(我不能只输入这个,因为我希望它自动工作,以防万一另一个员工被添加到我拥有的员工列表中)。

Job 1
Name|Job Role
1   |Job 1
2   |Job 1
3   |Job 1
4   |Job 1
5   |Job 1
6   |Job 1

对于作业 2(将有 26 个重复行)和作业 3 将有 4 行也是如此。任何帮助将不胜感激。

【问题讨论】:

    标签: excel excel-formula excel-2010


    【解决方案1】:

    以防万一有人好奇,我已经解决了这个问题。首先,我发现我可以为每个工作 1、工作 2 和工作 3 表中的每一行数据添加一个 ROW ID,并使其不会超过顶部表格中规定的人数这样:

           A                 B                     C
    1    Job Role|Amount of people in the role |
    2    Job 1   |            6                |
    3    Job 2   |            26               |
    4    Job 3   |            4                |
    5
    6    Job 1 
    7    ID      |Name                          |Job Role        
    8    1       |t                             |
    9    2       |b                             |
    10   3       |a                             |
    11   4       |s                             |
    12   5       |d                             |
    13   6       |f                             |
    

    为了让数字变成 6 而不是超过这个,我使用这个公式(IN CELL A8)在员工被带走或添加时自动为该行提供一个 ID:

    =IF(ROW()-7>B2,"",ROW()-7)
    

    这条语句基本上是说“如果行号-7高于B2(表中的6),则留一个空格,如果行号低于B2然后返回行号-7 = 1,当拉下这将一直持续到 6 点,然后开始留下空白,除非添加了 Job 1 工作角色的另一名员工,以防万一它会上升到 7 点。

    当我有 ID 号时,要返回工作角色这很容易,我在单元格 C8 中使用的语句是:

    =IF(A8<>"",A6,"")
    

    这基本上意味着如果 ID 列中有内容,则返回 Job Role,这样我就得到了我想要的:

    Job 1
    ID  | Name  |Job Role
    1   |   T   |Job 1
    2   |   B   |Job 1
    3   |   A   |Job 1
    4   |   S   |Job 1
    5   |   D   |Job 1
    6   |   F   |Job 1
    

    【讨论】:

      【解决方案2】:

      你必须使用电源查询

      您可以使用以下公式简单地添加一列:

      =Text.Repeat("a",[重复次数的列])

      在第 5 列中应该是要复制的行数。

      然后,在转换选项卡中,按字符数拆分新列,使用 1 个字符拆分,但在高级设置中,请确保拆分为行,而不是列,这将复制所有其他列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-28
        • 2019-10-04
        • 2020-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多