2013-02-18 28 views
0

我有话日常笔记Excel公式把如果不同的字符串值不同细胞

这些就像在末尾编码日记中编码...

I took some advil today,tired=.5,headache=.75, etc 
rode a bike for 3 hours,tired=.75,headache=.75, etc 

我可以写一个公式可以搜索“累= .5”或“累= 0.75”这个短语,并将.5或.75放入单元格中。关于.25,.5,.75和1的等级只有4种可能性。如果它没有找到累的话,它应该返回0. 这适用于绝对词组匹配。

=IF(A1="tired=.75",.75),IF(A1="tired=.5",.5),IF(A1="tired=.25",.25) 

但我不知道如何使用搜索做同样的事情。

这是我在使用搜索时失败的尝试。

=IF(ISNUMBER(SEARCH("tired=.75",B1484)),0.75,0),IF(ISNUMBER(SEARCH("tired=.25",B1484)),0.25,0) 

回答

1

我想这会做到这一点:

=VALUE(MID(A1,SEARCH("tired=",A1)+6,FIND(",",(MID(A1,SEARCH("tired=",A1),12)))-6-1)) 

没有理由使用IF语句,只要找到和文字直接转换。我在这里混合了FIND和SEARCH,你可以根据自己的喜好使用其中一种或两种(FIND区分大小写,SEARCH不是)。

+0

好主意......所以基本上你会发现=号和下一个逗号之间的文本的值。我只需要确保它以逗号结尾。除此之外,我不认为还有其他选择。那么疲劳没有标记的情况下它应该给0,而是给#value。如果没有发现任何东西,我可以将整个东西包装在0中吗?但是,如果发现了相同的答案? – techdog 2013-02-18 22:42:39

+0

假设你使用的是新版Office,那么IFERROR函数可能对此非常有用 - 如果没有发现任何内容(因为Excel倾向于以这种方式返回错误),你会得到一个错误,IFERROR只是做什么你想在那里 - IFERROR(forumla,value-if-error)返回公式的结果,如果有效的话,否则返回值 - 如果错误。如果你没有IFERROR,你可以像过去一样直接评估结果(IF(formula = error,value-if-error,formula)),但它需要将公式放入两遍...... – Joe 2013-02-19 03:56:24

+0

感谢您的支持我有信心我可以立即开始工作 – techdog 2013-02-19 23:06:57

相关问题