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

Вход

Регистрация

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

 

= Мир MS Excel/Найти соответствия и заменить числа на слова. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Найти соответствия и заменить числа на слова.
0льга Дата: Воскресенье, 27.12.2015, 02:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Добрый день!
Помогите, пожалуйста, с формулой.

Имеем: цвета, каждому из которых соответствует свой номер. Например, 1 - белый, 2 - черный, 3 - кремовый, 6 - молоко, 7 - бежевый, 11 - св.серый, 13 - т.серый и т.д.
Что надо: я ввожу в ячейку нужные числа, например, 1, 3, 11. Получаю: белый, кремовый, св.серый

Файл с номерами - цветами и желаемым результатом прикладываю.
К сообщению приложен файл: 4898811.xls (23.5 Kb)


Сообщение отредактировал 0льга - Воскресенье, 27.12.2015, 02:34
 
Ответить
СообщениеДобрый день!
Помогите, пожалуйста, с формулой.

Имеем: цвета, каждому из которых соответствует свой номер. Например, 1 - белый, 2 - черный, 3 - кремовый, 6 - молоко, 7 - бежевый, 11 - св.серый, 13 - т.серый и т.д.
Что надо: я ввожу в ячейку нужные числа, например, 1, 3, 11. Получаю: белый, кремовый, св.серый

Файл с номерами - цветами и желаемым результатом прикладываю.

Автор - 0льга
Дата добавления - 27.12.2015 в 02:33
Michael_S Дата: Воскресенье, 27.12.2015, 10:44 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
UDF:
[vba]
Код
Public Function ColorNumber$(Spisok$, Numb$)
Dim a, i&, ar, Col$
ar = Split(Replace(Spisok, " ", ""), ",")
With WorksheetFunction
    a = Split(Replace(Numb, " ", ""), ",")
    For i = 0 To UBound(a)
        Col = Split(.HLookup(a(i) & "*", ar, 1, 0), "-")(1)
        ColorNumber = ColorNumber & Col & ", "
    Next
End With
ColorNumber = Left(ColorNumber, Len(ColorNumber) - 2)
End Function
[/vba]
К сообщению приложен файл: 8223772.xls (36.5 Kb)
 
Ответить
СообщениеUDF:
[vba]
Код
Public Function ColorNumber$(Spisok$, Numb$)
Dim a, i&, ar, Col$
ar = Split(Replace(Spisok, " ", ""), ",")
With WorksheetFunction
    a = Split(Replace(Numb, " ", ""), ",")
    For i = 0 To UBound(a)
        Col = Split(.HLookup(a(i) & "*", ar, 1, 0), "-")(1)
        ColorNumber = ColorNumber & Col & ", "
    Next
End With
ColorNumber = Left(ColorNumber, Len(ColorNumber) - 2)
End Function
[/vba]

Автор - Michael_S
Дата добавления - 27.12.2015 в 10:44
Светлый Дата: Воскресенье, 27.12.2015, 11:11 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1868
Репутация: 536 ±
Замечаний: 0% ±

Excel 2013, 2016
Можно условным форматированием.
Добавьте новые условия и форматы по желанию.
Ой, что-то я тупанул. Надо же словами, а не цветом. Заменяю файл.
К сообщению приложен файл: 4898811_1.xls (25.5 Kb)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Воскресенье, 27.12.2015, 11:27
 
Ответить
СообщениеМожно условным форматированием.
Добавьте новые условия и форматы по желанию.
Ой, что-то я тупанул. Надо же словами, а не цветом. Заменяю файл.

Автор - Светлый
Дата добавления - 27.12.2015 в 11:11
0льга Дата: Воскресенье, 27.12.2015, 11:51 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Michael_S, спасибо вам большое, нет ОГРОМНОЕ.

Я, конечно, ничего не поняла, что там написано, но оно работает! Это просто счастье какое-то.

С наступающим вас Новым годом!
 
Ответить
СообщениеMichael_S, спасибо вам большое, нет ОГРОМНОЕ.

Я, конечно, ничего не поняла, что там написано, но оно работает! Это просто счастье какое-то.

