Excel表格函数怎么能实现自动填充

假如在B2中输入一组IF函数“IF(A2>500,20,IF(A2>150,13,IF(A2>90,8,IF(A2>25,5,IF(A2>15,3)))))”,用于根据A2判定B2的数值,那么在不使用填充柄的情况下,如何才能在A3以及A3一下的单元格中输入数值,让B3及B3以下的单元格自动套用上面的公式

可以实现

只不过需要的函数很复杂

A列动态数据

=INDIRECT("A"&SMALL(IF($A$2:$A$100=LOOKUP(9999,$A$2:$A$100),ROW($A$2:$A$100),65536),COUNTIF(A:A,LOOKUP(999+703,$A$2:$A$100))))

把这个公式,带入你的IF函数,将A2替换为这个公式,同时按CTRL   SHIFT  回车键执行

即使A列有相同的,也可以


或 

将公式写在 C2 =INDIRECT("A"&SMALL(IF($A$2:$A$100=LOOKUP(9999,$A$2:$A$100),ROW($A$2:$A$100),65536),COUNTIF(A:A,LOOKUP(999+703,$A$2:$A$100))))

同时按CTRL   SHIFT  回车键执行


你B2公式里的A2修改为C2。


温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-12
选定第一行和第二行数据区域,插入——表格(2003版中用数据——列表——创建列表),确定。
第2个回答  2014-12-12
选中区域,如果向下填充,使用ctrL+D
第3个回答  2014-12-12
那就只能用VBA了,如果用公式,则将你的公式修改成下面:
“IF(A2="","",IF(A2>500,20,IF(A2>150,13,IF(A2>90,8,IF(A2>25,5,IF(A2>15,3))))))”

将公式这一列向下填充,A列没有输入数据的行将没有显示结果,A列填写一行则B列同行将显示结果。

发现你的公式有问题,没有写不大于15的情况,于是再修改如下:
“IF(A2="","",IF(A2>500,20,IF(A2>150,13,IF(A2>90,8,IF(A2>25,5,IF(A2>15,3,""))))))”追问

VBA怎么操作?具体步骤是怎么样的?

追答Private Sub Worksheet_Change(ByVal Target As Range) '编辑单元格事件
  Application.EnableEvents = False '关闭事件响应
    hh = Target.Cells.Row '被编辑的单元格行号
    lh = Target.Cells.Column '被编辑的单元格列号
    nr = Cells(hh, lh) '内容
    If lh = 1 Then
      If nr > 500 Then
        Cells(hh, lh + 1) = 20
      ElseIf nr > 150 Then
        Cells(hh, lh + 1) = 13
      ElseIf nr > 90 Then
        Cells(hh, lh + 1) = 8
      ElseIf nr > 25 Then
        Cells(hh, lh + 1) = 5
      ElseIf nr > 15 Then
        Cells(hh, lh + 1) = 3
      End If
    End If
  Application.EnableEvents = True '开启事件响应
End Sub

 在工作表标签上点鼠标右键,选查看代码,将上面代码粘贴进去便可。

本回答被提问者采纳
第4个回答  2015-11-26
  方法1,双击填充柄,可填充,如果前一列连续多行,则填充相同多行。
  方法2,先输入要填充的公式,按下SHIFT+CTRL+方向键下,再按下CTRL+D。
  方法3,按下SHIFT+CTRL+方向键下,再在编辑栏里输入公式,再按下CTRL+回车。
  方法4,名称框输入需要填充的范围 (比如 A1:A54000) 回车 公式编辑栏输入要复制的公式后,同时按 CTRL+回车键输入。
  方法5,选中要填充的格子,按CTRL+C(复制第一个带公式的单元格),然后鼠标移到名称框,直接输入列区间,如B3:B10000,回车,之后按CTRL+V(点中该位置--右键粘贴)。
  
相似回答