Скажем, у меня есть столбец таких значений, как:

    A
 3' x 5'
 4' x 6'
 5' x 8' 
 6' x 9'
10' x 14'
2' 3 x 8'

Как я могу разделить эти значения на целые числа, чтобы с ними можно было работать?

Для первых нескольких значений я, очевидно, хочу умножить 3 x 5, 4 x 6 и т. Д., Но это становится сложным для значений, подобных последнему, показанному выше. В этом случае это должно быть 2.25 x 8 (0,25 == 3/12 дюйма). Это возможно?

1
Lost 22 Мар 2014 в 16:56

2 ответа

Лучший ответ

Сначала убедитесь, что вы используете TRIM для удаления пробелов в начале и в конце, затем используйте:

=(LEFT(A1;FIND("'";A1)-1)+("0" & MID(A1;FIND("'";A1)+2;FIND("x";A1)-FIND("'";A1)-2))/12)*MID(A1;FIND("x";A1)+1;LEN(A1)-FIND("x";A1)-1)

В зависимости от ваших региональных настроек вам может потребоваться заменить ";" от ","

3
CRondao 22 Мар 2014 в 17:44

Дайте это попробовать:

Public Function area(s As String) As Variant
    Dim ary, ti As String, leng(0 To 1) As Double, i As Long
    Dim bry
    ti = Chr(39)
    ary = Split(Replace(s, " ", ""), "x")
    For i = 0 To 1
        If Right(ary(i), 1) = ti Then
            leng(i) = CDbl(Mid(ary(i), 1, Len(ary(i)) - 1))
        Else
            bry = Split(ary(i), ti)
            leng(i) = CDbl(bry(0)) + CDbl(bry(1)) / 12
        End If
    Next i
    area = leng(0) * leng(1)
End Function
3
Gary's Student 22 Мар 2014 в 17:52