[算表] 批次輸入變數至既定公式計算

看板Office作者 (Tessie)時間2年前 (2022/02/08 01:18), 2年前編輯推噓1(105)
留言6則, 3人參與, 2年前最新討論串1/1
軟體: Google試算表 版本: 想請問,我在一個工作頁已經有很複雜的一套公式 這套公式需要輸入3個數值x,y,z,經過計算後跑出一個數值 A 輸入欄只有這三格,但因為公式中參照很複雜 我現在沒辦法把輸入格變成3整欄,讓他跑出一整欄的A (一部分原因是這公式不是我寫的,而且不是只是計算式, 還涉及數值大小條件要參照表格取得值等等,中間參照來參照去非常多) 我現在想要的動作是 如何讓這個計算能批次進行? 我有一大堆x,y,z的資料,想要自動算出A x1,y1,z1,A1 x2,y2,z2,A2 ... xn,yn,zn,An 在A1這一格,我沒辦法寫成 "= x1,y1,z1 丟進去所算出來的A" 把x1,y1,z1丟進去設計好的輸入欄這個動作我不知道怎麼進行 還是在公式的輸入欄有辦法一次輸入 x1:xn, y1:yn, z1:zn 然後跑出 A1:An? 但是原本的輸出欄A也只是一格,我不知道他會怎麼呈現 想請教高手了,感恩~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.223.19 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1644254332.A.6C8.html

02/08 09:13, 2年前 , 1F
用VBA能做到你要的功能 還沒想到其他辦法
02/08 09:13, 1F

02/08 15:59, 2年前 , 2F
google apps script 可以自己寫函數
02/08 15:59, 2F
上面這兩個我完全沒碰過,不好意思可否針對我的狀況幫忙我找個相關的網頁 我可以自行來study,感恩~~ ※ 編輯: Tessie (114.45.223.19 臺灣), 02/08/2022 16:26:57

02/08 18:30, 2年前 , 3F
你可以先把x,y,z放在3個欄位,然後錄巨集,手動輸入第一筆x
02/08 18:30, 3F

02/08 18:30, 2年前 , 4F
,y,z資料至你有函數的欄位,然後把a的值輸入到你要的欄位。
02/08 18:30, 4F

02/08 18:30, 2年前 , 5F
再google for迴圈的用法,把Range("X2")改成Range("X" & i)
02/08 18:30, 5F

02/08 18:30, 2年前 , 6F
,套進巨集應該就可以了。
02/08 18:30, 6F
感謝! 巨集我也沒用過(歹勢,試算表新手),但這個聽起來稍微可以理解,我來study~~ ※ 編輯: Tessie (114.45.223.19 臺灣), 02/09/2022 11:08:41 摸索了一下,不知道GetRange以及setFormula裡面要怎麼用變數指定儲存格 例如GetRange('X2')是要寫成GetRange('X' & i)嗎?我這樣跑不動耶 還有setFormula('=X2')是改寫成setFormula('=X' & i)這樣? 一樣跑不動 程式先跑到setFormula時沒有錯誤訊息,但值不對(變成0) 然後跑到GetRange時出現錯誤訊息 Exception: Range not found 可能這問題太基本,我一時竟然google不到答案... 程式長這樣: function myFunction() { var spreadsheet = SpreadsheetApp.getActive(); for (var i = 1; i < 10; i++){ spreadsheet.getRange('AK4').activate(); spreadsheet.getCurrentCell().setFormula('=Q' & i); spreadsheet.getRange('AL4').activate(); spreadsheet.getCurrentCell().setFormula('=S' & i); spreadsheet.getRange('AM4').activate(); spreadsheet.getCurrentCell().setFormula('=U' & i); spreadsheet.getRange('AG' & i).activate(); spreadsheet.getCurrentCell().setFormula('=AN4'); } }; AK4, AL4, AM4 是固定的公式輸入格 (原文中的x,y,z),然後AN4是固定的輸出格(原文A) 我要從 Qn, Sn, Un 這幾列挖數值去AK4,AL4,AM4去計算,然後結果要丟回去成AGn列 (i<10只是測試用,請忽略,只有這幾筆我就不用頭痛了XD) 麻煩幫忙解惑了,感恩 ※ 編輯: Tessie (114.45.223.19 臺灣), 02/09/2022 15:00:00
文章代碼(AID): #1Y0LHyR8 (Office)