excel 同一行中选取第一个不为空的数据

如这样子,然后在I列中显示2,5,6,1,1,2,帮帮忙啊!
一楼的方法可行,简单,但是有一个问题啊,如果第一个单元格是两位数的话,就有问题了,例如是26,只能显示2,能不能改进一下呢?

用Trim 函数最适合你的情况,可去除空格而不损害文本。如数据在A列
在B1输入:
=trim(a1)

向下填充,得到你要的效果后,复制、特殊粘贴、粘贴值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-08
1.视图-工具栏-控件工具箱:添加一个按钮
2.双击按钮:输入下列语句(在设计模式下)
Private Sub CommandButton1_Click()
For i = 1 To 6
For j = 1 To 8
If Cells(i, j) <> 0 Then Cells(i, 9) = Cells(i, j): Exit For
Next j
Next i
End Sub
3.退出设计模式(按下控件工具箱中左上角图标),点击按钮
该方法不仅适合数值型,也能适合字符型本回答被网友采纳
第2个回答  2010-07-08
以A:G为例:

请在I1输入=INDEX($A:$G,ROW($A1),MIN(IF(($A1:$G1)>0,COLUMN($A1:$G1),9^9)))
按Ctrl+Shift +Enter输入,后下拉.
第3个回答  2010-07-08
i1中输入如下公式
{=index(a1:g1,match(,0/a1:g1,))}
然后用填充柄向下填充
第4个回答  2010-07-08
=INDIRECT(CHAR(SMALL(IF(A1:H1="",4^8,COLUMN(A1:H1)),1)+64)&ROW())
I1公式,数组CTRL+SHIFT+ENTER结束,下拉
相似回答