在 Excel 中填写,但基于多个值

Jen*_* D. 6 microsoft-excel

我有电子表格(不是我创建的),其中一列中有空白条目,它们应该真正包含数据。我想取出每个空单元格并用它上方最接近的值填充它。我正在寻找尽可能少的人工干预,因为我将不得不反复这样做。

我认为某些以前版本的 Excel,或者可能是遥远过去的另一个电子表格,默认情况下会执行此操作——也就是说,如果您选择带有 foo 和 bar 的列,并选择等效的“填充”,您会得到WANT 列中有什么。我在 Excel 中实际得到的是 GET 列。

HAVE:            WANT:           GET:
foo     1        foo     1       foo     1
        2        foo     2       foo     2
bar     1        bar     1       foo     1
        2        bar     2       foo     2
        3        bar     3       foo     3
Run Code Online (Sandbox Code Playgroud)

我担心这可能需要一个宏才能正确完成。我曾经是 Excel 宏的高手,然后突然它们都在 VB 中。

我的后备立场是将整个内容转储到 CSV 并编写一个 Python 脚本,但如果有任何方法可以在 Excel 中执行此操作,那就更好了。即使它涉及几个不同的手动步骤,也没关系;只是每组线不是一步。也就是说,“复制列,对其执行 X,剪切并粘贴回”的过程会起作用,但“对每次出现的 foo 或 bar 执行 X”不会。文件太大了。

任何想法表示赞赏!

tec*_*cal 7

Excel 先生为 Excel的 Pre-Ribbon 版本提供了答案。以下是 Excel 2007 的说明。 A 列中的 foo/bar 和 B 列中的数据:

  1. 从上到下选择 A 列中的所有数据。
  2. 单击主页-> 查找和选择-> 转到特殊
  3. 单击“空白”并单击“确定”。(此时应选中该列中的所有空白,并且单元格 A2 应为活动单元格。
  4. 按“=”,然后按向上选择单元格A1。
  5. CtrlEnter将公式复制到所有选定的单元格中。

可选步骤 7:如果您只需要这些值,请复制整个列,然后将“选择性粘贴”仅值放在顶部。