问题标签 [textjoin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1954 浏览

vba - Excel VBA - 带分隔符和单引号的字符串连接

我有一列单元格。它们需要连接成一个字符串,中间有多个分隔符。

我需要第 1 列中的值中第 2 列中的结果

目前我使用以下公式

并将其复制到 B2 列。

是否有 VBA 代码可以帮助我做到这一点。我确实找到了一些会在单元格之间添加单个分隔符 ' 但我无法修改它以添加多个分隔符。

如果可以共享相同的 VBA 代码,将会非常有帮助。

0 投票
1 回答
65 浏览

vba - 使用非空白行和空白行作为头尾循环复制​​列表

嗨,所以我有一组要复制的数据。基本上我想创建一个 if 函数。如果我们在 B 列中搜索一个空白行并且它是空白的,则循环到下一行,并继续直到第一个非空白行。如果我们点击非空白复制列 c 中所有空白行中的所有单元格。

http://imgur.com/XGwB4XR

0 投票
1 回答
4523 浏览

excel - 如果下面行中的值非空白,则连接列标题

我有以下格式的数据表。

数据
在此处输入图像描述

我希望完成的表格能够像下面突出显示的那样填充空白列。

成品表
在此处输入图像描述

因此,我需要一个公式或 VBA 来返回并连接每行中非空白单元格的标题。

0 投票
2 回答
77 浏览

excel - 从多个单元格中选择值并将输出粘贴到一个单元格中

我有一个数据集,如下所示:

我想将下面的输出粘贴到一个单元格中:

这样我就可以复制它并在其他地方使用它。

0 投票
1 回答
331 浏览

vba - 如何将公式输入像条件格式一样输入到 UDF

想象一下,您想检查一个范围内每个单词的左字母是否为“a”,然后加入该条件为真的单词。一种方法是使用辅助列,如果不为真则返回“”,如果它以“a”开头则返回单词,然后是CONCAT()辅助列上方的总行。

另一种方法是使用数组公式。{=CONCAT(IF(LEFT(range) = "a", range, ""))}. 无论如何,这实际上是在使用辅助列。

但我想要的是使用条件格式方法:应用条件格式时,您引用范围的左上角单元格。所以对于一个rangein A1:A10,我想要一个像=CONCATIF(A1:A10, LEFT(A1) = "a"). SUMIFCOUNTIF接近这个功能,只有他们使用字符串输入">""=..."它不能引用他们正在测试的单元格(即,没有等价物,LEFT(A1)因为没有办法在字符串中引用the_cell_I'm current_working_on )

但问题是,如果我制作一个尝试接受类似 的测试的 UDF LEFT("A1") = "a",它只会评估那个单元格,而不是像条件格式那样在整个范围内进行评估。

为什么不直接使用数组公式?

好吧,主要是我很想看看 vba 函数是否可以像数组公式那样充当数组公式COUNTIF- 通过评估指定为参数的某些条件。只有在接受相对公式而不是字符串输入时具有条件格式的功能。

而且,对于这种特定情况,我正在尝试将CONCAT一些长段落转换为单个字符串。每个段落可能有 1000 个字符,无论出于何种原因,{=CONCAT(IF(LEFT(A1:A10) = "a", A1:A10, ""))}它都不起作用,因为IF(对于长段落返回值错误。该公式适用于小段落。但是VBA版本可以concat整个A1:A10,我只需要一种方法来先运行测试条件!

更新


为了明确起见,我正在寻找以下内容:

  • 一个通用的 UDF,它接受一个RANGE以及一个布尔 FORMULA输入
    • 如果需要,这些可以在 UDF 的相同参数中
  • UDF 计算范围内每个单元格的布尔公式
  • UDF根据结果返回一个数组和值TRUEFALSE
  • 该数组可以传递给标准数组处理函数,例如CONCATSUM
    • 或者,如果无法返回数组的 UDF,则可以在内部将数组传递给 UDF 的另一部分,然后由其处理它
    • 类似于必须在某个点返回/COUNTIF的数组,但随后在内部对它们进行计数以返回一个数字,而不是数组,因此不能作为数组公式输入。TRUEFALSE
  • 我对如何生成这个布尔数组感兴趣

现在研究表明有 3 种主要方式:数组函数,无论出于何种原因,它都不能保存长字符串,CONCATIF/SUMIF类型函数,它将文本参数作为布尔测试,但在测试类型上受到严重限制。第三种方法是条件格式使用的方法;选择一个范围,公式测试在所选范围内的所有单元格上运行,返回TRUEFALSE(内部),这个布尔数组用于格式化范围内的单元格。但在 UDF 中,它们可以很容易地作为结果传递或在内部用于进一步计算(例如CONCATIF函数)

因此,我正在寻找以下之一:(这不是数组公式方法,理想情况下应该在没有ctrl+ shift+的情况下输入enter。)

  • 使用类似COUNTIF但更好的方法的 UDF:它接受范围参数和公式作为字符串,公式是任何返回布尔值的工作表公式,例如'LEFT(cell)="a"(注意,文本字符串)
  • 更好的 UDF,它使用像条件格式这样的方法;接受范围和任何返回布尔值的公式 *未格式化为文本"
    • 这会很好,因为您可以使用 Excel 自动提示和范围突出显示来创建公式,如果它是文本则无法执行此操作
  • 对于选项 1),布尔公式可以引用“单元格”一词或其作用范围。对于选项 2),它引用范围内的左上角单元格,就像条件格式一样
    • 我认为application.caller当它不是文本时提取公式部分可能很有用。
  • UDF 最终可能会返回许多选项,可以使用工作表函数或自定义计算进一步定制,但正如我所说,我真的很喜欢布尔值列表

起初我没有输入,因为我不想提出code this for me问题,但我认为我已经在那里提供了足够的细节(以及独立思想的证明!)现在问题是如何而不是什么,我相信在 SO 上更容易接受。

0 投票
1 回答
11230 浏览

excel - 连接索引匹配的多个结果

我正在尝试将索引匹配中的多个结果连接到一个单元格中。这是我正在使用的示例数据集:

在此处输入图像描述

我想要的结果:

在此处输入图像描述

如您所见,我正在尝试查找数据为 2017 年 4 月 12 日的所有客户。然后我想将它们组合成另一个单元格中的一个字符串。如果日期相同,我已经弄清楚如何总结数量,但就是不知道如何连接客户。

0 投票
1 回答
159 浏览

excel - 如果行中有匹配项,则返回列名,查找多个匹配项

我有一张桌子,零件如下;

还有一个是这样的;

第二个表的列中的数字是“单位”。
我试图弄清楚如何获取零件具有 X 的所有单元号。基本上我想得到以下结果;

现在我最近才学会了如何使用 INDEX 和 MATCH,但还没有得到我想要的结果。我试过使用数组公式,但我还不明白。

0 投票
3 回答
320 浏览

regex - 如何从连接的文本中提取最后一个正斜杠(/)

我在 excel 中有一个列,其中包含一个由“;”划分的连接字符串 例如

SM/123456789/1;PM/123456789/21;AM/123456789/1;GM/123456789/81;QM/123456789/1

我想返回第二个正斜杠的值,例如

1;21;1;81;1

注意:我将使用仅提取一个输入的最后一个“/ SM/123456789/199

这将在 的情况下提取199或 1 SM/123456789/1。我如何实现这一目标?这里有数组公式的机会吗?

0 投票
1 回答
535 浏览

excel - Vlookup 返回多个值

我正在尝试执行 Vlookup 以返回多个值。但是,该功能需要很长时间才能加载。有没有办法让它更快?我从网上得到了这个功能:https ://www.extendoffice.com/documents/excel/2706-excel-vlookup-return-multiple-values-in-one-cell.html

这是子代码

0 投票
2 回答
1220 浏览

excel - 如何根据Excel中的多个条件从列中提取所有唯一值

我正在尝试根据 vlookup 类型匹配从列中获取所有不同值的列表。

例如:

表 1:

表 2(所有数据所在的位置)

我希望能够在工作表 2 的 colA 中的工作表 1 中的 colA 中搜索健康系统的名称...并根据它是 PMR 还是 EMR...从 Vendor 列返回唯一值的数量到表 1 中相应列下的一个单元格。

因此,在系统 A 的表 1 中的 EMR 列下,我想要表 2 中供应商列的不同值,其技术 ID 为系统 A 的“EMR”。

在这种情况下,它将是:ClinicA,ClinicE

任何帮助将不胜感激!