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