萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 辦公室軟體 >  >> Excel 教學 >> Excel 綜合

Excel 公式計算結果帶備註:EVALUATE 定義名稱 + SUBSTITUTE 處理括號備註

需求情境

工程造價試算表:F6 儲存格輸入計算式如 100*2.5[混凝土]+50*1.2[鋼筋],需在 E6 自動計算結果並保留括號內備註文字。

核心技術:EVALUATE + 定義名稱

`EVALUATE` 是 Excel 4.0 巨集函數,僅能在**定義名稱**中使用,可將文字字串當作公式計算。配合 `SUBSTITUTE` 處理括號備註,實現「文字公式→計算結果」轉換。

設定步驟

1. 建立定義名稱

  1. Ctrl+F3 開啟「名稱管理員」→ 新增。
  2. 名稱:ww(自訂)。
  3. 參考位置輸入公式:
=IFERROR(
  EVALUATE(
    SUBSTITUTE(
      SUBSTITUTE(工程量計算式!F6, "[", "*ISTEXT(""["),
      "]", "]""") 
    )
  ), ""
)

關鍵說明:

  • 工程量計算式!F6:來源工作表與儲存格,**需根據實際情況修改**。
  • 雙重 `SUBSTITUTE`:將 `[備註]` 轉為 `*ISTEXT("[")`... 讓 `EVALUATE` 忽略括號內文字進行運算。
  • `IFERROR` 捕捉公式錯誤回傳空白。

2. 使用定義名稱

在結果儲存格(如 E6)輸入:

=ww

即可顯示計算結果,F6 保留原始「公式+備註」文字。

現代替代方案(Excel 365/2021+,無需定義名稱)

=LET(
  formulaText, F6,
  cleanFormula, SUBSTITUTE(SUBSTITUTE(formulaText, "[", "*0+"), "]", ""),
  IFERROR(EVALUATE(cleanFormula), "")
)

或使用 **Lambda 自訂函數**(需 Office 365 Insider):

=LAMBDA(txt, IFERROR(EVALUATE(SUBSTITUTE(SUBSTITUTE(txt,"[","*0+"),"]","")),""))(F6)

適用範圍與限制

支援不支援/注意
基本四則運算 + 括號自訂函數/UDF
工作表函數(SUM, IF 等)跨工作簿參考(需開啟來源檔)
括號備註自動忽略括號內含運算符號會干擾
儲存為 .xlsm 巨集啟用活頁簿.xlsx 無法儲存定義名稱中的 EVALUATE

小結

`EVALUATE` 定義名稱技巧是 Excel 「文字公式計算」的經典黑科技,配合 `SUBSTITUTE` 清洗備註文字,完美解決「公式與說明同儲存格」需求。**現代 Excel 建議改用 LET+EVALUATE 組合或 Power Query 處理**,更易維護且不需巨集啟用檔案。

copyright © 萬盛學電腦網 all rights reserved