我有多個格式為 22/7、355/113、3927/1250 等的 Excel 儲存格。
如何在每個儲存格前面加上 = 以便計算實際數值?
使用文字連接,如問題所示:將文字插入到列中每個單元格的開頭不起作用(已添加文字)。
我嘗試更改單元格格式(數字、科學等),但沒有任何改進。
另外,如果 A1 是 22/7,那麼使 B1 =VALUE(A1) 也不起作用,我得到#VALUE!
那麼如何強制計算每個單元格的值呢?
答案1
答案2
如果您知道如何使用 Powershell,您可以使用它來變更儲存格內容。對於名為Example.xlsx 的Excel 電子表格中sheet1 上儲存格A1 至A3 中的值,請使用下列腳本
$FilePath = 'C:\Users\Username\Documents\Example.xlsx'
# Instantiate the COM object
$Excel = New-Object -ComObject Excel.Application
$Workbook = $Excel.Workbooks.Open($FilePath)
$Sheet = $Excel.WorkSheets.item("sheet1")
$Sheet.activate()
$Sheet.Range('A1:A3').NumberFormat=""
foreach ($Cell in $Sheet.Range('A1:A3').Cells) {
$Cell.Value2 = '=' + $Cell.Value2
}
$WorkBook.Save()
$WorkBook.Close()
$Excel.Quit()
答案3
以下工作表函數完全按照您的要求執行:
=LEFT(A1,FIND("/",A1)-1)/RIGHT(A1,LENGTH(A1)-FIND("/";A1))
它的作用是找到分數中的斜杠,然後將字串拆分為斜杠之前的部分和斜杠之後的部分。然後將兩部分相除,得到小數。
答案4
以下內容與評論連結中的第一個內容類似。不過它更“乾淨”,因為當時(2010 年)給出的答案是基於 Excel 中不再存在的方面。
我假設您希望用計算結果替換資料。如果是這樣,請執行以下操作,但如果不是,請將結果放在其他方便的地方。
插入輔助列並輸入以下公式(例如在 B1 中):
= "=" & A1
Excel 不再'
像 1-2-3 那樣將前導字符視為格式化字符,但無論如何也沒有必要使用它,因為 Excel 可以用“=”開始文字字串。所以這確實是你能做的最簡單的事。
根據需要填寫或複製/貼上。反白顯示所有公式單元格並複製。然後轉到儲存格 A1 並將Paste|Special|Values
上述公式的結果(不是公式)放置在起始資料的「頂部」。然後刪除輔助列。您現在將擁有如下內容:
=22/7
即使您將格式變更為數字格式,它也會被視為文字。
再次突出顯示所有內容(或在 P|S|M 之後立即執行此操作,然後刪除輔助列)並使用Find and Replace
搜尋“=”並將其替換為“=”...
是的,找到等號並將其替換為自身。 Excel 很樂意這樣做,並且與許多其他技術不同,Excel 不會在執行此操作後繼續將其視為文字。如果您想始終知道原始材料是什麼,請保持這樣。檢查單元格可以讓您始終看到這個單元格,例如,以“22/7”開頭,因為它仍然存在於“=”之後。如果不需要,請將它們全部突出顯示,複製它們,然後再 P|S|V 一次,僅保留計算結果。
全做完了。
(順便說一句,這是其中一種情況(奇怪的是,從未討論過),並不常見,但它們的出現讓我們感到驚訝,在這種情況下,您無法將Paste|Special|Multiply
串聯的輸出加1 並看到它全部更改為值。 它將保留為“=22/7”並位於單元格的左邊緣,如文本,您必須手動更改每一個F2-Enter
。
總而言之,一個漂亮的小宏是「黃金標準」。快速、簡單,您可以將其分配給一個按鈕以用於新材料,這一切都很好。只要您被允許使用它們。但這對您(電子表格創建者)來說看起來像是家務活,而不是用戶在您建立電子表格後要做的事情。所以你可能會認為大多數組織都會對此感到滿意。加里的學生看起來很簡單。安東尼的看起來更複雜,但似乎也很簡單。
而且...不是為了給您帶來麻煩...但是您始終可以在打開電子表格時添加一個巨集來執行一些類似的家務活,使用它,然後刪除它,或者只是保存為.xlsx 格式,以便Excel為您刪除巨集。只是在說'...
從我提到的連結問題來看,EVALUATE()
使用起來會很有趣。但比較麻煩,因為你必須做幾件事,比上面的方法稍微困難。
我不會推薦 Michthan 給出的「將其拆開並重新組合在一起」的方法,因為您的數據可能比字面上的所有內容都被分割並使用正斜線來顯示更複雜。如果是這樣,那麼現在或將來,您會發現自己必須擴展該公式的範圍以處理所有可能的情況。在這種情況下,也許不是最不重要的問題,但如果存在避免任何問題的簡單解決方案,為什麼不使用它呢?也就是說,這種方法也會起作用,並且可能是必要的,這取決於您的資料將來如何交付給您。
(由於這些答案可供所有人受益,其他人可能已經擁有更複雜的數據集,並發現該方法很有用,儘管覆蓋所有基礎的工作量很大。)