【问题标题】:Excel - autofill formula horizontally with cell number incrementExcel - 使用单元格编号增量水平自动填充公式
【发布时间】:2018-09-24 01:01:05
【问题描述】:

我有以下问题。我想将单元格 C13 中的这个公式 =SUMPRODUCT(--($C3:$Q3=C4:Q4)) 复制到相邻的单元格(D13、E13、F13 等),但我希望 $C3:$Q3 变为 $C4:$Q4。 (基本上是=SUMPRODUCT(--($C3:$Q3=C4:Q4)) ====> =SUMPRODUCT(--($C4:$Q4=C4:Q4)) 等等)。水平拖动没有帮助,因为自动填充会增加行数而不是列号。

我尝试使用 OFFSET,但据我了解,它引用的是数据而不是公式。任何帮助,将不胜感激。提前致谢。

【问题讨论】:

    标签: excel autofill array-formulas


    【解决方案1】:

    C13

    =SUMPRODUCT(--(OFFSET($C$3:$Q$3,SUM(COLUMN(C13)-COLUMN($C$13)),,,)=$C$4:$Q$4))
    

    然后跨列拖动它。

    注意:

    1) 这假设$C$4:$Q$4 是一个固定范围,因为它在您给定的示例中保持不变

    2) 你不介意 D 列中的公式将自我引用以进行比较

    您也可以只将Index 括起来。

    =SUMPRODUCT(--(INDEX(OFFSET($C$3:$Q$3,COLUMN(C13)-COLUMN($C$13),,,),0,0)=$C$4:$Q$4))
    

    例子:

    编辑:

    基于共享工作簿,其中需要跨列和向下拖动以比较 64 * 64 矩阵元素(其中每个元素是源数组中的一行)

    在 C71 中输入以下内容并向下拖动到 BM133:

    =SUMPRODUCT(--(INDEX($C$2:$W$64,MATCH($B71,$B$2:$B$64,0),0)=INDEX($C$2:$W$64,MATCH(C$70,$B$2:$B$64,0),0)))
    

    结果:

    在 C71 中添加了关于性别不同的 R 列测试,将以下内容向下拖动到 BM133:

    =IF(INDEX($C$2:$W$64,MATCH($B71,$B$2:$B$64,0),16)<>INDEX($C$2:$W$64,MATCH(C$70,$B$2:$B$64,0),16),SUMPRODUCT(--(INDEX($C$2:$W$64,MATCH($B71,$B$2:$B$64,0),0)=INDEX($C$2:$W$64,MATCH(C$70,$B$2:$B$64,0),0))),"")
    

    【讨论】:

    • 由于某种原因,您的公式在我的 Excel 版本中显示错误消息。我将其编辑为如下所示: =SUMPRODUCT(--(INDEX(OFFSET($C$3:$Q$3;COLUMN(C13)-COLUMN($C$13);0);0;0)=$C$4: $Q$4)) 我现在唯一的问题是我无法将新公式向下拖动并填写。例如,我可以将旧公式(我的问题中的那个)从 C13 向下拖动到 C20,但我无法将新公式从 D13 拖到 C20。
    • 它现在不显示错误,但我仍然无法将新公式向下拖动。我的意思是我可以,但它给了我错误的结果。
    • 是的,我明白了,但想法是将所有公式从 C 列转移到 D 列。使用你的公式,我只能转移第一个(C13 交叉),但我不能转移其余的(跨 C14)。
    • 是的,我知道,但数据不是英文的。
    • 这是 excel 电子表格:ufile.io/oytxm 我想我得给你一些背景信息。从 1 到 64 的数字是人。第一个表是数据。我必须检查有多少人 1 的答案等于人 2(机智人 3、4 等),因此我在数据下方制作了表格。
    【解决方案2】:

    将公式转换为文本应该可以工作。

    1. =SUMPRODUCT 公式复制到需要填充的列的行数。
    2. 将公式转换为文本。突出显示您复制下来的行并找到所有= 并将其替换为'=
    3. 复制这些行。
    4. 在列中选择要添加公式的单元格,然后在选中 valuestranspose 的情况下进行特殊粘贴。
    5. 突出显示粘贴的单元格并找到所有= 并将其替换为=

    不幸的是,最后一步是让它工作的必要步骤,尽管它看起来是多余的。

    【讨论】:

    • 感谢@Andrew 的回答。唯一的问题是您的方法不会编辑锚定数字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多