Google表格,根据包含公式的单元格值添加行
Posted
技术标签:
【中文标题】Google表格,根据包含公式的单元格值添加行【英文标题】:Google Sheets, Add row based on cell value with formulas included 【发布时间】:2021-10-16 06:19:24 【问题描述】:我在谷歌表格电子表格中有一个相当复杂的表格(至少对我来说),旨在跟踪财政年度的股票持有量(它还包括成本基础调整和资本收益的计算)。
表格分为两部分,左侧详细说明了购买情况,包括价格、购买金额以及右侧与库存处置相关的日期。我试图允许计算不同时处理整个采购订单,即,如果购买了 15 个但仅售出 4 个,另外 11 个将在以后出售。
我可以看到实现这一点的最容易阅读的方式是,如果公式/脚本可以读取已售出的数量,如果低于购买量,请在下方添加一行,在需要的地方填写适当的值以进行进一步计算。不幸的是,我完全不知道如何让它发挥作用。
Google 表格中是否有允许根据单元格的值添加行的功能?如果是这样,我是否也可以让它填写表格的适当公式以进行适当的计算?
作为我希望的示例,下图中是当前表格的示例,如果 K8
我知道这是非常小众的,假设它甚至是可能的,如果有人对从哪里开始寻找任何建议,YouTube 视频或诸如此类的东西,将不胜感激。
非常感谢。
Sample Image of Table
[编辑:我被用户 on another forum 引导到 Apps 脚本文档,稍微窃取了 ***、那里用户的鼓励以及我能够自己编写函数的文档]
【问题讨论】:
【参考方案1】:作为一个更新,在一些轻微的帮助和大量的窃取下,我能够将这个脚本放在适当的位置,以完全满足我的需要。
// global
var ss = SpreadsheetApp.getActive();
function onOpen()
var menu = [name:"Split stock parcel", functionName:"addRow"];
ss.addMenu("Split Sale", menu);
function addRow()
var sh = ss.getActiveSheet();
var cell = sh.getActiveCell();
var SelectRow = cell.getRow();
var lCol = sh.getLastColumn(), range = sh.getRange(SelectRow,5,1,1), range1 = sh.getRange(SelectRow, 9, 1, 2), range2 = sh.getRange(SelectRow,13,1,1), range3 = sh.getRange(SelectRow,16,1,4), clone = sh.getRange(SelectRow,8,1,1).getFormula(), clone1 = sh.getRange(SelectRow+1,8,1,1), range4 = sh.getRange(SelectRow+1,1,1,1), range5 = sh.getRange(SelectRow,3,1,1);
sh.insertRowsAfter(SelectRow, 1);
range.copyTo(sh.getRange(SelectRow+1, 5, 1, 1), contentsOnly:false);
range1.copyTo(sh.getRange(SelectRow+1, 9, 1, 2), contentsOnly:false);
range2.copyTo(sh.getRange(SelectRow+1, 13, 1, 1), contentsOnly:false);
range3.copyTo(sh.getRange(SelectRow+1, 16, 1, 4), contentsOnly:false);
range5.copyTo(sh.getRange(SelectRow+1,3,1,1),contentsOnly:false);
clone1.setFormula(clone)
range4.setValue("Split Sale")
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于Google表格,根据包含公式的单元格值添加行的主要内容,如果未能解决你的问题,请参考以下文章