Скажем, у меня есть столбец таких значений, как:
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 дюйма). Это возможно?
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)
В зависимости от ваших региональных настроек вам может потребоваться заменить ";" от ","
Дайте это попробовать:
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
Похожие вопросы
Новые вопросы
vba
Visual Basic для приложений (VBA) — это управляемый событиями объектно-ориентированный язык программирования для написания макросов, используемый для всего пакета Office, а также для других приложений. VBA не эквивалентен VB.NET или VBS; если вы работаете в Visual Studio, используйте [vb.net]. Если ваш вопрос конкретно касается программирования какого-либо приложения MS Office, также используйте соответствующий тег: [excel], [ms-access], [ms-word], [outlook], [visio] или [ms-project].