gpt4 book ai didi

excel - TEXTJOIN 输出的逆序

转载 作者:行者123 更新时间:2023-12-02 23:52:27 27 4
gpt4 key购买 nike

我被要求从 Excel 工作簿中删除 Excel VBA UDF。这是为了允许工作簿在无宏的环境中运行。

该代码颠倒了逗号分隔字符串中项目的顺序。代码非常简单:

Public Function FlipIt(Sin As String) As String
Dim a, arr

FlipIt = ""
arr = Split(Sin, ",")
For Each a In arr
FlipIt = a & "," & FlipIt
Next a
FlipIt = Left(FlipIt, Len(FlipIt) - 1)
End Function

它在工作表中的使用如下:

=flipit(TEXTJOIN(",",TRUE,A1:A6))

enter image description here

我编写代码是因为我无法弄清楚如何以相反的顺序输出 TEXTJOIN()

我能想到的最好办法就是使用辅助列。所以在D1中我输入:

=IF(ROWS($1:1)>COUNTA(A:A),"",INDEX(A:A,COUNTA(A:A)-ROWS($1:1)+1))

并向下复制。用途:

=TEXTJOIN(",",TRUE,D1:D6)

我不敢相信这么简单的事情需要“帮助器”列。

有什么建议吗?

最佳答案

使用此数组公式来创建向后的名称数组:

=TEXTJOIN(",",TRUE,INDEX(A1:A7,N(IF({1},ROWS(A1:A7)-ROW(A1:A7)+MIN(ROW(A1:A7))))))

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 确认,而不是 Enter。

enter image description here

<小时/>

一旦 Microsoft 将 SEQUENCE 发布到 Office 365,它可以缩短为:

=TEXTJOIN(",",TRUE,INDEX(A:A,SEQUENCE(ROWS(A1:A7),,ROWS(A1:A7),-1)))

回车即可正常输入。

关于excel - TEXTJOIN 输出的逆序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57206567/

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