我在A1中有一个文本,其中包含一个由一些非数字字符分隔的整数(最终反转)整数列表 - 例如“10,123,230,750,1034,2003,10101”;在B1中我有一个整数 n ;我需要一个不涉及其他单元格的公式返回:
在我看来,解决问题的唯一方法是关于regexp替换(Google Sheet支持),但到目前为止我找不到合理的方法继续进行。
有人有(不同的)想法吗?
答案 0 :(得分:1)
请尝试:
=if(isnumber(find(B1,A1)),B1,index(split(A1,","),match(B1,split(A1,","),1)+1))
以上不适用于低于第一个的数字,但如果需要可以扩展为:
=if(B1<1*left(A1,find(",",A1)-1),1*left(A1,find(",",A1)-1),if(isnumber(find(B1,A1)),B1,index(split(A1,","),match(B1,split(A1,","),1)+1)))
答案 1 :(得分:1)
请尝试:
=index(SORT(TRANSPOSE(SPLIT(A1,", ")),1,0),
MATCH(B1,SORT(TRANSPOSE(SPLIT(A1,", ")),1,0),-1))
在此公式中我使用search_type
= -1表示match function
:
MATCH(search_key,range,search_type)
- search_key - 要搜索的值。例如,42,“猫”,或 I24。
range - 要搜索的一维数组。如果使用高度和宽度均大于1的范围,则MATCH将返回#N / A!
- 醇>
search_type - [可选 - 默认为1] - 以何种方式 搜索范围。
- 1,默认值,导致MATCH假设范围按升序排序并返回小于或等于
的最大值 SEARCH_KEY。- 0表示完全匹配,在范围未排序的情况下是必需的。
- -1会导致MATCH假设范围按降序排序并返回大于或等于search_key的最小值。
假设您有一个文本按降序排序的单元格:
公式为:
=index(SPLIT(A1,", "),MATCH(B1,SPLIT(A1,", "),-1))