gpt4 book ai didi

Excel "UnCONCATENATE"/函数中爆炸/将单元格转换为数组

转载 作者:行者123 更新时间:2023-12-03 02:55:36 26 4
gpt4 key购买 nike

我正在尝试在 Excel 2010 中“取消连接”一个字符串。是的,我知道这不是一个真正的单词。差不多了;我有一个无法拆分为多列的单元格,该单元格如下所示:

项目 1、项目 2、项目 3

现在这个单元格可能有 0-?项目。我想将该一个单元格与另一张工作表中的列进行比较。我相信我需要使用 match 函数来执行此操作,但我需要将第一个单元格转换为函数中的数组,并将分隔符作为逗号。到目前为止,我有 =MATCH(单元格中的每个项目, SHEET2!A:A, 0)

任何帮助都会很好。我知道 =Left 和 =Right,但我认为这些不起作用,因为每个单元格中的项目数量可能不相同。谢谢

编辑:

详细说明:在我的第一张表中,我有一个下拉框。当您选择项目时,它会在工作表 2 上对该项目进行 vlookup。发生这种情况时,我希望它还检查该行(第 1 项、第 2 项、第 3 项)中的单元格 E 是否与工作表 3 中的列中的任何单个单元格匹配

最佳答案

以下代码公开了 VBA 的 Split 函数以供工作表使用 - 它返回已使用指定分隔符拆分的项目的行数组。例如,如果单元格 A1 包含文本“Item 1,Item 2”),则 EXPLODE(A1,",") 将返回包含元素“Item 1”和“Item 2”的数组。

  Function EXPLODE(str As String, Optional delimiter As Variant) As Variant
If IsMissing(delimiter) Then
delimiter = " "
End If
EXPLODE = Split(str, delimiter)
End Function

这是一个数组函数。要在电子表格中使用返回的元素:

  • 选择您希望在其中显示“分解”项目的单元格
  • 输入函数,指定包含源字符串的单元格(或对包含源字符串的单元格的引用)以及将进行分割的分隔符
  • 使用 Control-Shift-Enter 组合键完成输入。

或者,可以使用 INDEX 函数选择单个元素 - =INDEX(EXPLODE(A1,1,2) 将使用前面的示例返回“Item 2”。(给定范围或数组,INDEX 函数返回第 i 行第 j 列中的值。)此用法不需要​​将公式作为数组公式输入。

对于您的用例,与其他功能的组合是合适的。您有一个包含“aa、bb、cc”形式的多个项目(VLOOKUP 的结果)的字符串,并且想要确定是否可以在 A 列的任何单元格中找到该字符串的任何元素作为单独的项目.您需要一个函数,如果找到所有元素,则返回 True,否则返回 False。以下公式可实现该结果:

  =SUM(SIGN(IFERROR(MATCH(TRIM(EXPLODE(D1,",")),$A:$A,0),0)))=COUNTA(EXPLODE(D1,","))

这是一个数组公式,需要用Control-Shift-Enter输入。请注意,我使用单元格 D1 的内容代替您的查找值。 TRIM 函数去除包含多个项目的字符串元素之间的任何无关空格。

关于Excel "UnCONCATENATE"/函数中爆炸/将单元格转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914761/

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