Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как извлечь из ячейки тип формат валюты с помощью формулы? - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Как извлечь из ячейки тип формат валюты с помощью формулы?
MK Дата: Пятница, 04.04.2014, 17:04 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Привет!

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

Помоги найти решение проблемы!

Заранее спасибо!
К сообщению приложен файл: 7821717.xlsx (11.0 Kb)
 
Ответить
СообщениеПривет!

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

Помоги найти решение проблемы!

Заранее спасибо!

Автор - MK
Дата добавления - 04.04.2014 в 17:04
Hugo Дата: Пятница, 04.04.2014, 17:24 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
UDF под конкретный случай:
[vba]
Код
Function valuta(r As Range)
     valuta = Trim(Replace(r.Text, Format(r.Value, "#,##0.00"), ""))
End Function
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеUDF под конкретный случай:
[vba]
Код
Function valuta(r As Range)
     valuta = Trim(Replace(r.Text, Format(r.Value, "#,##0.00"), ""))
End Function
[/vba]

Автор - Hugo
Дата добавления - 04.04.2014 в 17:24
MK Дата: Понедельник, 07.04.2014, 08:36 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010


Спасибо!

Подскажите, возможно ли извлечь тип валюты именно при помощи формулы в Excel ( способ, который указали Вы не похож на простую формулу типа =(IF(A1=....;....;....))
 
Ответить
Сообщение

Спасибо!

Подскажите, возможно ли извлечь тип валюты именно при помощи формулы в Excel ( способ, который указали Вы не похож на простую формулу типа =(IF(A1=....;....;....))

Автор - MK
Дата добавления - 07.04.2014 в 08:36
китин Дата: Понедельник, 07.04.2014, 09:31 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7021
Репутация: 1075 ±
Замечаний: 0% ±

Excel 2007;2010;2016
MK, вопрос КАК?у вас названия валют проставлены при помощи пользовательского формата.посмотрите в строке формул-там только цифры,никаких RUR и $ там нетути


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеMK, вопрос КАК?у вас названия валют проставлены при помощи пользовательского формата.посмотрите в строке формул-там только цифры,никаких RUR и $ там нетути

Автор - китин
Дата добавления - 07.04.2014 в 09:31
Serge_007 Дата: Понедельник, 07.04.2014, 09:44 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
возможно ли извлечь тип валюты именно при помощи формулы в Excel
Возможно. Но для этого форматы должны быть другими:
Код
=ЕСЛИ(ЯЧЕЙКА("формат";B2)=",2";"$";"RUB")
К сообщению приложен файл: MK.xls (37.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
возможно ли извлечь тип валюты именно при помощи формулы в Excel
Возможно. Но для этого форматы должны быть другими:
Код
=ЕСЛИ(ЯЧЕЙКА("формат";B2)=",2";"$";"RUB")

Автор - Serge_007
Дата добавления - 07.04.2014 в 09:44
Hugo Дата: Понедельник, 07.04.2014, 09:46 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
Я способа обычными формулами не знаю. Есть формула cell(), но нужную информацию она не даёт.
Чем не подходит UDF?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеЯ способа обычными формулами не знаю. Есть формула cell(), но нужную информацию она не даёт.
Чем не подходит UDF?

Автор - Hugo
Дата добавления - 07.04.2014 в 09:46
AlexM Дата: Понедельник, 07.04.2014, 09:53 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Hugo, В Excel2003 функция не отделяет тип валюты



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеHugo, В Excel2003 функция не отделяет тип валюты

Автор - AlexM
Дата добавления - 07.04.2014 в 09:53
Hugo Дата: Понедельник, 07.04.2014, 10:01 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
AlexM, ты про UDF? Проверил в 2007 русском и 2003 английском - работает всюду.
Причём в 2003 проверил оба варианта форматов.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеAlexM, ты про UDF? Проверил в 2007 русском и 2003 английском - работает всюду.
Причём в 2003 проверил оба варианта форматов.

Автор - Hugo
Дата добавления - 07.04.2014 в 10:01
AlexM Дата: Понедельник, 07.04.2014, 10:04 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
У меня 2003 русский. Функция не работает.
Не срабатывает Replace



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Понедельник, 07.04.2014, 10:05
 
Ответить
СообщениеУ меня 2003 русский. Функция не работает.
Не срабатывает Replace

Автор - AlexM
Дата добавления - 07.04.2014 в 10:04
Serge_007 Дата: Понедельник, 07.04.2014, 10:08 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
У меня тоже не работает...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеУ меня тоже не работает...

Автор - Serge_007
Дата добавления - 07.04.2014 в 10:08
Hugo Дата: Понедельник, 07.04.2014, 10:11 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
Интересно, как так? У меня работает, мне изучать нечего...


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеИнтересно, как так? У меня работает, мне изучать нечего...

Автор - Hugo
Дата добавления - 07.04.2014 в 10:11
Serge_007 Дата: Понедельник, 07.04.2014, 10:15 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
К сообщению приложен файл: 5757365.gif (63.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение

Автор - Serge_007
Дата добавления - 07.04.2014 в 10:15
Hugo Дата: Понедельник, 07.04.2014, 10:29 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
Вероятно не работает Format(r.Value, "#,##0.00") - почему?...
Или формат ячейки не совпадает?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВероятно не работает Format(r.Value, "#,##0.00") - почему?...
Или формат ячейки не совпадает?

Автор - Hugo
Дата добавления - 07.04.2014 в 10:29
AlexM Дата: Понедельник, 07.04.2014, 10:32 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Работает. Возвращает только число без типа валюты.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеРаботает. Возвращает только число без типа валюты.

Автор - AlexM
Дата добавления - 07.04.2014 в 10:32
ikki Дата: Понедельник, 07.04.2014, 10:35 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
у меня тоже не работает.
по причине того, что пробел в Format(r.Value, "#,##0.00") почему-то получается неразрывный (160)
а в r.Text пробел обычный (32)

лечится-то легко
[vba]
Код
Function valuta(r As Range)
      valuta = Trim(Replace(r.Text, Replace(Format(r.Value, "#,##0.00"), Chr(160), " "), ""))
End Function
[/vba]
но вот почему он неразрывный? %)

ex 2003 rus


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Понедельник, 07.04.2014, 10:39
 
Ответить
Сообщениеу меня тоже не работает.
по причине того, что пробел в Format(r.Value, "#,##0.00") почему-то получается неразрывный (160)
а в r.Text пробел обычный (32)

лечится-то легко
[vba]
Код
Function valuta(r As Range)
      valuta = Trim(Replace(r.Text, Replace(Format(r.Value, "#,##0.00"), Chr(160), " "), ""))
End Function
[/vba]
но вот почему он неразрывный? %)

ex 2003 rus

Автор - ikki
Дата добавления - 07.04.2014 в 10:35
Hugo Дата: Понедельник, 07.04.2014, 10:39 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
Логика UDF - берём значение ячейки, получаем из него форматом то, что видно в ячейке, но без валюты.
Далее заменяем в том, что видно в ячейке, эту часть строки на ничего - остаётся валюта. Пробелы убираем.
Как могут быть на выходе только цифры - вообще непонятно...


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеЛогика UDF - берём значение ячейки, получаем из него форматом то, что видно в ячейке, но без валюты.
Далее заменяем в том, что видно в ячейке, эту часть строки на ничего - остаётся валюта. Пробелы убираем.
Как могут быть на выходе только цифры - вообще непонятно...

Автор - Hugo
Дата добавления - 07.04.2014 в 10:39
AlexM Дата: Понедельник, 07.04.2014, 10:45 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
ikki, Точно. Чудеса.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщениеikki, Точно. Чудеса.

Автор - AlexM
Дата добавления - 07.04.2014 в 10:45
Hugo Дата: Понедельник, 07.04.2014, 10:47 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
Ну вот, решили - такой вариант обязан работать всюду.
P.S. для надёжности :)
[vba]
Код
Function valuta(r As Range)
      valuta = Trim(Replace(Replace(r.Text, Chr(160), " "), Replace(Format(r.Value, "#,##0.00"), Chr(160), " "), ""))
End Function
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу вот, решили - такой вариант обязан работать всюду.
P.S. для надёжности :)
[vba]
Код
Function valuta(r As Range)
      valuta = Trim(Replace(Replace(r.Text, Chr(160), " "), Replace(Format(r.Value, "#,##0.00"), Chr(160), " "), ""))
End Function
[/vba]

Автор - Hugo
Дата добавления - 07.04.2014 в 10:47
AlexM Дата: Понедельник, 07.04.2014, 10:54 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
такой вариант обязан работать всюду
не всюду. :(
К сообщению приложен файл: MK_new.xls (47.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
такой вариант обязан работать всюду
не всюду. :(

Автор - AlexM
Дата добавления - 07.04.2014 в 10:54
Hugo Дата: Понедельник, 07.04.2014, 10:56 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3400
Репутация: 732 ±
Замечаний: 0% ±

365
Ну так это уже другой формат в рублях: #,##0"р.";-#,##0"р."
Остальное работает.
P.S. Такие рубли сделайте: #,##0.00"р.";-#,##0.00"р."

Вообще как я понял задачу - есть выгрузка из 1С, она естественно всегда с определённым форматом, вот его и используем в коде.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу так это уже другой формат в рублях: #,##0"р.";-#,##0"р."
Остальное работает.
P.S. Такие рубли сделайте: #,##0.00"р.";-#,##0.00"р."

Вообще как я понял задачу - есть выгрузка из 1С, она естественно всегда с определённым форматом, вот его и используем в коде.

Автор - Hugo
Дата добавления - 07.04.2014 в 10:56
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!