我喜欢使用story mapping使用cardboardit.com从客户收集需求(并为他们创建估算值)。我目前正在为我过去完成的项目(http://vibereel.com/)进行样本估算。
Cardboardit提供了将数据转储到csv文件的功能,该文件可以原始形式显示在this表格中的data
标签中
数据标签非常原始,因此我使用此公式使其在estimate
标签中看起来更漂亮:
= QUERY(数据!A2:J,"选择C,E,D,其中A ='卡'和E<>'白色'由I命令, J标签C'名称',E'颜色',D'注释'",0)
然后我要求工程师填写行中的估算值。工程师在其他两列(前端和后端)下填写估算值。
问题在于我意识到我错过了用户地图中的一些元素。所以我调整用户地图,再次导出数据并将其转储到data
表格中。考虑到上述公式是智能的,estimate
表格会立即准确更新。
然而问题是,工程师输入的值现在与新值不对齐。即前端任务称为"编辑vibereel"以前有一天的估计,但一旦新的数据进入..那一个错位
我怎么能这样做呢
- 只要工程师在两列下输入值,这些值就会锁定,或链接到name
列下最初用于的任务。
解决这个问题的另一种方法是每次更改数据表时(由于用户地图的更改)..新数据集可以转储到新的数据表(即data-v2)和可以创建另一个估算表(即估算值-v2)。这将具有商业意义,因为它向客户显示估算值的变化。在这种情况下,如何简单地将估算值从estimate
复制并粘贴到estimate-v2
并仍然将它们链接到相应的估算值?
答案 0 :(得分:3)
无法直接将输入的值锁定到公式结果行。而是使用后端/前端架构类型。
后端表。创建一张用作纸板的“镜子”的纸张吧!工程师在电子表格中输入的数据和估算值(一个后端,两个前端)
1.1备选方案1:使用脚本更新两个来源的数据值 1.2备选方案2:使用公式连接两个来源的数据值。
前端工作区。使用此表格进行时间估算的手动数据输入。
2.1为了更容易保持数据同步,请包含来自Cardboard的ID! CSV文件(假设这是一个持久性ID)
2.2从后端表传递数据
如果您将在会议上使用电子表格,我认为时间驱动的触发器或自定义菜单比编辑触发器更好,因为运行脚本需要时间以避免在会议期间分心。< / p>
如果您想保留修订版,请在每次导入CSV文件或进行估算审核会议时制作电子表格的副本。将副本保留为修订快照,并继续处理原始文件。这是因为Google表格修订历史可能包含太多细节,无法轻松跳转到主要版本,但如果您需要进行详细的历史修订,则可能会有所帮助。
稍后您可以使用IMPORTRANGE汇总所有修订估算值,即使估算值图表随时间变化。
假设您有两个电子表格 - data:它保存从第一次导出到CSV文件的数据。 - 估计:它保持屏幕截图所示的布局。
将id值添加到估算表中。假设它是作为D列插入的。
在Cardboard it!上对纸板进行更改后,下载并导入新的CSV文件,假设这个新工作表名为data-v2。为简单起见,在此示例中,它已添加到同一电子表格中。
将以下公式添加到data-v2!L1
= ARRAYFORMULA(ARRAY_CONSTRAIN({{ “前端”, “后端”}; IFERROR(VLOOKUP(B2:B,{ '估计-V1' d:d, '估计-V1' E:F},{! 2,3},FALSE()),)},COUNTA(A:A),2000000))
=ArrayFormula( // Tells Google Sheets that non array functions should work as array
functions and that the result should be expanded to the required area (rows/columns)
ARRAY_CONSTRAIN( // Limit results to the required number of rows.
{ // Starts a new array
{"frontend","backend"}; // Array with the column headers
IFERROR( // In case of error will return a blank
VLOOKUP(
B2:B, // Range with the values look for.
{'estimate-v1'!D:D,'estimate-v1'!E:F}, // Array. This is my preferred notation considering
that that the ID column could be moved in the future, but at this time it could be replaced
by 'estimate-v1'!D:F
{2,3}, // This makes that VLOOKUP returns a array with two columns. The first column is
filled up with values from the second column, the column is filled up with values from the
third column.
FALSE() // This tells VLOOKUP that the second argument is not sorted.
),)
},
counta(A:A), // This limits the resulting rows to those that are required (discards blank
rows)
2000000 // A big number (it's the maximun number of cells)
))
将以下公式添加到A1
=QUERY('data-v2'!A2:M,"select C,E,D,B,L,M where A='card' and E<>'white' order by I,J
label C 'name', E 'color', D 'notes', B 'id', L 'front end', M 'backend' ",0)
全选,复制并粘贴为值。
答案 1 :(得分:1)
可能的解决方案
它太大了,无法在单一答案中发布,但计划是:
ArrayFormula
+ vlookup
动态更新。onEdit
:在当前标签中编辑目标列时→读取值→清除单元格→将值粘贴到“帮助”中。标签。而公式将带来正确的价值。我已经在我的项目中实现了这一点。缺点是你必须等待大约0.5秒。编辑单元格时脚本正在运行。
我已制作sample sheet,您可以对其进行测试。