gpt4 book ai didi

excel - 如何查找一行中包含某个值的所有单元格引用,并将它们显示在一个单元格中?

转载 作者:行者123 更新时间:2023-12-02 05:39:08 26 4
gpt4 key购买 nike

问题:

我有一个 Excel 工作表,用于相当大的需求可追溯性矩阵,其中使用 QA 测试用例编号的列和需求的行。我提供了显示针对单个需求使用的测试用例数量的功能,方法是在请求旁边放置一个单元格,对每行使用 COUNTIF 表示“x”。虽然这将显示根据该要求完成的测试数量,但它不会显示实际使用的 QA 测试用例数量。有时,这需要用户向左/向右滚动以查找已针对该要求使用的确切测试用例编号(在列标题中)。

  • 例如:要求 2.1.1 显示“5”作为针对它使用的测试用例的数量。用户必须向右滚动,直到找到单元格中的所有 X,并记下/记住其所在列中的 QA 编号。

我提供了一个屏幕截图来帮助说明我的意思。 RTM Example

我在寻找什么:

我想在“E”旁边添加一列(计算 x 的列),该列将显示给定需求/行具有“X”的每个 QA 测试用例编号(列标题 G5:HR5) .

例如:要求 1.1.2 在该行中有四个 x,表示用于此要求的四个不同的测试用例(QA-466、QA-467、QA-468 和 QA-470)。我希望在行中的某个位置有一个单元格,其中 1.1.2 要求显示“QA-466 QA-467 QA-468 QA-470”。

我有一种感觉,我需要多个隐藏单元格来运行一些公式才能完成这项工作,并且我会在某个时候使用 REFERENCE 和 OFFSET...但是在哪里以及如何使用?

最佳答案

如果您有 OFFICE 365 Excel,请在 F9 中使用 TEXTJOIN() 作为数组公式:

=TEXTJOIN(" ",TRUE,IF(G9:HR9="x",$G$5:$HR$5,""))

作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 确认,而不是 Enter。如果操作正确,Excel 会将 {} 放在公式周围。

小例子:

enter image description here

<小时/>

注意

OFFICE 365 Excel 中引入了 TEXTJOIN。

如果您没有 TEXTJOIN 函数,请将以下内容放入附加到工作簿的模块中。并使用上述公式:

Function TEXTJOIN(delim As String, skipblank As Boolean, arr)
Dim d As Long
Dim c As Long
Dim arr2()
Dim t As Long, y As Long
t = -1
y = -1
If TypeName(arr) = "Range" Then
arr2 = arr.Value
Else
arr2 = arr
End If
On Error Resume Next
t = UBound(arr2, 2)
y = UBound(arr2, 1)
On Error GoTo 0

If t >= 0 And y >= 0 Then
For c = LBound(arr2, 1) To UBound(arr2, 1)
For d = LBound(arr2, 1) To UBound(arr2, 2)
If arr2(c, d) <> "" Or Not skipblank Then
TEXTJOIN = TEXTJOIN & arr2(c, d) & delim
End If
Next d
Next c
Else
For c = LBound(arr2) To UBound(arr2)
If arr2(c) <> "" Or Not skipblank Then
TEXTJOIN = TEXTJOIN & arr2(c) & delim
End If
Next c
End If
TEXTJOIN2 = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim))
End Function

关于excel - 如何查找一行中包含某个值的所有单元格引用,并将它们显示在一个单元格中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42162345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com