【问题标题】:Excel: Display Array of Numbers from Range in single cellExcel:在单个单元格中显示范围中的数字数组
【发布时间】:2015-08-20 18:37:44
【问题描述】:

有没有办法将一个 nxm 范围与一个单元格中的数字连接起来?

例如:

1   2   3

4   5   6

->

{1 2 3; 4 5 6}

当我在公式窗口中选择一个范围并按 F9 时,Excel 会执行此操作。我正在寻找一种直接使用函数执行此操作的方法。

【问题讨论】:

  • 没有 VBA,几乎没有。使用工作表公式,这仅在非常有限的情况下可行,例如,如果 nxm
  • 我将如何使用 vba?
  • 您希望结果如何显示?逗号分隔?
  • 是的,或者在列中使用空格,在行中使用分号,如上例所示

标签: excel


【解决方案1】:

这样就可以了:

Option Explicit
Function merge(rang As Range) As String
Dim r, c As Range
merge = "{"
    For Each r In rang.Rows
        For Each c In r.Cells
            merge = merge & c.Value & " "
        Next c
        merge = merge & ";"
    Next r
    merge = Left(merge, Len(merge) - 1) & "}"
End Function

然后,您可以从 excel 中调用函数合并并使用任何范围作为输入。我不认为有一个标准的excel函数可以做到这一点。

【讨论】:

  • 我不明白为什么有人对它投了反对票,尤其是在没有发表评论的情况下。像这样的事情是要走的路。对代码的一个可能的调整是使用可选的分隔符参数,默认为“”和“;”
猜你喜欢
  • 2016-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多