[算表] 按照選定的類型,執行不同的公式運算

作者: wkday (wkday)   2022-02-15 22:53:14
軟體:Excel
版本:Office365
在做一個多項目的計價檔案,簡化後如下圖:
https://imgur.com/b5RtaEx
每個項目都可以由使用者選定計價方式,
每個「計價方式」都對應獨有的「計價公式」,
目前計價方式大概有十多種,之後還會繼續增加。
已知選定了「計價方式」後,可以用vlookup等方法找到對應的「計價公式」;
但目前卡在,不知道怎樣能按照「計價公式」來執行「運算」以計出金額。
所以想請教各位大大有沒有較好的辦法。
備註:
1.最終用家是其他同事,希望可以使用方便。
2.希望不要用到巨集或vba。
先謝謝各位!!
作者: waiter337 (給開司一罐蘇格登)   2022-02-16 03:52:00
[G2]==IFS(B2="a",D2*E2,B2="b",(C2+D2)/100,B2="c",C2,B2="d",C2+D2,B2="e",C2+D2+E2+F2)^多打一個= 從這個等號開始輸入 位於G2位置抱歉 沒看完題目 此方法不好用用 INDIRECT 搭配文字搭配row()後來研究一下 不可行 請高手救援=,=本來想用EVALUATE 但發現這是vbaEVALUATE 要用兩次 才能破row()的計算google "excel EVALUATE" 設定名稱的時候要用兩次EVALUATE 搭配row()方法 與vlookup 應該有破解的方式https://drive.google.com/drive/folders/1_g29YINu5Dz_6SY--JTuDaJL4O9_XuA3?usp=sharing上面合起來 做的很勉強檔案不一定有用 望強者大大幫忙
作者: windknife18 (windknife18)   2022-02-16 10:29:00
https://tinyurl.com/4xcnr5kwG2 的公式可以使用 Ctrl+F3 查看
作者: rafaiero (路人甲)   2022-02-16 13:36:00
https://i.imgur.com/fninKQT.jpg圖片左下G2=offect($a$1,match(b2,...才對https://i.imgur.com/c0FLQ2U.jpg再重發一次
作者: wkday (wkday)   2022-02-16 22:03:00
謝謝waiter337,windknife18和rafaiero三位,會好好研究看看
作者: kinomon (奇諾 Monster)   2022-02-17 03:10:00
想用offset和indirect(“RC”,0)結果卡在奇怪的地方==https://i.imgur.com/GuMu6bJ.jpgH2是定義名稱 名稱公式是evaluate(I2)想請問是哪裡出錯呢
作者: waiter337 (給開司一罐蘇格登)   2022-02-17 11:45:00
B3 不能有""
作者: kinomon (奇諾 Monster)   2022-02-17 16:06:00
謝謝w大幫忙 但還是顯示錯誤https://i.imgur.com/ufpicJ2.jpg試了offset沒有問題 請問是indirect哪裡還需要調整嗎名稱公式一樣 是對右方儲存格evaluate
作者: rafaiero (路人甲)   2022-02-17 22:05:00
indirect(“b”&3)
作者: waiter337 (給開司一罐蘇格登)   2022-02-17 22:24:00
名稱管理員要用兩次evaluate我的檔案內有 =evaluate(evaluate(I2))我模糊的解釋一下 因為我也不是完全清楚針對公式上 分為兩種 一種是參照查閱 一種是運算若你的公式內 同時都有 他只會優先處理 參照查閱的部分或者說 邏輯運算 只能執行一次所以 當你的公式內有邏輯運算+查閱參照的情況evaluate無法一次處理 就必須給他再執行一次或者說 不能參照兩次這我沒弄很清楚 你必須自己實測你可以把indirect(b3) 再做第二組的evaluate 就能執行所以我用了兩組evaluate但這樣當下又會陷入一個奇怪的問題我的檔案當中就遇到一個 如果只有(b3) 用了兩次參照就會產生錯誤用兩次evaluate 就會錯誤因為他被(b3) > 值 > 執行錯誤這時候 就要給他來個 0+(b3) 讓她不只有參照 還多運算那就能正常做兩次計算所以windknife18的寫法非常厲害唷
作者: kinomon (奇諾 Monster)   2022-02-18 00:07:00
謝謝w大解說晚上爬了一些關於這兩個函數互動的文章沒什麼收穫 確實只能多嘗試

Links booklink

Contact Us: admin [ a t ] ucptt.com