我正在接受工作面试,我进行了一项测试,将包含数字字符串的某些单元格与其他4个数字进行比较,如果这4个数字中至少有一个在字符串显示中,则为1或2,如果为假。
我尝试了一些公式,例如比较2个字符串或每个数字,但无法弄清楚。他们希望成为Col2中每个单元格的公式。
练习就像:如果Col1包含数字9、10、11和12中的至少一个,则在Col2中显示1(如果为true)或2(如果为false)
Col1
A2 = 9,10,11,22,33
A3 = 10,34,55
A4 = 40、78、41、26
为了清楚起见,我制作了一个Google表格:https://docs.google.com/spreadsheets/d/1GYnCQfjM2N-yLLQgHf2QRdaSLl14VB2liAJmv_SUXpE/edit?usp=sharing
Col1中的每一行都是一个字符串,其中包含从调查中选择的选项,并且如果其中任何一个是9、10、11、12,则Col2应该包含True或False或在这种情况下为1或2。 您可以将字符串中的数字视为所选选项:option1,option2等。
我得到错误的答案,因为包含9的数字被视为9。
答案 0 :(得分:0)
这未经测试,但类似的东西应该可以工作。
sub test_ints ()
dim cl as range
dim ary as integer()
dim ans as boolean
set cl = rang(A2:A4)
for each i in cl
ary() = split(i.value)
for j = 1 to UBOUND(len(ary))
if ary(j) = 9 OR ary(j) = 10 OR ary(j) = 11 OR ary(j) = 12 then
ans = true
exit sub
else
ans = false
end if
next j
next i
end sub
答案 1 :(得分:0)
这是一个适用于Excel 2013+的公式。
=IF(COUNT(FILTERXML("<t><s>" & SUBSTITUTE(SUBSTITUTE($A1," ",""),",","</s><s>") & "</s></t>","//s[.>=9 and .<= 12]"))>0,1,2)
它在逗号上分割值,并仅返回那些符合条件的值。
如果您使用的是早期版本的Excel,则需要使用其他公式:
=IF(OR(ISNUMBER(FIND("," & {"9","10","11","12"} & ",",SUBSTITUTE(","&A1&","," ","")))),1,2)
后一个公式
ISNUMBER
函数查看是否找到匹配项