求EXCEL或编程高手帮忙,如下表格1想要简化表格2,有没好办法

补充一下,简单说1726-1738都是褐灰色含砾粗砂岩,2米一个采样,要合成一个样点,也就是一行显示,几千行数据,手动去做累死人,下面EXCEL那方法貌似不行,编程的那个能在具体点不,比如用什么编的,需要生成可执行文件么?还是EXCEL里面就可以?

在要得出值的一列的上一个单元格输入公式如下(假设是E列的E2单元格)
=INDEX(A$139:A$148,SMALL(IF(MATCH(A$139:A$148&"",A$139:A$148&"",)=ROW($139:$148)-138,ROW($139:$148),4^8),ROW(A1)))&""
数组公式,按下SHIFT+CTRL+ENTER三键结束输入,再下拉复制公式

第二列输入公式(假设是F2单元格)
=VLOOKUP(E2,A:B,2,0)
下拉复制公式

第三列输入公式(假设是G2单元格)
=MIN(IF(A$139:A$148=E2,C$139:C$148))
数组公式,按下SHIFT+CTRL+ENTER三键结束输入,再下拉复制公式

第四列输入公式(假设是H2单元格)
=MAX(IF(A$139:A$148=E2,D$139:D$148))
数组公式,按下SHIFT+CTRL+ENTER三键结束输入,再下拉复制公式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-30
这个好弄。假设你的第一行是标题,材料的名称从A2开始
运行代码 输出结果在G列到J列
Sub test()

Dim i%, j%
i = 2
j = 2
Do While Cells(i, 1) <> ""
If Cells(i, 1) <> Cells(i - 1, 1) Then
Cells(j, 7) = Cells(i, 1)
Cells(j, 8) = Cells(i, 2)
Cells(j, 9) = Cells(i, 3)
End If
If Cells(i, 1) <> Cells(i + 1, 1) Then
Cells(j, 10) = Cells(i, 4)
j = j + 1
End If
i = i + 1
Loop
End Sub

excel自带的VBA编译器。比如你的excel文件叫xxx.xls。打开xxx.xls,按alt+f11,在xxx.xls上点右键插入模块,复制代码,黏贴代码,点f5运行
第2个回答  2012-11-29
我是来学VBA的。。