如何在excel的多行单元格中提取数字

问题描述 投票:0回答:1

我的excel文件中有两个单元格,每个单元格包含一个多行文本。如何提取每个多行单元格中的每个数字值。

enter image description here

我想计算来自单元格A和B的每个组的平均值。

excel
1个回答
0
投票

UDF解决方案

使用此简短的用户定义函数从包含该组的行中去除百分比(作为双精度)。

Option Explicit

Function getPCT(rng As Range, grp As String)
    Dim i As Long, pct As Double, arr As Variant

    arr = Split(rng.Value2, Chr(10))

    For i = LBound(arr) To UBound(arr)
        If CBool(InStr(1, arr(i), grp, vbTextCompare)) Then
            On Error GoTo nan
            getPCT = CDbl(Split(Split(arr(i), Chr(32))(1), Chr(37))(0)) / 100
            Exit Function
        End If
    Next i

    If i > UBound(arr) Then getPCT = CVErr(xlErrNA)
    Exit Function
nan:
    getPCT = CVErr(xlErrNum)
End Function

使用如下并将结果格式化为真实百分比。

enter image description here

公式解决方案

在上面的示例图像中,可以在E2中使用该原生函数公式。

=AVERAGE(REPLACE(REPLACE(A$1, 1, SEARCH(D2, A$1)+LEN(D2), TEXT(,)), FIND("%", REPLACE(A$1, 1, SEARCH(D2, A$1)+LEN(D2), TEXT(,))), LEN(A$1), TEXT(,))/100, REPLACE(REPLACE(B$1, 1, SEARCH(D2, B$1)+LEN(D2), TEXT(,)), FIND("%", REPLACE(B$1, 1, SEARCH(D2, B$1)+LEN(D2), TEXT(,))), LEN(B$1), TEXT(,))/100)
© www.soinside.com 2019 - 2024. All rights reserved.