Бухгалтерия вводит денежные поступления в разных валютах (в долларах, шекелях и австралийских фунтах). Можно ли отсортировать столбец, содержащий смешанные валюты, по типу валюты, если символ валюты содержится в той же ячейке с суммой, или символ валюты должен находиться в отдельном столбце от денежной суммы?
1 ответ
ПРЕАМБУЛА: сначала я не поняла ваш вопрос, но потом поняла, что вы не можете иметь дело с текстовыми значениями (символ валюты + цифры) для этого, поэтому вам нужно иметь дело с ячейками, содержащими значения, отформатированные так, чтобы они отображались как валюта суммы, но на самом деле содержит только цифры (просто цифры, без символов валюты).
Что ж, поскольку в настоящее время Excel по-прежнему не обеспечивает сортировку на основе форматирования ячеек (помимо цветов / значков), единственное решение, которое приходит мне в голову, - это, в основном, вторая гипотеза, которую вы выдвинули: вам нужно поместить символ относительной валюты для каждая сумма (строка) во вторичном столбце; таким образом, вы можете затем выполнить пользовательскую многоуровневую сортировку (первый уровень в столбце валюты и второй уровень в столбце суммы) и отсортировать данные.
Теперь я могу предложить вам способ автоматизации процесса, чтобы ускорить процесс, и предположить, что вы не хотите делать такие вещи, как написание символов валюты для каждой строки суммы вручную (не так ли? ;-D).
Хорошо, так что если вы можете использовать VBA для этого, здесь мы идем ...
1) Поместите следующий код VBA в модуль:
Public Function GetCurrency(ByVal r As Range) As String
Application.Volatile
Static RegX As Object
If RegX Is Nothing Then Set RegX = CreateObject("VBScript.RegExp")
With RegX
.Global = True
.Pattern = "[0-9\-\.,\s]"
GetCurrency = .Replace(r.Text, "")
End With
End Function
2) Теперь, предполагая, что значения сумм находятся в столбце "A", а символы валюты должны быть в столбце "B", поместите эту формулу в строку первого столбца B (ячейка B1):
=GetCurrency(A1)
затем скопируйте эту формулу вниз для всех необходимых последующих строк того же столбца (B).
Итак, теперь вы получили два столбца: один с отформатированными значениями суммы (A), а другой - необходимый, содержащий символы относительной валюты (B).
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, ЭТО БУДЕТ РАБОТАТЬ ТОЛЬКО, ЕСЛИ МОИ ПРЕДПОСЫЛКИ ПРЕДСТАВЛЕНЫ, И ПОЭТОМУ У ВАС КОЛОННА "А", СОДЕРЖАЩАЯ ЧИСЛЕННЫЕ ЗНАЧЕНИЯ, СФОРМИРОВАННЫЕ В КАЧЕСТВЕ СВОИХ ВАЛЮТ. ЕСЛИ НЕТ, ИМЕЯ ВРУЧНУЮ ФОРМАТИРОВАТЬ КАЖДУЮ КОЛОННУ "А", СТРОКА / КЛЕТОК В ЭТОЙ ТОЧКЕ НЕ ДАЕТ РАЗНИЦ И НЕТ ВЫГОДЫ / ВЫГОДЫ, ЧЕМ НЕ НАПРЯМУЮ ЗАПИСЬ СИМВОЛА ВАЛЮТЫ РУКАМИ НА КАЖДУЮ КОЛОННУ "Б" / КЛЕТКА
3) Теперь выберите два столбца и выполните пользовательскую многоуровневую сортировку:
Перейдите на ленту "Данные", найдите группу "Сортировка и фильтр", нажмите "Сортировать";
Сортировать значения столбца B (первый уровень)
Нажмите на "Добавить уровень"
Сортировать КОЛОННА ЗНАЧЕНИЯ (второй уровень)
и вы сделали!
PS: Теперь, если вы хотите, вы можете даже безопасно скрыть столбец "B".
REFS: подробнее о сортировке по нескольким столбцам.
ВАЖНОЕ ЗАКЛЮЧИТЕЛЬНОЕ ПРИМЕЧАНИЕ:
Вам не нужно никоим образом манипулировать / изменять значения в столбце суммы, для этого символы валюты ДОЛЖНЫ БЫТЬ во вторичном столбце.
Вы не можете просто добавить символы валюты в столбец значений суммы, иначе вы получите сумму в виде текстовых значений и, следовательно, не сможете отсортировать их должным образом, как это делают числовые значения! (Например, подумайте о том, что происходит, когда в качестве текстовых значений используются «$ 80», «$ 30», «$ 500»: «$ 500» будет отсортировано между «$ 80» и «$ 30», потому что в виде символов: "8" < "5" < "3"
...Надеюсь, вы поняли.)