6

Я использую "Char", чтобы преобразовать число ASCII в символ. Что я использую для преобразования номера Unicode в символ?

Я строю график конверсии иврита. Например, 1489 - это буква "СТАВКА". У меня есть 1489 в столбце A, и я хочу показать ставку в столбце B.

2 ответа2

2

Я столкнулся с этой маленькой проблемой сегодня, так что вот обновление:

В Excel 2013 введена функция UNICHAR(), которая возвращает символ значения Unicode, указанного в десятичной записи. Функция UNICODE() работает наоборот, возвращая значение Unicode символа. Это недоступно в более ранних версиях Excel, включая Office для Mac 2011.

Точно такие же функции, однако, доступны в текущей версии программного обеспечения с открытым исходным кодом LibreOffice CalcOpenOffice Calc, я полагаю).

Например, у вас есть длинный столбец «A» с шестнадцатеричными значениями Unicode (без «U +») и вы хотите символы в столбце «B». Поскольку UNICHAR нужны десятичные значения, объедините их с функцией преобразования HEX2DEC () в формуле. Итак, в ячейку B1 положим формулу:

=UNICHAR (HEX2DEC ($A1))

Или, если значения уже в десятичном формате:

=UNICHAR ($A1)

Чтобы применить формулу ко всем ячейкам ниже B1, дважды щелкните маленький маркер в нижнем левом углу выделенного фрейма ячейки (работает в Calc и Excel). Отформатируйте столбец шрифтом, который охватывает максимально возможное количество символов Unicode, например MS Arial Unicode (не «обычный» Arial). Вот и все.

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

PS:

В Apple Numbers '09 CHAR () работает со значениями Unicode. Формула:

=CHAR (HEX2DEC(A))

или же

=CHAR (A)
2

Я думаю, что вы должны сделать свою собственную функцию, у VBA есть функция для получения символа из кода, но я не знаю функцию листа. Итак, просто поместите в модуль вашего файла Excel эту функцию:

Function Unicode(val As Long)
   Unicode = ChrW(val)
End Function

И тогда вы можете вызвать это с вашего рабочего листа, используя =Unicode(A1)

Результат пользовательской функции

Если в вашем Excel есть шрифт, который может отображать ваш персонаж, вы увидите его.

(если ваши числа в шестнадцатеричном формате):

Function Unicode(val As String)
   Unicode = ChrW("&H" & val)
End Function

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