2016-10-13 16 views
1

背景

我有了一些先進的配方電子表格。例如我把在一起的每月預算,和我有誰有不同的不同的員工薪酬結構(即每小時一些,有的每小時基於估計目標等獎金)..如何從另一個單元格引用的公式在谷歌片

我喜歡把一個單一的公式,然後複製並粘貼在小區之間..所以這就是我現在有

=if(C54="employee 1",D54*'resource information'!$D$3, 
    if(C54="employee 2",D54*'resource information'!$D$8, 
    if(C54="employee 3",D54*'resource information'!$D$4))) 

它使基本複用小時陽離子*每位員工的時薪(1/2/3員工具有不同的工資)

問題

,如果我想補充誰擁有一個複雜的公式來提取他們的薪酬僱員4什麼(即有3-4個不同的變量,並從不同的表格中提取?)我不想在上面添加那個醜陋的公式。相反,我想引用一個在上面有這個公式的單元格。像這樣的東西

=if(C54="employee 1",D54*'resource information'!$D$3, 
    if(C54="employee 2",D54*'resource information'!$D$8, 
    if(C54="employee 3",D54*'resource information'!$D$4))) 
+ employee 4 formula with parameters C54,D54 <-- this formula will be stored elsewhere 

有什麼想法嗎?

回答

1

簡短回答

在Google表格中,不可能「隱藏」醜陋的公式。

擴展答案

不要太擔心的公式看起來如何,擔心可維護性和可讀性。作爲備選方案,請考慮創建custom function

提示1:而不是嵌套如果嘗試查找功能,如VLOOKUP
提示2:正如你已經想到的那樣,你可以將公式嵌套爲大多數函數的參數,就像你使用IF一樣。

備註: Google表格公式無法調用其他地方存儲的公式,他們只能調用它們的結果。

實施例施加提示1和2

假設資源信息A列中具有資源ID(僱員1,僱員2等)

=D54*IF(
    C54<>"employee 4", 
    VLOOKUP(C54,'resource information'!$A$3:$D$8,4,0), 
    your_formula_goes_here 
) 

提示3:如果不想在公式欄中顯示員工4的計算結果,請使用自定義函數。

備註:谷歌Apps腳本不能調用電子表格內置功能,但你可以從GitHub庫複製版本JavaScript像

查看我的answer另一個問題,我與SocialCalc的JavaScript文件共享包含Google Apps腳本項目的電子表格。

又見

+0

哎@Ruben我克隆EtherCalc回購..但我不知道怎樣才能只複製過的功能,我需要到谷歌表..例如,如果我在EtherCalc回購搜索'vlookup' ..我沒有找到一個地方,其中的查找被定義爲一個函數,我可以打電話..你能給我一些指導/幫助如何我可以使用谷歌表格內的EtherCalc的這些功能?否則我唯一的選擇是遷移到Excel:( – abbood

+0

@abbood:我更新了我的答案。 –

+0

感謝您的更新 – abbood

相關問題