excel - 如何减去输入到一个单元格中的值?
问题描述
我需要创建一个“库存图表”。
实际图表包含更多信息,但这些是重要的。
一个 | 乙 | C | D | 乙 | |
---|---|---|---|---|---|
1 | 物品 | 库存 | 物品 | 退出 | |
2 | 项目 1 | 32 | 第 4 项 | 5 | |
3 | 第 2 项 | 228 | 第 3 项 | 20 | |
4 | 第 3 项 | 121 | 项目 1 | 10 | |
5 | 第 4 项 | 93 | |||
6 | 第 5 项 | 44 |
- A 列包含项目名称
- B 列包含当前库存。可以手动修改,也可以通过VBA修改
- C列是一个间隔
- D列是用户插入他/她从库存中撤出的项目的地方
- E列是用户插入他/她提取的数量的地方
- D 列和 E 列旨在无限下降,因此您有持续的提款历史
我希望用户在 E 列中插入数量后,从正确项目的 B 列中的库存值中减去它。
但由于 B 也可以手动修改(例如,对于库存),我不能在这里使用公式。
编辑:
这是实际的图表。我仍将使用“项目 1”等作为项目名称。实际项目名称可以包含特殊字符,例如空格、“-”、“/”、“(”、“)”和“.”。如果这很重要。
请注意,在此图表中,A 是与以前不同的列。我总是调整您提供的代码以匹配列。
A 列包含项目编号的所有可能变体。此处可能出现空单元格。
D 保留为间隔物。
A、B 和 C 列实际上是第 46 行(包括标题)。列 E 到 I 无限下降。我只是不想让帖子变得不必要的大,所以我把它缩短到 6 行。
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-1wig{font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-fymr{font-weight:bold;border-color:inherit;text-align:left;vertical-align:top}
.tg .tg-0lax{text-align:left;vertical-align:top}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>
<table class="tg">
<tr>
<th class="tg-1wig">Item Number</th>
<th class="tg-fymr">Item</th>
<th class="tg-fymr">Stock</th>
<th class="tg-fymr"> </th>
<th class="tg-fymr">Item</th>
<th class="tg-fymr">Withdrawal</th>
<th class="tg-1wig">Use</th>
<th class="tg-1wig">Employee</th>
<th class="tg-1wig">Date</th>
</tr>
<tr>
<td class="tg-0lax">AAA-AAA-0000</td>
<td class="tg-0pky">Item 1<br></td>
<td class="tg-0pky">32</td>
<td class="tg-0pky"></td>
<td class="tg-0pky">Item 4</td>
<td class="tg-0pky">5</td>
<td class="tg-0lax">Usage</td>
<td class="tg-0lax">Kuraiko</td>
<td class="tg-0lax">09.09.2018</td>
</tr>
<tr>
<td class="tg-0lax">0AA-AAA-0000</td>
<td class="tg-0pky">Item 2</td>
<td class="tg-0pky">228</td>
<td class="tg-0pky"></td>
<td class="tg-0pky">Item 3</td>
<td class="tg-0pky">20</td>
<td class="tg-0lax">Usage</td>
<td class="tg-0lax">Kuraiko</td>
<td class="tg-0lax">10.09.2018</td>
</tr>
<tr>
<td class="tg-0lax">AAAA-AAA-0000</td>
<td class="tg-0pky">Item 3</td>
<td class="tg-0pky">121</td>
<td class="tg-0pky"></td>
<td class="tg-0pky">Item 1</td>
<td class="tg-0pky">10</td>
<td class="tg-0lax">Usage</td>
<td class="tg-0lax">Kuraiko</td>
<td class="tg-0lax">11.09.2018</td>
</tr>
<tr>
<td class="tg-0lax"></td>
<td class="tg-0pky">Item 4</td>
<td class="tg-0pky">93</td>
<td class="tg-0pky"></td>
<td class="tg-0pky"></td>
<td class="tg-0pky"></td>
<td class="tg-0lax"></td>
<td class="tg-0lax"></td>
<td class="tg-0lax"></td>
</tr>
<tr>
<td class="tg-0lax"></td>
<td class="tg-0pky">Item 5</td>
<td class="tg-0pky">44</td>
<td class="tg-0pky"></td>
<td class="tg-0pky"></td>
<td class="tg-0pky"></td>
<td class="tg-0lax"></td>
<td class="tg-0lax"></td>
<td class="tg-0lax"></td>
</tr>
</table>
解决方案
无法将公式放在 C 列是一个挫折,但也存在手动调整不准确的风险。
我建议创建两个新列。第一个 =“W/Drawl Total”(假设这是 F 列),第二个 =“W/Drawl Proof”(例如,G 列)
F2中的公式是这样的:
=SUMIF($D$2:$D$6,A2,$E$2:$E$6)
这汇总了该行中列出的库存项目的所有提款。
请注意,“范围”和“总和范围”表示为绝对项。这个非常重要。
在此示例中,范围仅从第 2 行到第 6 行,但实际上,您将编辑范围实际底行的行号,并逐行复制公式。
G2中的公式是这样的:
=+C2-F2
很简单。它取 C 列中的值并扣除“提款总额”。这将突出显示手动数据输入与交易数据不一致的地方。您还可以将此公式复制到列中。
推荐阅读
- php - 将日期与laravel中mysql json数组的每个值进行比较
- r - 如何绘制每个属性的边际分布?
- c# - 如何在 LINQ 的 where 子句中传递动态条件?
- laravel - 如何在 Laravel 中获取相关列值的总和?
- angular - 如何从代码运行 Angular CLI 命令
- c - 修改字符串值导致访问冲突
- c++ - 当从对象引用创建时,来自向量的指针会导致 BAD_ACCESS 错误
- azure-application-insights - Azure Application Insights Kusto 查询能否获取用户的当前时区?
- ios - 无法加载模块 Razorpay
- go - 如何将 JSON 对象验证为无序列表?