我在Excel中有两列数据列表。第一列是来自测试的问题编号,第二列是引用该问题上正在测试的内容的编号。一些元素在不止一个问题上进行测试。我希望能够列出测试每个元素的问题编号。例如:
WKWebView
我希望使用公式返回。
我遇到的问题是返回,然后连接一列中未指定数量的值,这些值引用了右边另一列的特定条件。
编辑:寻找公式答案,如果可能的话,不是VBA
编辑:感谢大家到目前为止的评论。我将看看到目前为止给出的每个可能的解决方案,让你知道我的用途。 1,2,3等需要在同一个单元格中。
答案 0 :(得分:4)
只是将我的评论放在答案中,所以它更有意义。
首先对B列上的A列和B列进行排序。
在C2中输入公式:
=VLOOKUP(E2,$B$2:$C$6,2,FALSE)
然后复制。
然后在E栏中放置您的唯一参考列表。在D2中:
{{1}}
然后复制。
然后,您可以隐藏C列。
它确实要求它正确排序并且需要帮助列,但它确实保留在仅公式规则中。
答案 1 :(得分:1)
本质上,Excel在工作表公式中不鼓励这样做。我猜他们认为如果你在用户定义函数(又名 UDF )中执行此操作并且它会使工作簿变为现实,那么这是你自己的错,所以就这样吧。为此,我从未见过仅使用本机工作表函数的标准或数组公式,这些函数在“不规则”的单元格数组上完成此操作并且已经尝试了几次。按设计考虑它#REF!
。
您可以运行连续的IF
函数(最多64个xl2007 +标准)来完成字符串拼接(请参阅this),但您也将受限于公式的总长度(请参阅{ {3}})。我们还使用'辅助'单元来运行< = xl2003中的前7个IF,然后在另外7个嵌套IF的第一个IF中引用该单元(冲洗并重复)。
TLDR;简而言之,VBA是您最可行的解决方案(参见this)。条件字符串连接本身充满了问题,更不用说在数组循环中了。
<子> this 子>