1

我想使用一个包含 20 个数字的列表,这些数字都存储在同一个单元格中并用空格分隔。例如在A1我有:

0 0 1 1 2 3 4 7 8 9 10 12 14 16 18 21 24 28 32 37

下面的代码(我在 中B1)将显示单元格中有多少数字(或单词,由空格分隔的任何内容)A1

=IF(LEN(TRIM(A1))=0,0,LEN(TRIM(A1))-LEN(替代(A1," ",""))+1)

的输出B1为 20。

我希望能够在单元格中输入一个介于 1 和 20 之间的数字,A2并使其输出为B2A1. 例如输入 19 inA2将输出 32 in B2

我有几个这样的数字序列,据我所知,它们中的大多数不能用一个更容易的公式来表示。我也可以将每个数字放在一个单独的单元格中,并使用大量 IF() 函数,但是对于这么多序列,这将是乏味的。

我已经尝试使用 SEARCH() 将A1数据和B1公式更改为:

1:0 2:0 3:1 4:1 5:2 6:3 7:4 8:7 9:8 10:9 11:10 12:12 13:14 14:16 15:18 16:21 17:24 18:28 19:32 20:37  

=搜索(A2&":",A1)

现在,当将 19 输入单元格时,A2我得到 90 的输出(正在搜索的序列的第一个字符是单元格中的第 90 个字符)。我认为这些信息可能会帮助我输出后面的数字:,在这种情况下是 32。

这可能吗?

4

2 回答 2

0

根据您的编辑,您可以使用90您进入的MID().

=MID(MID(A1,SEARCH(A2&":",A1),SEARCH(A2+1&":",A1)-SEARCH(A2&":",A1)),FIND(":",MID(A1,SEARCH(A2&":",A1),SEARCH(A2+1&":",A1)-SEARCH(A2&":",A1)))+1,999)

公式有点长,但如果你使用另一个单元格会更短。例如,如果您输入:

MID(A1,SEARCH(A2&":",A1),SEARCH(A2+1&":",A1)-SEARCH(A2&":",A1))

在 C2 中,那么第一个公式将变为

=MID(C2,FIND(":",C2)+1,len(C2))
于 2013-07-12T07:34:36.507 回答
0

几个选择。

将 A1 复制到 C1(因为 B1 可能会妨碍)然后将文本应用到 C1 上的列,并以空格作为分隔符。在 B1 中:

=INDEX(C1:V1,A2)  

或者,

在 B1(或 B2,如果您愿意)输入 =CHOOSE(A2,X)
并在 A3 输入=SUBSTITUTE(A1," ",",")

然后替换X为在 A3 上复制和粘贴特殊值的结果。

于 2013-11-29T01:10:25.453 回答