2009-05-05 110 views
0

我有一個excel工作表(見下圖) alt text http://i43.tinypic.com/wsnxci.jpg如何總結段落中的所有數字(單元格中的文本)?

這裏的要求是獲得的總和的在細胞中的所有數字在列「C」,並把值在對應的小區中列' B'(在我的例子中 - 1 + 0.25 + 0.25 + 1 = 2.5)。 'C'列中的值可以根據團隊給出的輸入動態改變。要求在'C'列中的單元格更改後立即讓'B'中的值自動更新。

我曾嘗試要求創建者更改電子表格的格式(兩個不同列中的文本和數字),但由於標準模板,此方法不可接受。

任何幫助將不勝感激。

問候, - 阿希什

回答

4

這是可以實現,而不改變單元格中的文本,使用宏。 我不得不承認,由於你需要做一些事情,所以實現會稍微遲鈍。

1 - 標記整個單元格內容,並將標記存儲到字符串數組中。

已經有問題了。位於單元格內的文本嚴重不一致。您有-250毫秒, - 250毫秒, - 1秒, - 1秒。由於這個原因,你將需要檢查每個實例。因此,您不能僅僅檢查該值是否爲數字,您需要檢查您的團隊成員已經方便地爲您提供的所有排列組合。

做到這一點的最好方法是檢查正則表達式。因此,#2應該是:

2 - 檢查每個值以查看它是否與許多4個正則表達式中的一個匹配。

3 - 取決於它匹配的正則表達式,提取數值。 a)如果只是一個值(ie-> 250),檢查ms或sec是否繼續該值。 IF毫秒,將該數字除以1000.如果秒,則保持原樣。將數字添加到總數。 d)如果一個數字前加一個破折號( - ),刪除破折號,並重復步驟a)
c)如果數字後跟字母,刪除字母並重復步驟a)
d)如果數字後跟一段時間,什麼都不做。這是一個重點。

+0

謝謝喬恩 我終於設法說服他們以一致的方式把值。所以,現在這些值被設置爲' - xx ms'或' - xx sec'(讓我的生活變得更輕鬆) 我按照答案中的建議實現了其餘的邏輯。 現在很好用...謝謝! – Vini 2009-05-05 21:59:58

相關問題