У меня такая ситуация в Microsoft Excel:
Ячейки форматируются с использованием "Формат ячеек" и установки валюты для каждой ячейки вручную. Таким образом, они не простые строки. Я бы суммировал фильтрацию по валюте. Это возможно? Как?
Благодарю.
У меня такая ситуация в Microsoft Excel:
Ячейки форматируются с использованием "Формат ячеек" и установки валюты для каждой ячейки вручную. Таким образом, они не простые строки. Я бы суммировал фильтрацию по валюте. Это возможно? Как?
Благодарю.
Поскольку вы использовали опцию "format" для форматирования этих ячеек, форматирование не содержится в значении ячейки, поэтому нам нужно определить функцию в VBA. Поместите это (источник) в новый модуль:
Public Function sumFormats(rng As Range) As String
Application.Volatile
Dim cell As Range, dblDollar#, dblPound#
dblDollar = 0: dblPound = 0
For Each cell In rng
If Len(cell.Value) > 0 Then
If Left(cell.Text, 1) = "$" Then
dblDollar = dblDollar + cell.Value
Else
dblPound = dblPound + cell.Value
End If
End If
Next cell
sumFormats = "Sum of currency: $" & dblDollar & "; Sum of Pounds: " & ChrW(163) & dblPound
End Function
Затем используйте новую функцию =sumFormats(A1:A20)
для любых ячеек, которые вы хотите, и вы получите суммы в 1 строке. Если вам нужны промежуточные итоги в разных строках, нам нужно изменить выходные данные функции.
Если вы не хотите связываться с VBA, вам понадобится вспомогательный столбец рядом с вашими номерами. В этом столбце используйте функцию =cell("format",A1)
и это вернет ,2
для £ и C2
для $. Затем запустите функцию a =sumif
для промежуточных итогов .
=sumif(helpcolumncell,"C2",currencycell)
для суммирования в долларах и замены C2
на ,2
для фунтов. Вы всегда можете скрыть вспомогательный столбец, если он вам не нравится. В этом случае мы предположим, что ваши данные находятся в столбце B, а вспомогательный - в столбце C.
A B C
Data Format
$1 =cell("format",B2) = C2
£2 =cell("format",B3) = ,2
£3 =cell("format",B4) = ,2
$4 =cell("format",B5) = C2
sum dollar =sumif($C$2:$C$4,"C2",$B$2:$B$4) = 5
sum pound =sumif($C$2:$C$4,",2",$B$2:$B$4) = 5
Затем вам нужно будет отформатировать эти ячейки суммирования, чтобы получить знак валюты, или добавить функцию =concatenate("$"&sumif(...))