1

Бухгалтерия вводит денежные поступления в разных валютах (в долларах, шекелях и австралийских фунтах). Можно ли отсортировать столбец, содержащий смешанные валюты, по типу валюты, если символ валюты содержится в той же ячейке с суммой, или символ валюты должен находиться в отдельном столбце от денежной суммы?

1 ответ1

0

ПРЕАМБУЛА: сначала я не поняла ваш вопрос, но потом поняла, что вы не можете иметь дело с текстовыми значениями (символ валюты + цифры) для этого, поэтому вам нужно иметь дело с ячейками, содержащими значения, отформатированные так, чтобы они отображались как валюта суммы, но на самом деле содержит только цифры (просто цифры, без символов валюты).

Что ж, поскольку в настоящее время 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" ...Надеюсь, вы поняли.)

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