我想使用一个包含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(SUBSTITUTE(A1,“”,“”))+ 1)
B1
的输出为20.
我希望能够在单元格A2
中输入1到20之间的数字,并使B2
的输出为与A1
中该位置的值对应的数字。例如,A2
中的输入19将在B2
输出32。
我有几个这样的数字序列,据我所知,大多数数字序列不能用一个本来容易得多的公式来表示。我还可以将每个数字放在一个单独的单元格中并使用大量的IF()函数,但这对于如此多的序列来说会很繁琐。
我尝试使用A1
数据和B1
公式更改为SEARCH():
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
= SEARCH(A2&安培; “:”,A1)
现在当输入19到单元格A2
时,我得到90的输出(被搜索的序列的第一个字符是单元格中的第90个字符)。我认为这些信息可能会帮助我输出:
之后的数字,在这种情况下是32。
这可能吗?
答案 0 :(得分: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))
答案 1 :(得分:0)
有两种选择。
将A1复制到C1(因为B1可能在路上)然后将文本应用于C1上的列,其中Space为分隔符。在B1:
=INDEX(C1:V1,A2)
或,
B1中的(如果您愿意,则为B2)输入=CHOOSE(A2,X)
并在A3中输入=SUBSTITUTE(A1," ",",")
然后将X
替换为A3上的复制和粘贴特殊值的结果。