【问题标题】:Excel - formula link cells based on another columnExcel - 基于另一列的公式链接单元格
【发布时间】:2020-01-02 08:24:39
【问题描述】:

我想使用公式(或我将在 VBA 中创建的函数,我更喜欢公式)来执行以下操作: 我在 A 列中有文本,我想根据 B 列中的类似单元格在 E 列中链接。 例如:单元格 B2、B3、B4 等于“A”,我希望单元格 E2 成为 A 列中带有“;”的值值之间。

【问题讨论】:

    标签: excel


    【解决方案1】:

    我不知道如何使用公式,但下面的 VBA 方法会起作用。

    1. 在工作表中按 Alt + F11 打开 VBA 编辑器窗口
    2. 在左侧窗格中,右键单击 sheet1 并插入模块
    3. 复制粘贴下面的方法
    4. 在公式中使用MultipleLookupNoRept方法

      Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, 列号为整数) 暗淡我只要 将结果暗淡为字符串 For i = 1 To LookupRange.Columns(1).Cells.Count If LookupRange.Cells(i, 1) = Lookupvalue Then 对于 J = 1 到 i - 1 如果 LookupRange.Cells(J, 1) = Lookupvalue Then 如果 LookupRange.Cells(J, ColumnNumber) = LookupRange.Cells(i, ColumnNumber) 然后 转到跳过 万一 万一 下一个 结果 = 结果 & " " & LookupRange.Cells(i, ColumnNumber) & ";" 跳过: 万一 接下来我 MultipleLookupNoRept = Left(Result, Len(Result) - 1) 结束函数

    【讨论】:

      【解决方案2】:

      您可以为此使用数组公式: =TEXTJOIN(";",TRUE,IF(B:B=B2,A:A,""))

      在单元格 E2 的栏中输入公式,然后按 ctrl+shift+enter 创建数组公式。

      【讨论】:

      • TEXTJOIN 仅适用于最新版本的 excel
      • 我按照你说的做了,我在整个 E2:E6 都得到了“Apple;Banana;Orange”
      • 你是不是按了ctrl+shift+enter然后往下拉了?确保 B:B=B2 中的单元格没有 $ 符号。例如,在单元格 E6 中,它应该看起来像 {=TEXTJOIN(";",TRUE,IF(B:B=B6,A:A,""))}
      • 现在工作。完美!
      • 很高兴听到,数组公式在 imo 中未被充分利用。如果您的问题得到解决,请记得标记最佳答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      相关资源
      最近更新 更多