-
=IFERROR(LOOKUP(1,0/NOT(ISNUMBER(A:A)+(A:A="")),A:A),MAX(A:A))
-
这个可以用VBA来完成,代码如下:
Sub mynum()
Dim rg As Range '声明需要的变量
Dim sc, i, n
Set rg = Selection '定义可变化的选择区域
For Each i In rg
If VBA.IsNumeric(i) Then '判断所选择的数据是否为数字
n = n + 1
Else
sc = i '把不是数字的元素暂时赋值给变量
End If
Next
If n = rg.Count Then '判断选区内是否全为数字
Range("b1") = Application.WorksheetFunction.Max(rg) '全为数字则返回最大值
Else
Range("b1") = sc '否则返回选区内的字母
End If
End Sub
测试效果如下图: -
C10单元格输入数组公式
=IF(COUNT(C4:C8)=ROWS(C4:C8),MAX(C4:C8),
INDIRECT("R"&MAX((CODE(C4:C8)>64)*(CODE(C4:C8)<91)*ROW(C4:C8))&"C"&COLUMN(),))
然后右拉。四种情形的结果都能的出来。
D10、E10、F10单元格的公式如下面图所示。
-
下面示例中, C1公式 =IFERROR(VLOOKUP("N",A:A,1),MAX(A:A))
E列、G1用以显示不含字母的情形 。
如本站内容“对您有用”,欢迎随意打赏,让我们持续更新!
打赏