2013-02-18 66 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