发布网友 发布时间:2022-02-21 22:17
共5个回答
热心网友 时间:2022-02-21 23:46
可以实现
只不过需要的函数很复杂
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。
热心网友 时间:2022-02-22 01:04
选定第一行和第二行数据区域,插入——表格(2003版中用数据——列表——创建列表),确定。
热心网友 时间:2022-02-22 02:39
选中区域,如果向下填充,使用ctrL+D
热心网友 时间:2022-02-22 04:30
那就只能用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
在工作表标签上点鼠标右键,选查看代码,将上面代码粘贴进去便可。
热心网友 时间:2022-02-22 06:38
方法1,双击填充柄,可填充,如果前一列连续多行,则填充相同多行。
方法2,先输入要填充的公式,按下SHIFT+CTRL+方向键下,再按下CTRL+D。
方法3,按下SHIFT+CTRL+方向键下,再在编辑栏里输入公式,再按下CTRL+回车。
方法4,名称框输入需要填充的范围 (比如 A1:A54000) 回车 公式编辑栏输入要复制的公式后,同时按 CTRL+回车键输入。
方法5,选中要填充的格子,按CTRL+C(复制第一个带公式的单元格),然后鼠标移到名称框,直接输入列区间,如B3:B10000,回车,之后按CTRL+V(点中该位置--右键粘贴)。