【问题标题】:How to replace a range with list of coordinates in Excel?如何用Excel中的坐标列表替换范围?
【发布时间】:2020-03-13 15:24:44
【问题描述】:

此代码计算column C 中与column B 中的数字位于同一行的字符串长度的总和:

=SUMPRODUCT(ISNUMBER(B2:B1048576)*LEN(C2:C1048576))

如果不是column C我想放置一组由column A中的移位索引描述的坐标,我应该如何将范围更改为坐标?

我发现我可以使用以下代码将移位索引转换为列字母以获取每一行的列坐标:

=SUBSTITUTE(ADDRESS(1;H1;4);"1";"")

但我不知道如何使用这组坐标而不是column range C

【问题讨论】:

    标签: excel xlsx xls


    【解决方案1】:

    使用索引:

    =SUMPRODUCT(LEN(INDEX(C:F,N(IF({1},ROW(B2:B6))),N(IF({1},A2:A6+1))))*ISNUMBER(B2:B6))
    

    根据一个人的版本,这可能需要在退出编辑模式时使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

    【讨论】:

    • 非常感谢!你能解释一下 LEN 函数中的这个东西是如何工作的吗?
    • INDEX 接受三个参数,INDEX(range,row,column) 我只是创建一个行数组和列数组(基于 A 列中的索引),它们被传递给 INDEX,然后 INDEX 返回这些指数的正确值。如果您使用公式→评估公式,您可以按照步骤操作。
    • IF({1}...中的{1}是什么意思?
    • 它强制一个数组。如果您订阅了 Office 365,则两个 N(IF({1},..)) 都不需要,因为它们修复了 INDEX 以正确获取数组。在所有其他版本中,我们需要“欺骗” Index 接受和使用数组,这就是这样做的。
    • 这在 Google 表格中不起作用。它们是不同的应用程序,具有不同的功能。
    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 2018-12-28
    • 2017-10-31
    相关资源
    最近更新 更多