Допустим, у меня есть электронная таблица, похожая на эту.

A |B
----------------
1 |1.0 2016-05-07
2 |0.5 2016-04-12
3 |x.y yyyy-MM-dd

Как я могу сложить эти первые значения (1.0 , 0.5)?

2 ответа2

2

РЕДАКТИРОВАТЬ - МОЯ ОШИБКА - ВЫ МОЖЕТЕ СДЕЛАТЬ ЭТО С помощью основных функций Excel - см. Ответ!

Вот еще один способ использования модуля VBA и пользовательские публичные функции

Вставьте это в код VBA

Public Function SumLeftData(rgeData As Range) As Double

    Dim celVal  As Object

    For Each celVal In rgeData.Cells
        SumLeftData = SumLeftData + Left(celVal, 3)
    Next

End Function

Для вашего примера вы должны вставить формулу в ячейку C3 (или где-либо еще), которая =SumLeftData(B1:B3)

НОТА

Убедитесь, что он находится в Module1, а не в коде Workbook.

Как добавить VBA в MS Office?

2

Вы можете использовать формулу массива следующим образом:

= SUMPRODUCT(1 * LEFT(A1:A3, FIND("", A1,1)-1))
где A1:A3 - столбец ваших данных, и у вас всегда есть пробел между числами и датой, формула находит первый пробел и читает число слева и использует Ctrl + Shift + Enter вместо "Enter" для формулы массива , sumproduct добавит числа.
Если ваши Данные не всегда начинаются с цифр, вы можете использовать:
= SUMPRODUCT(ЕСЛИ (НОМЕР (ЗНАЧЕНИЕ (ВЛЕВО (ВЛЕВО (A1:A3, НАЙТИ ("", A1,1)-1))), 1 * ВЛЕВО (A1:A3, НАЙТИ ("", A1,1)-1), 0))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .