Суммирование цифр в значении (Microsoft Excel)
Если у вас есть ячейка, содержащая значение, вы можете придумать способ сложить все цифры в значении. Например, если ячейка содержит значение 554, вы можете определить сумму 5 + 5 + 4, которая равна 14.
Есть несколько способов подойти к этой задаче. (Разве в Excel так не всегда?) Первый — использовать формулу, основанную на нескольких функциях:
=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))
Эта обычная формула суммирует цифры в любом целочисленном значении (в ячейке A1) простым и элегантным способом. Однако это не единственно возможная формула. Следующая формула массива (завершается нажатием Ctrl + Shift + Enter) версия той же формулы:
=SUM(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Любая из этих формул работает нормально, если значение в A1 является положительным целым числом. Если в числе есть какие-либо нецифровые символы (например, отрицательный знак или десятичная точка), то формулы возвращают #VALUE! ошибка.
Это не единственные формулы, которые можно использовать для такого типа расчетов.
Вы можете найти другие примеры формул в Базе знаний Microsoft:
http://support.microsoft.com/?kbid=214053
Вы также можете использовать пользовательскую функцию для возврата желаемой суммы. Следующий макрос перебирает каждую цифру в указанной ячейке и вычисляет итог. Затем это значение возвращается пользователю:
Function AddDigits(Number As Long) As Integer Dim i As Integer Dim Sum As Integer Dim sNumber As String sNumber = CStr(Number) For i = 1 To Len(sNumber) Sum = Sum + Mid(sNumber, i, 1) Next AddDigits = Sum End Function
Чтобы использовать эту функцию, просто используйте в ячейке такую формулу, как = AddDigits (A1). Еще более компактная пользовательская функция (вызываемая таким же образом) следующая:
Function AddDigits(ByVal N As Long) As Integer Do While N >= 1 AddDigits = AddDigits + N Mod 10 N = Int(N / 10) Loop End Function
В отличие от более раннего макроса, эта версия не преобразует содержимое ячейки в строку для ее обработки. Вместо этого он проходит через каждую цифру значения, удаляя последнюю цифру и добавляя ее к общей сумме.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12002) применим к Microsoft Excel 2007, 2010, 2013 и 2016.
Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь: link: / excel-Summing_Digits_in_a_Value [Суммирование цифр в значении]
.