Google表格 - 费用表的公式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google表格 - 费用表的公式相关的知识,希望对你有一定的参考价值。
我需要一个公式来帮助我计算里程费用的$费用金额。
这是我的表单https://docs.google.com/spreadsheets/d/1PPFuFWbxWi9iIdtYBJvnSNB1j1cjjQutepF3hnpGoFM/edit?usp=sharing
在费用标签上,我需要检查我在Col A的日期年份(因为不同的年份有不同的费率),然后检查Col D以查看它是否显示Milage,然后检查Col E是什么类型的milage(有4种类型),然后返回Col I输入的数字乘以该年的适当比率和类型的milage。我在另一个标签中设置了一个包含费率的表格。
我认为这将是一个长IF和AND公式。任何帮助都会很棒!
在“Essentials Log”中,我更改了年份开始日期的格式,以说明您引用的年份。我为“Milage”添加了一个专栏。
在'Expenses'!M2
,我试过这个,它似乎工作:
=ARRAYFORMULA(iferror(if(isblank(A2:A),"",I2:I*vlookup(D2:D&year(A2:A)&E2:E,query({'Essentials Log'!Y2:Y&'Essentials Log'!Z2:Z&'Essentials Log'!AA2:AA,'Essentials Log'!AB2:AB},"Select *"),2,false))))
看看(我复制了你的示例表):Milage expense
我通过创建应用程序脚本解决了这个问题
我意识到我不想使用公式,因为在我的$ col中,大多数条目都会被键入,因此我不想每次都复制和粘贴公式。
如果有人可能需要它,这是代码。我将它添加到菜单中,因此只需单击即可完成计算。
function expenseMilageCalculation() {
var auditionsSheet = SpreadsheetApp.getActiveSpreadsheet();
var expensesTab = auditionsSheet.getActiveSheet();
var activeCell = expensesTab.getActiveCell();
var activeRow = activeCell.getRow();
var expenseDate = expensesTab.getRange(activeRow, 1).getValue();
var expenseYear = expenseDate.getFullYear();
var expenseType = expensesTab.getRange(activeRow, 4).getValue();
var expenseDetails = expensesTab.getRange(activeRow, 5).getValue();
var numMiles = expensesTab.getRange(activeRow, 9).getValue();
var essentialsLogTab = auditionsSheet.getSheetByName("Essentials Log")
//2018 Business Milage
if (expenseYear == 2018 && expenseType == "Milage" && expenseDetails == "Business") {
var milageBusinessRate2018 = essentialsLogTab.getRange(3, 27).getValue();
var dollarMilesDeduction = numMiles * milageBusinessRate2018
expensesTab.getRange(activeRow, 8).setValue(dollarMilesDeduction)
}
//2019 Business Milage
if (expenseYear == 2019 && expenseType == "Milage" && expenseDetails == "Business") {
var milageBusinessRate2019 = essentialsLogTab.getRange(8, 27).getValue();
var dollarMilesDeduction = numMiles * milageBusinessRate2019
expensesTab.getRange(activeRow, 8).setValue(dollarMilesDeduction)
}
以上是关于Google表格 - 费用表的公式的主要内容,如果未能解决你的问题,请参考以下文章
自动填充公式(跨电子表格运行) - Google 表格/应用程序脚本