我有一張包含如下公式的單元格的表格:
=IF(LEN('API 工具'!P358),IF('API 工具'!P358/POWER(10,18)>= C3 ( C3 *25/100),"API 錯誤",'API 工具'! P358/POWER(10,18)),)
我想將它們全部替換并像這樣向 C 單元格參考添加間接函式(檢查粗體字母):
=IF(LEN('API 工具'!P358),IF('API 工具'!P358/POWER(10,18)> =INDIRECT("$C3") (INDIRECT("$C3") *25/100 ),"API 錯誤",'API 工具'!P159/POWER(10,18)),)
我可以使用任何腳本或正則運算式來批量替換所有內容嗎?
謝謝
uj5u.com熱心網友回復:
首先,使用帶有 INDIRECT 的“$”符號是多余的,在這種情況下,也只是使事情復雜化。用引號括起來的每個INDIRECT 參考的每一部分本質上都是鎖定參考。
也就是說,如果您要進行的更改僅在特定范圍內,請先選擇該范圍。如果它們在整個作業表或整個電子表格中,請轉到下一步。
按 Ctrl-H(或 Cmd-H 或Edit > Find and replace)以調出“查找和替換”對話框。
在“查找”欄位中,輸入以下內容:
([^A-Z])(C\d )
在“替換為”欄位中,輸入:
$1INDIRECT("$2")
確保您設定“搜索”位置以匹配您所需的范圍。(如果您選擇了特定范圍,然后在此處選擇“特定范圍”,則將填充您當前選擇的范圍。)
選中“使用正則運算式搜索”和“也在公式中搜索”復選框。這也會自動選擇“匹配大小寫”(因為正則運算式區分大小寫)。
單擊“全部替換”按鈕。
正則運算式必須包含(并避免)列可能偶然包含 的情況C,例如對列 AC 的參考,這就是為什么它有兩個部分:一個確保前面的字符C不是另一個有效的列字母,另一個確保抓住有問題的直接部分。
此外,雖然這不是您所問的內容的一部分,但我提醒您仔細考慮為什么要用 INDIRECT 替換那些直接參考。很難想象有必要這樣做的情況。一旦你將它們更改為 INDIRECT,如果你在任何地方添加或洗掉列或行,這些參考將不會相對于這些更改進行調整——這意味著這些參考中的每一個都將指向錯誤的位置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/457218.html
