如何从另一个单元格中的文本字符串创建列表?

时间:2015-07-24 08:59:47

标签: excel list

我需要知道如何在单元格中使用字符串:>> difference.strftime('%H:%M:%S.%L') => "01:01:01.199" 在另一个单元格的索引函数中。

如果我写{"Alpha";"Beta";"Gamma";"Delta"},它会在单元格中正确显示Beta。

如果我用

填充单元格A1

=INDEX({"Alpha";"Beta";"Gamma";"Delta"};2)

{"Alpha";"Beta";"Gamma";"Delta"}

并用

填充另一个单元格

={"Alpha";"Beta";"Gamma";"Delta"}

=INDEX(A1;2)

它会抛出引用错误。这只是格式化问题还是excel中不可能?

1 个答案:

答案 0 :(得分:1)

假设列表以逗号分隔,例如" Alpha,Beta,Gamma,Delta",这:

TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",LEN(A1))),LEN(A1)*(ROW(INDEX(A:A,1):INDEX(A:A,1+LEN(A1)-LEN(SUBSTITUTE(A1,",",""))))-1)+1,LEN(A1)))

将生成数组{" Alpha&#34 ;;" Beta&#34 ;;" Gamma&#34 ;;" Delta"}然后可以传递给一些处理功能:

因此你可以使用:

=INDEX(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",LEN(A1))),LEN(A1)*(ROW(INDEX(A:A,1):INDEX(A:A,1+LEN(A1)-LEN(SUBSTITUTE(A1,",",""))))-1)+1,LEN(A1))),n)

其中 n 是您选择的某个索引。例如,在 n = 2的情况下,上面将返回" Beta"对于给定的示例字符串。

但是,鉴于您似乎希望将此数组传递给简单的INDEX构造,最好使用:

=MID(A1,FIND("ζ",SUBSTITUTE(","&A1&",",",","ζ",n)),MMULT(FIND("ζ",SUBSTITUTE(","&A1&",",",","ζ",n+{0,1})),{-1;1})-1)

其中, n 的两个实例应该替换为您选择的索引。

此致