Javascript 谷歌表库存量

Javascript 谷歌表库存量,javascript,Javascript,我有一个库存电子表格“库存”,有3张表。库存清单、使用的零件、订单。并有一个表格,将使用的零件提交到零件使用表中。还有另一个电子表格“收到的零件”,它有一个表格,可以在收到零件时提交数据 我正在努力 将所用零件表“E列”(每次提交表格时)中的零件号参考至库存清单表零件号“D列”。并从库存清单表数量“H列”中减去已用零件表“H列”上的数量 因此,每次将“已用零件”表提交到“已用零件”表时,它都会从库存清单表中扣除该数量,使用零件号作为参考,以了解要减去的两个数量。 我已经尝试让这个代码工作,但没有

我有一个库存电子表格“库存”,有3张表。库存清单、使用的零件、订单。并有一个表格,将使用的零件提交到零件使用表中。还有另一个电子表格“收到的零件”,它有一个表格,可以在收到零件时提交数据

我正在努力

将所用零件表“E列”(每次提交表格时)中的零件号参考至库存清单表零件号“D列”。并从库存清单表数量“H列”中减去已用零件表“H列”上的数量

因此,每次将“已用零件”表提交到“已用零件”表时,它都会从库存清单表中扣除该数量,使用零件号作为参考,以了解要减去的两个数量。 我已经尝试让这个代码工作,但没有运气

function updateInventoryFromPartsUsed() {
    var partsused = {}; // A mapping of partNumber => quantity.
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName('Parts Used');
    if (sheet) {
        // For each row, if column "E" == "stock" then set partNumber, quantity.
        partsused[partNumber] = quantity;
    }
    // Now partsused should look like {'SL249':5, 'ML50':1, 'MWF':1}
    sheet = ss.getSheetByName('Inventory');
    if (sheet) {
        // For each row, set quantity, partNumber.
        var purchased = purchaseOrders[partNumber];
        // Set column "A" value = quantity + purchased
    }
}    
也尝试过不同的公式,如:1。VLOOKUP(B23,$A$2:$B$5,2,TRUE)来比较数据。这也不管用

我对此有问题。如果有人能帮忙,我会非常感激的

谢谢

布莱恩

其他人已经解决了这个问题(如果答案对任何人都有帮助,将在此处发布):

通过在H“库存清单”右侧再添加两列-添加以下内容:

I3=阵列公式(如果(第(A3:A)行)=3,“使用的零件”,如果(第(D3:D)行,第(D)行(“使用的零件”!E6:E8,第(3:D)行,“使用的零件”!H6:H),)

J3=阵列公式(if(第(A3:A)行)=3,“剩余部分”,if(第(D3:D)列,第(H3:H-I3:I)列)

他们也这样做了。将条件格式添加到“使用的零件”

A3:K34 is=isna(匹配($E3,间接(“库存清单!D3:D”),0))*len($E3)

当零件号与“库存清单”上的零件号不匹配时,这将突出显示“已使用零件”上的一行。帮助您查看是否有人输入了错误的零件号,或者是否需要将零件添加到库存列表中

他们给出的解决方案非常有效,非常有用


感谢您花时间阅读问题

返回的值是多少,您期望的值是多少。发布玩具/实际数据,使其可复制。不返回任何值。我期望的价值是我在原始问题中解释的。“Parts Used”中的零件号用于引用“Inventory List”零件号并减去其数量。请将所有这些编辑到问题中。这里有很多要上传的问题:1)我如何通过数组循环查找值2)我如何使用代码向google工作表读/写数据3)我如何触发提交表单时执行的代码。你为什么不把你的问题分成几个容易处理的部分呢。回答这个问题就是为你写一个完整的小程序。