Google sheets 一种复杂函数的思想,它在整数的排序列表中找到一个不大于给定值的数
比如说,A1中有一个文本,其中包含一个排序(最终反转)的整数列表,由一些非数字字符分隔,例如“10123230750103420301001”;在B1中,我有一个整数n;我需要一个不涉及其他单元格的公式,该公式返回:Google sheets 一种复杂函数的思想,它在整数的排序列表中找到一个不大于给定值的数,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,比如说,A1中有一个文本,其中包含一个排序(最终反转)的整数列表,由一些非数字字符分隔,例如“10123230750103420301001”;在B1中,我有一个整数n;我需要一个不涉及其他单元格的公式,该公式返回: 如果n属于A1中的列表,则为n 否则,如果n不大于A1中的最大值,则A1中的值立即大于n(例如,对于n=567,返回值必须为750) 否则,将出现错误 在我看来,解决这个问题的唯一方法是使用regexp替换(googlesheet支持),但直到现在我还找不到一个合理的方法 有人
- 如果n属于A1中的列表,则为n李>
- 否则,如果n不大于A1中的最大值,则A1中的值立即大于n(例如,对于n=567,返回值必须为750)李>
- 否则,将出现错误
=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)))
=如果(B1请尝试:
=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)))
=如果(B1请尝试:
=if(isnumber(find(B1,A1)),B1,index(split(A1,","),match(B1,split(A1,","),1)+1))
=索引(排序(转置(拆分(A1,”),1,0),
匹配(B1,排序(转置(拆分(A1,“,”),1,0),-1))
在这个公式中,我使用了search\u type
=-1来表示:
匹配(搜索关键字、范围、搜索类型)
search_key-要搜索的值。例如,42,“Cats”或
I24
range—要搜索的一维数组。如果使用高度和宽度均大于1的范围,则MATCH将返回#N/a
搜索类型-[默认情况下可选-1]-选择的方式
搜索
- 1,默认值,使MATCH假定范围按升序排序,并返回小于或等于
搜索你的钥匙
- 0表示完全匹配,并且在范围未排序的情况下是必需的
- -1使MATCH假定范围按降序排序,并返回大于或等于搜索键的最小值。
简化案件
假设您有一个文本按降序排序的单元格:
公式是:
=index(SPLIT(A1,", "),MATCH(B1,SPLIT(A1,", "),-1))
请尝试:
=if(isnumber(find(B1,A1)),B1,index(split(A1,","),match(B1,split(A1,","),1)+1))
=索引(排序(转置(拆分(A1,”),1,0),
匹配(B1,排序(转置(拆分(A1,“,”),1,0),-1))
在这个公式中,我使用了search\u type
=-1来表示:
匹配(搜索关键字、范围、搜索类型)
search_key-要搜索的值。例如,42,“Cats”或
I24
range—要搜索的一维数组。如果使用高度和宽度均大于1的范围,则MATCH将返回#N/a
搜索类型-[默认情况下可选-1]-选择的方式
搜索
- 1,默认值,使MATCH假定范围按升序排序,并返回小于或等于
搜索你的钥匙
- 0表示完全匹配,并且在范围未排序的情况下是必需的
- -1使MATCH假定范围按降序排序,并返回大于或等于搜索键的最小值。
简化案件
假设您有一个文本按降序排序的单元格:
公式是:
=index(SPLIT(A1,", "),MATCH(B1,SPLIT(A1,", "),-1))
很好。我忘记了split命令。在我离开的时候我已经生锈了。pnuts,你的公式很棒,并向我介绍了匹配函数,由于意大利Google Sheet的函数参考中的一个非常糟糕的解释,我对该函数一无所知。不幸的是,你的公式并不完美,因为“isnumber(find(…)这会使小数字混淆。请参见示例()我出版了,你的公式在C列。尼斯。我忘了split命令。我在我离开的时候生锈了。pnuts,你的公式很棒,并向我介绍了匹配函数,由于意大利谷歌表的函数参考中的一个非常糟糕的解释,我对它一无所知。不幸的是,你的公式并不完美,因为e“isnumber(find(…”,这会使小数字混淆。请参阅我发布的示例(),其中公式位于C列。