编写公式以列出与交易金额匹配的所有条目


0

我正在尝试编写一个公式,以列出所有5个总帐行项目都共享相同的“转帐参考借方费用总额”这一事实,在以黄色突出显示的蓝色单元格中列出以黄色突出显示的5个总帐行项目。我可以使用countif公式获得匹配计数,但是我基本上想将GL条目连接成一个字符串,如下所示:

“ GL10_171094 GL10_171096 GL10_171098 GL10_171100 GL10_171102”

有什么建议吗?

电子表格


2
您将需要Office 365,vba或帮助器列。Office 365具有TEXTJOIN()函数,而其他Office 365将需要使用帮助器列,然后使用VLOOKUP。
Scott Craner

我将如何实现一个帮助器列来协助vlookup?如果我使用vlookup或match公式,它将仅提供第一个条目,即GL10_171094。
理查德·普尔曼

1
因此,需要一个帮助程序列,在找到相似条目时将其一一连接起来。网络上有许多有关如何执行此操作的示例。
斯科特·克雷纳

您是否需要一个单行答案或全部五个单元格?我认为单行连接在一个单元格中。
Rajesh S

Answers:


1

您也可以使用此简单制作的UDF。

要存储它,请右键单击“工作表”选项卡,单击“查看代码”,然后将此代码插入为模块。

Function ConcatenateIf(CriteriaRange As range, Condition As Variant, ConcatenateRange As range, Optional Separator As String = ",") As Variant

Dim xResult As String
On Error Resume Next

If CriteriaRange.count <> ConcatenateRange.count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If

For I = 1 To CriteriaRange.count
    If CriteriaRange.Cells(I).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(I).Value
    End If
Next I

If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If

  ConcatenateIf = xResult

  Exit Function

End Function

注意:最后将此公式写在单元格B2中。

  =ConcatenateIf(C2:C16,C2,A2:A16)

0

您在蓝色列中编写此公式。我假设是B列。

所以B2中的公式

=IF(C2<>C1,CONCATENATE(A2,", ",B2,),"")

将其拖动到最后一行。使用数据,您将在代码集的最后一行获得合并值。

首先进入第6行,然后进入7至9,然后进入第14行。

希望这对您有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.