TLA Пользователь Сообщений: 5 |
Добрый день, подскажите пожалуйста как поставить правильно формулу на подсчет общей суммы, где в столбце разная валюта. В итоге должны быть суммы всех валют из столбца. |
Сергей Пользователь Сообщений: 11251 |
#2 10.01.2019 12:45:05
то есть 100500 йенодоллародрахмм Лень двигатель прогресса, доказано!!! |
||
TLA Пользователь Сообщений: 5 |
#3 10.01.2019 12:46:45
столбец…..внизу ячейка автосуммы с долларом, ячейка автосуммы с евро и т.д. |
||
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#4 10.01.2019 12:48:08
Где этот столбец? |
||
Mershik Пользователь Сообщений: 8277 |
#5 10.01.2019 12:49:33 Юрий М, ну что Вы? сказано же
Не бойтесь совершенства. Вам его не достичь. |
||
БМВ Модератор Сообщений: 21385 Excel 2013, 2016 |
#6 10.01.2019 12:49:53
Так хотите чтоб выглядело? По вопросам из тем форума, личку не читаю. |
||
TLA Пользователь Сообщений: 5 |
Пример файла загружен Изменено: TLA — 10.01.2019 12:58:11 |
Сергей Пользователь Сообщений: 11251 |
#8 10.01.2019 12:57:43
исходя из такого примера только макрос или макрофункция Лень двигатель прогресса, доказано!!! |
||
Казанский Пользователь Сообщений: 8839 |
#9 10.01.2019 13:03:57 TLA,
Применение: =Tla(C4:C15;»usd») =Tla(C4:C15;»eur») |
||
TLA Пользователь Сообщений: 5 |
Казанский, спасибо большое! |
Еще вариант, если валют может быть больше. Функция так же работает для подсчета ячеек с любой валютой, установленной форматом: Подсчитать сумму ячеек по формату Пример: Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
|
TLA Пользователь Сообщений: 5 |
#12 10.01.2019 14:42:51
Отлично! спасибо) |
||
У меня есть книга Excel, которая требует, чтобы я вычислил сумму разных валют в одном столбце, вот результат, который я ищу:
$40.00
в Dollars
был рассчитан на основе позиций A и C, поскольку их валюта одинакова, а $20.00
в Yen
— это общая сумма для предметов с валютой в Yen
. Это возможно? Пожалуйста, помогите, спасибо!
Если вы открыты для пользовательской функции, попробуйте мой подход:
предположим, что ваши значения находятся в диапазоне B2:B4
и вам нужно вычислить общую сумму валюты из B2
, чем вы можете использовать формулу массива:
=SUMPRODUCT(IF(GetFormat(B2:B4)=GetFormat(B2),1,0),B2:B4)
Обратите внимание, что это формула массива, поэтому вам нужно нажать CTRL+SHIFT+ENTER
Но прежде чем добавить пользовательскую функцию в вашу книгу, вы получите массив числовых форматов диапазона:
Function GetFormat(r As Range)
Dim arr() As String
ReDim arr(1 To r.Cells.Count)
i = 1
For Each c In r
arr(i) = c.NumberFormat
i = i + 1
Next c
GetFormat = WorksheetFunction.Transpose(arr)
End Function
ответ дан Dmitry Pavliv113
Кажется, трудно определить формат валюты с помощью формулы исключительно Excel.
Even =CELL("format",B2)
не используется.
Подобно идее @kobaltz, этот метод нуждается в дополнительном столбце и подвержен ошибкам.
Дополнительный столбец валюты C:C
может быть вставлен вручную или выбран из раскрывающегося списка с пользовательскими значениями «US» и «YAN».
| Доллары | =SUMIF(C:C,"US",B1:B3)
|
| Ян | =SUMIF(C:C,"YAN",B1:B3)
|
Есть два способа сделать это. Я рекомендую вам выделить знак валюты и номер, например, 100 фунтов стерлингов записываются как 100 в ячейке, а £ в соседней ячейке. Тогда у вас может быть 50e (евро) ниже 50 и e и так далее.
Первый метод предполагает использование сводных таблиц — очень просто.
Но еще более простой и предпочтительный способ заключается в следующем
В диапазоне от d2 до d19 у нас есть суммы (только цифры), а в диапазоне от c2 до c19 у нас есть такие символы, как e, £ или $ и т.д.
В отдельной ячейке, где я хочу показать сумму е, я ввожу:
= SUMIF(D2:D19, «е», С2: С19)
Рядом с ним я хочу суммировать £, поэтому я ввожу:
= SUMIF(D2:D19, «£», С2: С19)
Это работает как сон.
ответ дан Athar Siddiqui1
В диапазоне от B2 до B4 у нас есть суммы (только числа, 10,00, 20,00 и 30,00), а в диапазоне от C2 до C4 у нас есть символы ($, Yan, $)
В отдельной ячейке мы хотим показать сумму $, я ввожу:= SUMIFS(B2:B4, C2:C4, C5) Ячейка C5 заполнена «$»
Рядом с ним я хочу сложить Ян, поэтому я ввожу:= SUMIFS(B2:B4, C2:C4, C6) Ячейка C6 заполнена «Ян»
Оно работает.
Как это устроено:
- Нажмите
Ctrl+F3
и нажмитеNew
. - Напишите
Cell_Format
в полеName Box
. -
Введите это в
Refers To Box
.=GET.CELL(53,Sheet1!$B2)
NB Sheet1!$B2
доступен для редактирования.
-
Запишите эту формулу в ячейку
C2
и заполните.=LEFT(Cell_Format,1)
-
Введите символы $, ₹ & £ в ячейку
D2, D3 & D4
. -
Запишите эту формулу в ячейку
C8
и заполните.=SUMIF($C$2:$C$6,D2,$B$2:$B$6)
Как отдельно суммировать валютные ячейки |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
I have an excel workbook which requires me to calculate the sum of different currencies on the same column, here is the result I’m looking for:
The $40.00
in Dollars
was calculated based on item A and C since their currency are the same, while $20.00
in Yen
is the total for items that has the currency of Yen
. Is this possible? Please help, thanks!
kobaltz
14.8k3 gold badges35 silver badges57 bronze badges
asked Jan 4, 2014 at 2:37
1
If you are open for user defined function, try my approach:
suppose your values are in B2:B4
range and you need to calculate total sum of currency from B2
, than you can use array formula:
=SUMPRODUCT(IF(GetFormat(B2:B4)=GetFormat(B2),1,0),B2:B4)
Note, that it is an array formula, so you need to press CTRL+SHIFT+ENTER
But before you should add user defined function to your workbook to get array of range numberformats:
Function GetFormat(r As Range)
Dim arr() As String
ReDim arr(1 To r.Cells.Count)
i = 1
For Each c In r
arr(i) = c.NumberFormat
i = i + 1
Next c
GetFormat = WorksheetFunction.Transpose(arr)
End Function
answered Jan 4, 2014 at 20:09
There are two ways you can do it. I recommend that you separate out the currency sign and number so for example £100 is written as 100 in in cell and £ in the adjacent cell. Then you may have below it 50e (euro) written as 50 and e and on.
The first method involves using pivot tables — very simple.
But even simpler and the preferred way is as follows
In range d2 to d19 we have amounts (just numbers) and in range c2 to c19 we have the symbols like e or £ or $ etc
In a separate cell where I want to show the total of e, I enter:
=SUMIF(D2:D19,»e»,C2:C19)
Next to it I want to sum the £, so I enter:
=SUMIF(D2:D19,»£»,C2:C19)
It works like a dream.
Chenmunka
3,22813 gold badges28 silver badges37 bronze badges
answered Sep 12, 2014 at 7:14
1
How it works:
- Press
Ctrl+F3
& ClickNew
. - Write
Cell_Format
inName Box
. -
Enter this in
Refers To Box
.=GET.CELL(53,Sheet1!$B2)
N.B. Sheet1!$B2
is editable.
-
Write this Formula in Cell
C2
& fill down.=LEFT(Cell_Format,1)
-
Enter $, ₹ & £ symbols in Cell
D2, D3 & D4
. -
Write this formula in Cell
C8
& fill down.=SUMIF($C$2:$C$6,D2,$B$2:$B$6)
answered Oct 16, 2018 at 13:15
Rajesh SinhaRajesh Sinha
8,8926 gold badges15 silver badges35 bronze badges
It seems difficult to identify the currency format by using solely excel formula.
Even =CELL("format",B2)
is not useful.
Similar to @kobaltz idea, this method needs an extra column and is error-prone.
The additional Currency column C:C
can either be manually inserted or selected from drop-down list with custom values «US» and «YAN».
| Dollars | =SUMIF(C:C,"US",B1:B3)
|
| Yan | =SUMIF(C:C,"YAN",B1:B3)
|
answered Jan 6, 2014 at 7:46
Ivan ChauIvan Chau
1,3839 silver badges18 bronze badges
In range B2 to B4 we have amounts (just numbers, 10.00, 20.00 and 30.00 )
and in range C2 to C4 we have the symbols ($,Yan,$)
In a separate cell we want to show the total of $, I enter:
=SUMIFS(B2:B4,C2:C4,C5)
C5 cell is fill with «$»
Next to it I want to sum the Yan , so I enter:
=SUMIFS(B2:B4,C2:C4,C6)
C6 cell is fill with «Yan»
It works.
answered Oct 16, 2018 at 11:02
I wanted to figure out the total # of all currencies as a value not for example:
US 1 /
EUR 1.1 /
CAD 1.4 /
BOL 700,000 /
RMB 8 /
to get a final official total of numbers divided by total contributors countries. sO if the total countries # value in market officially is 112890 and we divide by 200 countries contributed we would get value of 564.45. Then move on with other information of population, total official currency in cicurlation, adding crypto and metals etc would be a nice data set to look into.
This would be a nice number to see from a different perspective with live updates. with total changes and updated for the world to see its growth and changes. If anyone can help would be awesome!
answered May 24, 2022 at 14:39
2
Хитрости »
30 Сентябрь 2016 10155 просмотров
Подсчитать сумму ячеек по формату
Несколько нестандартная задача: получить сумму ячеек отдельно для долларов, отдельно для евро, отдельно для рублей, но в таблице они при этом записаны вперемешку:
И все эти доллары и рубли заданы для ячеек через формат ячеек(правая кнопка мыши на ячейке —Формат ячеек(Format Cells) -вкладка Число(Number)).
Ни одна стандартная функция в Excel этого делать не умеет, т.к. не различает подобные форматы ячеек. Поэтому я решил написать функцию пользователя(UDF), которая исправляет эту несправедливость.
Если не знаете что такое функция пользователя советую сначала прочитать статью: Что такое функция пользователя(UDF)?.
При этом функция может работать только с видимыми ячейками. Т.е. если отфильтровать диапазон, то функция подсчитает данные только отфильтрованных ячеек.
Option Explicit '--------------------------------------------------------------------------------------- ' Procedure : SumByNumberFormat ' Author : The_Prist(Щербаков Дмитрий) ' http://www.excel-vba.ru ' Purpose : Функция суммирования ячеек на основе формата ячейки. ' Аргументы: ' rRange - диапазон с ячейками для суммирования. ' rTemplCell - ячейка-образец формата ячейки ' bSumHide - ИСТИНА или 1 учитывает скрытые ячейки. ' ЛОЖЬ, 0 или опущен(по умолчанию) - скрытые ячейки не суммируются. '--------------------------------------------------------------------------------------- Function SumByNumberFormat(rRange As Range, rTemplCell As Range, Optional bSumHide As Boolean = False) Application.Volatile 'закомментировать, чтобы функция не обновляла свои значения по нажатию Shift+F9(пересчет листа) Dim sFormat As String, rCell As Range, dblSum As Double, vVal sFormat = rTemplCell.NumberFormatLocal For Each rCell In rRange If rCell.NumberFormatLocal = sFormat Then vVal = rCell.Value If IsNumeric(vVal) Then If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then If bSumHide Then dblSum = dblSum + vVal Else dblSum = dblSum + vVal End If End If End If Next rCell SumByNumberFormat = dblSum End Function
Синтаксис функции:
без учета скрытых строк и столбцов:
=SumByNumberFormat($A$1:$A$10;B1)
все ячейки:
=SumByNumberFormat($A$1:$A$10;B1;1)
rRange($A$1:$A$10) — ссылка на диапазон с ячейками для суммирования.
rColorCell(B1) — ссылка на ячейка-образец с форматом ячейки.
bSumHide — Если указано ИСТИНА или 1 учитывает скрытые ячейки. ЛОЖЬ, 0 или опущен(по умолчанию) — скрытые ячейки не суммируются.
Как можно применить. Если посмотреть на картинку выше, то в ячейках D2:D4 уже просуммированы данные на основании формата приведенной выше функцией пользователя:
-
в D2: =SumByNumberFormat($A$2:$A$8;C2)
в D3: =SumByNumberFormat($A$2:$A$8;C3)
в D4: =SumByNumberFormat($A$2:$A$8;C4)
в столбце С при этом заданы нужные форматы для суммирования. Чтобы теперь определить сумму в единой валюте(например, в рублях), можно записать в ячейки Е3 и Е4 курс доллара и евро(для этого можно использовать функцию из этой статьи — Получить курс валют от ЦБР). После чего в отдельной ячейке записать формулу: =СУММ(D2;D3*E3;D4*E4)
Ниже приложен файл, в котором уже прописана функция и пример суммирования разных валют:
Скачать пример
SumByFormat.xls (56,5 KiB, 1 076 скачиваний)
Чтобы подсчитывалось количество ячеек, а не их сумма, то функцию надо изменить самую малость:
'--------------------------------------------------------------------------------------- ' Procedure : CountByNumberFormat ' Author : The_Prist(Щербаков Дмитрий) ' http://www.excel-vba.ru ' Purpose : Функция подсчета ячеек на основе формата ячейки. ' Аргументы: ' rRange - диапазон с ячейками для суммирования. ' rTemplCell - ячейка-образец формата ячейки ' bSumHide - ИСТИНА или 1 учитывает скрытые ячейки. ' ЛОЖЬ, 0 или опущен(по умолчанию) - скрытые ячейки не подсчитываются '--------------------------------------------------------------------------------------- Function CountByNumberFormat(rRange As Range, rTemplCell As Range, Optional bSumHide As Boolean = False) Application.Volatile 'закомментировать, чтобы функция не обновляла свои значения по нажатию Shift+F9(пересчет листа) Dim sFormat As String, rCell As Range, lCnt As Long, vVal sFormat = rTemplCell.NumberFormatLocal For Each rCell In rRange If rCell.NumberFormatLocal = sFormat Then vVal = rCell.Value If IsNumeric(vVal) Then If vVal <> 0 Then If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then If bSumHide Then lCnt = lCnt + 1 Else lCnt = lCnt + 1 End If End If End If End If Next rCell CountByNumberFormat = lCnt End Function
Синтаксис и аргументы полностью идентичны с функцией SumByNumberFormat.
Что следует учитывать: функции подсчитывают и суммируют ячейки на основании формата, установленного вручную с панели. Если форматы ячеек созданы при помощи условного форматирования, то функции не определят формат такой ячейки. Это связано с особенностями создания визуального изменения свойств ячейки при помощи условного форматирования.
Так же функции не будут автоматически обновлять значения сразу после смены формата ячеек — это особенность Excel. Поэтому при изменении формата ячеек в вычисляемом диапазоне необходимо вручную пересчитать функцию(F2 -Enter).
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика