我有以下数据集:
Name Class Amount Position
1 I1 A 10 P
2 I1 O R
3 I1 A -5 R
4 I2 O P
5 I2 A 7 P
6 I2 A -11 R
通常金额缺少数据。我想从与名称和位置上的记录匹配的记录中填充缺失的数据。所以在第2行我想要-5而在第4行我想要7.如果我结合名称和位置来创建一个键列,那么我可以做一个索引匹配或vlookup或仅与具有多个标准的索引匹配。
我想知道的是最明智的方法是什么?
我是否要创建一个新列,例如 Amount-2 并在其中编写一个从 Amount 中提取数据的函数,并执行索引匹配它不见了?我不想这样做,因为我不想在我的数据集中添加更多列。
我应该在 Amount 上对数据集进行排序,这样我就可以将所有空白单元格组合在一起,并在其中编写一个公式,在同一列中引用下面的填充单元格?这种方法是否会在以后对其他字段中的数据集进行排序时是否可靠?或者我的公式引用是否会变得混乱?
写一个填充缺失单元格的宏?矫枉过正?
我问的原因是我不想通过添加更多列来增加我的工作表,例如 Key 或 Amount-2 ,我想知道什么是填补空白的强大而干净的方式。
答案 0 :(得分:1)
缺点 - 添加到数据集。
缺点 - 对我来说听起来有些复杂,排序可能是一个问题,但添加复制/粘贴值会减轻。
缺点 - 如果你不熟悉VBA,可能是一个(小)挑战。可能需要培训新用户。
我个人的想法是继续写一个宏。即使您不是VBA精明,使用宏录制器,然后通过您的选项#1(删除过程结束时的列以避免额外的字段)将在这个特定实例中获得很长的路要走。你肯定想进入后清理代码,但你会有相当多的方式。
将该宏映射到快捷方式,更新新数据将是一项微不足道的任务。