Excel求高手指点 表格涵数 另一页显示需要内容

来自:    更新日期:早些时候
~

这个构建一个辅助列判定起来会比较简单一点,

首先在F列F2单元格输入以下公式向下填充

=(B2=$H$1)+F1

然后再自动显示区域输入以下公式填充就行。

=IFERROR(INDEX($A:$E,MATCH(ROW(A1),$F:$F,0),MATCH(H$2,$A$1:$E$1,0)),"")



如果你要像图右侧那样,各种显示在一起,那你直接在品类那里进行排序就直接出来了。如果你想单个显示苹果有多少斤,凤梨有多少斤,可以使用SUMIF函数。

一:首先把所有品类分别列出来。如图

二:在H2单元格输入=SUMIF(B2:H3B13,G2:G5,D2:D13)按回车键,然后下拉即可



用index数组公式
没有行列号,无法写

用宏实现:


Sub 查找项目()

Dim fruitrow As Long
Dim fruitcol As Long
fruitrow = Sheets("sheet1").Cells(rows.Count, 1).End(xlUp).Row
fruitcol = Sheets("sheet1").Cells(1, Columns.Count).End(xlToLeft).Column

Dim dateindex, typeindex, placeindex, weightindex, priceindex As Integer
For i = 1 To fruitcol
If Sheets("sheet1").Cells(1, i) = "日期" Then
dateindex = i
End If
If Sheets("sheet1").Cells(1, i) = "品类" Then
typeindex = i
End If
If Sheets("sheet1").Cells(1, i) = "产地" Then
placeindex = i
End If
If Sheets("sheet1").Cells(1, i) = "重量" Then
weightindex = i
End If
If Sheets("sheet1").Cells(1, i) = "金额" Then
priceindex = i
End If
Next i
Range(Sheets("sheet1").Cells(3, 8), Sheets("sheet1").Cells(fruitrow, typeindex).Offset(0, 10)).Clear
For i = 2 To fruitrow
If Sheets("sheet1").Cells(1, 8) = Sheets("sheet1").Cells(i, typeindex) Then
Range(Sheets("sheet1").Cells(i, typeindex).Offset(0, -1), Sheets("sheet1").Cells(i, typeindex).Offset(0, 3)).Copy Sheets("sheet1").Cells(i + 1, typeindex).Offset(0, 6)
End If
Next i
Range(Sheets("sheet1").Cells(3, 8), Sheets("sheet1").Cells(fruitrow, typeindex).Offset(0, 10)).Select
Dim r As Range, tmp As Range
Set r = Intersect(ActiveSheet.UsedRange, Selection)
For i = r.Cells.rows.Count To 1 Step -1
For j = r.Cells.Columns.Count To 1 Step -1
Set tmp = r.Cells(i, j)
If tmp.Value = "" Then
tmp.Delete xlShiftUp
End If
Next j
Next i


End Sub



数据透视表,,


Excel求高手指点 表格涵数 另一页显示需要内容视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网