在 Excel 中有条件地自动填充空白单元格

在 Excel 中有条件地自动填充空白单元格

我有如下数据......

1 A
1
1
1
2 B
2
2
2
3
3
3
4 C
4
4

它持续 38,000 行,我需要用与 A 列中的唯一值相关联的 B 列中的初始值(如果存在)自动填充 B 列中的空白单元格,如果没有与 A 列中的唯一数字相关联的值,则插入“N/A”。结果看起来像这样......

1 A
1 A
1 A
1 A
2 B
2 B
2 B
2 B
3 N/A
3 N/A
3 N/A
4 C
4 C
4 C

有没有办法在 excel 中做到这一点?如果没有,其他程序的任何指导也会有所帮助。原始数据为 .CSV,但不整洁。Excel 表很整洁,但不完整,如上所示。

答案1

  1. 复制这两列并将其粘贴到另一张表中
  2. 过滤第二列的空白
  3. 删除已过滤的空白单元格现在,右边只剩下字母,左边剩下相关数字。这是您 vlookup 的参考表。
  4. 将 vlookup 函数(放在 A 字母上或(要小心)放在 A 字母旁边的第三列)并向下拖动 - 就这样,简单又容易

答案2

您可以使用 Index、Match 或 VLookup(我更喜欢 Index、Match)

基本上,我看待您的问题的方式是,您可以在工作簿中再添加一张工作表,其中包含您需要自动填充的数据,并在该页面上显示实际输出...示例(我们将其称为“Sheet2”,为了减少混淆,我添加了标题):

     A    B    C    D
1    1    A 
2    2    B 
3    4    C
4

然后在需要自动填充数据的页面(Sheet1)上:

     A    B
1    1    `=INDEX(Sheet2!$B:$B,MATCH(Sheet1!A1,Sheet2!$A:$A,0))` (Just handle-drag this down)
2    1 
3    1 
4    1 
5    2  
6    2 
7    2 
8    2 
9    3 
10   3 
11   3 
12   4 
13   4 
14   4 

它并不像看起来那么复杂,当数据不可用时它会给你#N/A 错误!:

答案3

您可以在 B1 中写入 1A,就像您写的一样,或者 =A1 它将具有相同的值,在 B2 中您必须写入此公式:
=IF(LEFT(A2,1)=LEFT(A1,1),B1,IF(LEN(A2)=1,A2&" N/A",A2))
如果您的数据与上面写的一样,没有空单元格,您将得到相同的结果,您可以将公式向下拖动,它会自动更改引用。此公式检查两个连续行之间的第一个字符是否相同,它将在 B 列中写入相同的值,如果不是第二个,如果检查单元格中只有一个字符,它将添加 N/A,否则它多于一个,它将在 B 中写入

相关内容