С наступающим вас Новым годом!

Автор - 0льга
Дата добавления - 27.12.2015 в 11:51
sv2014 Дата: Воскресенье, 27.12.2015, 19:59 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
0льга, добрый вечер,еще вариант функции в ячейке C3,аргумент t1 в ячейке A1,аргумент t2 в ячейке B1
в файл-примере

[vba]
Код
Function zzz$(t1$, t2$)
Dim i&, s$, reg As Object
With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "\d+"
   For i = 0 To .Execute(t2).Count - 1
        Set reg = CreateObject("VBScript.RegExp")
   reg.Pattern = "(" & .Execute(t2)(i) & "\s\-\s)([а-яё]{1,3}\.[а-яё]+|[а-яё]+)"
   s = s & reg.Execute(t1)(0).Submatches(1) & ","
  Next
     zzz = Left(s, Len(s) - 1)
  End With
End Function
[/vba]
К сообщению приложен файл: example_27_12_2.xls (35.5 Kb)


Сообщение отредактировал sv2014 - Воскресенье, 27.12.2015, 20:37
 
Ответить
Сообщение0льга, добрый вечер,еще вариант функции в ячейке C3,аргумент t1 в ячейке A1,аргумент t2 в ячейке B1
в файл-примере

[vba]
Код
Function zzz$(t1$, t2$)
Dim i&, s$, reg As Object
With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "\d+"
   For i = 0 To .Execute(t2).Count - 1
        Set reg = CreateObject("VBScript.RegExp")
   reg.Pattern = "(" & .Execute(t2)(i) & "\s\-\s)([а-яё]{1,3}\.[а-яё]+|[а-яё]+)"
   s = s & reg.Execute(t1)(0).Submatches(1) & ","
  Next
     zzz = Left(s, Len(s) - 1)
  End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 27.12.2015 в 19:59
sv2014 Дата: Воскресенье, 27.12.2015, 21:13 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
0льга, добавлю,что можно также такой вариант

[vba]
Код
Function zzz1$(t1$, t2$)
Dim i&, s$, reg As Object
With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "\d+"
   For i = 0 To .Execute(t2).Count - 1
        Set reg = CreateObject("VBScript.RegExp")
     reg.Pattern = .Execute(t2)(i) & "\s\-\s([а-яё]+?\.?[а-яё]+)"
     s = s & reg.Execute(t1)(0).Submatches(0) & ","
  Next
    zzz1 = Left(s, Len(s) - 1)
  End With
End Function
[/vba]
 
Ответить
Сообщение0льга, добавлю,что можно также такой вариант

[vba]
Код
Function zzz1$(t1$, t2$)
Dim i&, s$, reg As Object
With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "\d+"
   For i = 0 To .Execute(t2).Count - 1
        Set reg = CreateObject("VBScript.RegExp")
     reg.Pattern = .Execute(t2)(i) & "\s\-\s([а-яё]+?\.?[а-яё]+)"
     s = s & reg.Execute(t1)(0).Submatches(0) & ","
  Next
    zzz1 = Left(s, Len(s) - 1)
  End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 27.12.2015 в 21:13
0льга Дата: Воскресенье, 27.12.2015, 22:28 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Светлый, честно, что-то не поняла, как работает. Но спасибо, что время мне уделили.
 
Ответить
СообщениеСветлый, честно, что-то не поняла, как работает. Но спасибо, что время мне уделили.

Автор - 0льга
Дата добавления - 27.12.2015 в 22:28
0льга Дата: Воскресенье, 27.12.2015, 22:40 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
sv2014, спасибо большущее!

Просто невероятно, какие вы здесь умные люди! Я мучилась-мучилась, а здесь мне за 1 день, несколько решений сразу предложили.
 
Ответить
Сообщениеsv2014, спасибо большущее!

Просто невероятно, какие вы здесь умные люди! Я мучилась-мучилась, а здесь мне за 1 день, несколько решений сразу предложили.

Автор - 0льга
Дата добавления - 27.12.2015 в 22:40
  • Страница 1 из 1
  • 1
Поиск:

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