请注意A列和A列中的以下值。乙
1 2280
2 0
3 1250
4 0
5 1245
6 0
7 0
8 0
9 1258
10 0
我需要按照C和C列中的公式进行操作。 D.请帮忙
1 2280
3 1250
5 1245
9 1258
答案 0 :(得分:1)
在C1使用中:
=IFERROR(AGGREGATE(15,6,(ROW($B$1:$B$10)-ROW($B$1)+1)/($B$1:$B$10<>0),ROWS($A$1:$A1)),"")
返回指定范围内B中没有零的行号列表。将其复制下来。它将显示&#34;&#34;当数字用完时无法显示。
在D2中使用:
=IFERROR(INDEX($B$1:$B$10,C1),"")
它将在B中将相应的值显示为C中列出的行号。将公式复制下来。与第一个公式一样,IFERROR将使其显示&#34;&#34;当它用完了数字以便查找。
答案 1 :(得分:0)
C中的公式:
=IF($B1>0;A1;"")
D中的公式:
=IF($B1>0;B1;"")
VBA解决方案:
Sub values()
linea = 1
For Each cell In Range("b1:b10")
If cell > 0 Then
Cells(linea, 3) = cell
Cells(linea, 4) = Cells(cell.Row, cell.Column - 1)
linea = linea + 1
End If
Next cell
End Sub