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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос значений которые соответствуют определенному условию - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос значений которые соответствуют определенному условию (Формулы/Formulas)
Перенос значений которые соответствуют определенному условию
evgeny22 Дата: Вторник, 30.04.2019, 12:15 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Как можно автоматически заполнить ячейку "C" из "D", чтобы каждому направлению ветра соответствовало точное условие - в нашем случае градусы? Направление ветра на круге обозначают градусами.
Условие "Ветер, дующий с востока" - чтобы значение для заполнения было всегда 90
Условие "Ветер, дующий с юга" - всегда 180
И так далее.
К сообщению приложен файл: wind.xlsx(10.7 Kb)
 
Ответить
СообщениеКак можно автоматически заполнить ячейку "C" из "D", чтобы каждому направлению ветра соответствовало точное условие - в нашем случае градусы? Направление ветра на круге обозначают градусами.
Условие "Ветер, дующий с востока" - чтобы значение для заполнения было всегда 90
Условие "Ветер, дующий с юга" - всегда 180
И так далее.

Автор - evgeny22
Дата добавления - 30.04.2019 в 12:15
Nic70y Дата: Вторник, 30.04.2019, 12:22 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5527
Репутация: 1203 ±
Замечаний: 0% ±

ru13;10;03
вдруг правильно
Код
=ВПР(B3;B:D;3;)


ЯД(poison) 41001841029809
 
Ответить
Сообщениевдруг правильно
Код
=ВПР(B3;B:D;3;)

Автор - Nic70y
Дата добавления - 30.04.2019 в 12:22
evgeny22 Дата: Вторник, 30.04.2019, 12:41 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Там будет продолжение, чтобы были учтены все направления.

По часовой стрелке: условие = значение. Наверно для этого нужен макрос

"Ветер, дующий с севера" = 0
"Ветер, дующий с северо-северо-востока" = 22.5
"Ветер, дующий с северо-востока" = 45
"Ветер, дующий с востока-северо-востока" = 67.5
"Ветер, дующий с востока" = 90
"Ветер, дующий с востока-юго-востока" = 112.5
"Ветер, дующий с юго-востока" = 135
"Ветер, дующий с юго-юго-востока" = 157.5
"Ветер, дующий с юга" = 180
"Ветер, дующий с юго-юго-запада" = 202.5
"Ветер, дующий с юго-запада" = 225
"Ветер, дующий с западо-юго-запада" = 247.5
"Ветер, дующий с запада" = 270
"Ветер, дующий с западо-северо-запада" = 292.5
"Ветер, дующий с северо-запада" = 315
"Ветер, дующий с северо-северо-запада" = 337.5


Сообщение отредактировал evgeny22 - Вторник, 30.04.2019, 15:49
 
Ответить
СообщениеТам будет продолжение, чтобы были учтены все направления.

По часовой стрелке: условие = значение. Наверно для этого нужен макрос

"Ветер, дующий с севера" = 0
"Ветер, дующий с северо-северо-востока" = 22.5
"Ветер, дующий с северо-востока" = 45
"Ветер, дующий с востока-северо-востока" = 67.5
"Ветер, дующий с востока" = 90
"Ветер, дующий с востока-юго-востока" = 112.5
"Ветер, дующий с юго-востока" = 135
"Ветер, дующий с юго-юго-востока" = 157.5
"Ветер, дующий с юга" = 180
"Ветер, дующий с юго-юго-запада" = 202.5
"Ветер, дующий с юго-запада" = 225
"Ветер, дующий с западо-юго-запада" = 247.5
"Ветер, дующий с запада" = 270
"Ветер, дующий с западо-северо-запада" = 292.5
"Ветер, дующий с северо-запада" = 315
"Ветер, дующий с северо-северо-запада" = 337.5

Автор - evgeny22
Дата добавления - 30.04.2019 в 12:41
Nic70y Дата: Вторник, 30.04.2019, 12:45 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5527
Репутация: 1203 ±
Замечаний: 0% ±

ru13;10;03
ну тогда не правильно.
ни чего не понял.


ЯД(poison) 41001841029809
 
Ответить
Сообщениену тогда не правильно.
ни чего не понял.

Автор - Nic70y
Дата добавления - 30.04.2019 в 12:45
evgeny22 Дата: Вторник, 30.04.2019, 15:12 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
В экселе (ячейка "B") в произвольном порядке будет указываться направление ветра, далеко не всегда по часовой стрелке. Надо каждому направлению присвоить определенное значение, и допустим второй вариант - автопреобразование направления в градусы
 
Ответить
СообщениеВ экселе (ячейка "B") в произвольном порядке будет указываться направление ветра, далеко не всегда по часовой стрелке. Надо каждому направлению присвоить определенное значение, и допустим второй вариант - автопреобразование направления в градусы

Автор - evgeny22
Дата добавления - 30.04.2019 в 15:12
WildGodlike Дата: Вторник, 30.04.2019, 15:23 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 3 ±
Замечаний: 0% ±

Excel 2016
evgeny22, Покажите в файле реальный формат данных как есть в произвольном порядке, а на соседнем листе или рядом с исходной таблицей как надо только сделайте руками строк 10-15.....
"Ветер, дующий с востока" = 0

Тут вы пишите 0 а в файле 90????
 
Ответить
Сообщениеevgeny22, Покажите в файле реальный формат данных как есть в произвольном порядке, а на соседнем листе или рядом с исходной таблицей как надо только сделайте руками строк 10-15.....
"Ветер, дующий с востока" = 0

Тут вы пишите 0 а в файле 90????

Автор - WildGodlike
Дата добавления - 30.04.2019 в 15:23
evgeny22 Дата: Вторник, 30.04.2019, 15:57 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Тут вы пишите 0 а в файле 90?


Это у меня в одном месте ошибка, сейчас перепроверил и уже всё правильно.

В ячейке "B" будут более 5 тысяч направлений и хотелось бы их преобразовать в градусы.
То есть когда в строке указано "Ветер, дующий с юга" надо всегда заменять на число: 180
К сообщению приложен файл: 8555920.png(29.4 Kb) · wind-2.xlsx(10.7 Kb)


Сообщение отредактировал evgeny22 - Вторник, 30.04.2019, 15:57
 
Ответить
Сообщение
Тут вы пишите 0 а в файле 90?


Это у меня в одном месте ошибка, сейчас перепроверил и уже всё правильно.

В ячейке "B" будут более 5 тысяч направлений и хотелось бы их преобразовать в градусы.
То есть когда в строке указано "Ветер, дующий с юга" надо всегда заменять на число: 180

Автор - evgeny22
Дата добавления - 30.04.2019 в 15:57
WildGodlike Дата: Вторник, 30.04.2019, 16:01 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 3 ±
Замечаний: 0% ±

Excel 2016
evgeny22, пойдём по другому) правильно? или не так?
Код
=ВПР(RC[-2];R3C2:R10C4;3;ЛОЖЬ)
К сообщению приложен файл: _wind-2.xlsx(11.7 Kb)


Сообщение отредактировал WildGodlike - Вторник, 30.04.2019, 16:36
 
Ответить
Сообщениеevgeny22, пойдём по другому) правильно? или не так?
Код
=ВПР(RC[-2];R3C2:R10C4;3;ЛОЖЬ)

Автор - WildGodlike
Дата добавления - 30.04.2019 в 16:01
Nic70y Дата: Вторник, 30.04.2019, 16:15 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5527
Репутация: 1203 ±
Замечаний: 0% ±

ru13;10;03
WildGodlike, просьба, выкладывайте формулу в тело поста


ЯД(poison) 41001841029809
 
Ответить
СообщениеWildGodlike, просьба, выкладывайте формулу в тело поста

Автор - Nic70y
Дата добавления - 30.04.2019 в 16:15
evgeny22 Дата: Вторник, 30.04.2019, 16:58 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
правильно?


WildGodlike, да. Большое спасибо.
 
Ответить
Сообщение
правильно?


WildGodlike, да. Большое спасибо.

Автор - evgeny22
Дата добавления - 30.04.2019 в 16:58
Nic70y Дата: Вторник, 30.04.2019, 17:14 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5527
Репутация: 1203 ±
Замечаний: 0% ±

ru13;10;03
Однако %)
заполнить ячейку "C" из "D"


ВПР


ЯД(poison) 41001841029809
 
Ответить
СообщениеОднако %)
заполнить ячейку "C" из "D"


ВПР

Автор - Nic70y
Дата добавления - 30.04.2019 в 17:14
Светлый Дата: Вторник, 30.04.2019, 19:31 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 309 ±
Замечаний: 0% ±

Excel 2010
Без оптимизации. Первое, что пришло в голову. Массивная формула:
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3}*2);ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3})+ПРОСМОТР(99;ПОИСК({"-сев";"-вос";"-юг";"-зап"};B11);{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;(МАКС(ЕЧИСЛО(ПОИСК({"сев";"вос";"юг";"зап"};B11))*ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3}))+МИН(ЕСЛИ(ЕЧИСЛО(ПОИСК({"сев";"вос";"юг";"зап"};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3})))+НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3})*2);2))/2)*45
*Немного упростил. Формула немассивная:
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3}*2);ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3})+ПРОСМОТР(99;ПОИСК({"-сев";"-вос";"-юг";"-зап"};B11);{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;СУММ(НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3}));{1;2;2;3}))/2)*45
**
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;2;4;6});СУММ(ЕЧИСЛО(ПОИСК({" ":"-"}&{"сев";"вос";"юг";"зап"};B11))*{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;СУММ(НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3}));{1;2;2;3}))/2)*45
***
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;2;4;6});СУММ(ЕЧИСЛО(ПОИСК({" ":"-"}&{"сев";"вос";"юг";"зап"};B11))*{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;СУММ(НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев";"зап"};B11))>2;{4;1;2;3};{0;1;2;3}));{1;2;2;3}))/2)*45


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

Сообщение отредактировал Светлый - Вторник, 30.04.2019, 21:33
 
Ответить
СообщениеБез оптимизации. Первое, что пришло в голову. Массивная формула:
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3}*2);ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3})+ПРОСМОТР(99;ПОИСК({"-сев";"-вос";"-юг";"-зап"};B11);{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;(МАКС(ЕЧИСЛО(ПОИСК({"сев";"вос";"юг";"зап"};B11))*ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3}))+МИН(ЕСЛИ(ЕЧИСЛО(ПОИСК({"сев";"вос";"юг";"зап"};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3})))+НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3})*2);2))/2)*45
*Немного упростил. Формула немассивная:
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3}*2);ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;1;2;3})+ПРОСМОТР(99;ПОИСК({"-сев";"-вос";"-юг";"-зап"};B11);{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;СУММ(НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3}));{1;2;2;3}))/2)*45
**
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;2;4;6});СУММ(ЕЧИСЛО(ПОИСК({" ":"-"}&{"сев";"вос";"юг";"зап"};B11))*{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;СУММ(НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11));{4;1;2;3};{0;1;2;3}));{1;2;2;3}))/2)*45
***
Код
=ВЫБОР(ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;"-";))+1;ПРОСМОТР(99;ПОИСК({" сев";" вос";" юг";" зап"};B11);{0;2;4;6});СУММ(ЕЧИСЛО(ПОИСК({" ":"-"}&{"сев";"вос";"юг";"зап"};B11))*{0;1;2;3})+СЧЁТ(ПОИСК({"сев*зап";"зап*сев"};B11))*4;СУММ(НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК({" ":"-":"-*-"}&{"сев";"вос";"юг";"зап"}&{"":"*-":""};B11));ЕСЛИ(СЧЁТ(ПОИСК({"сев";"зап"};B11))>2;{4;1;2;3};{0;1;2;3}));{1;2;2;3}))/2)*45

Автор - Светлый
Дата добавления - 30.04.2019 в 19:31
bmv98rus Дата: Вторник, 30.04.2019, 21:20 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 2470
Репутация: 426 ±
Замечаний: 0% ±

Excel 2013/2016
Код
=360*(MATCH(SUM(((LEN(K3)-LEN(SUBSTITUTE(K3;{"се";"во";"юг";"за"};" ")))*10^{0;1;2;3}));{1;12;11;21;10;120;110;210;100;1200;1100;2100;1000;2001;1001;1002};)-1)/16


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Код
=360*(MATCH(SUM(((LEN(K3)-LEN(SUBSTITUTE(K3;{"се";"во";"юг";"за"};" ")))*10^{0;1;2;3}));{1;12;11;21;10;120;110;210;100;1200;1100;2100;1000;2001;1001;1002};)-1)/16

Автор - bmv98rus
Дата добавления - 30.04.2019 в 21:20
Светлый Дата: Среда, 01.05.2019, 11:57 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 309 ±
Замечаний: 0% ±

Excel 2010
Воспользовался крутой идеей bmv98rus. Заменил основание и большую константу вычисляю:
Код
=(ПОИСКПОЗ(СУММ(((ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;{"се";"во";"юг";"за"};0)))*4^{0;1;2;3}));МУМНОЖ(4^ОТБР(ОСТАТ(СТРОКА($16:$31)+{0;1;4};16)/4)*(ОСТАТ(СТРОКА($1:$16);{1;2;4})<>1);{1:1:1});)-1)*45/2
*
Код
=(ПОИСКПОЗ(СУММ(((ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;{"се";"во";"юг";"за"};0)))*4^{0;1;2;3}));{1:6:5:9:4:24:20:36:16:96:80:144:64:129:65:66};)-1)*45/2


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

Сообщение отредактировал Светлый - Среда, 01.05.2019, 15:18
 
Ответить
СообщениеВоспользовался крутой идеей bmv98rus. Заменил основание и большую константу вычисляю:
Код
=(ПОИСКПОЗ(СУММ(((ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;{"се";"во";"юг";"за"};0)))*4^{0;1;2;3}));МУМНОЖ(4^ОТБР(ОСТАТ(СТРОКА($16:$31)+{0;1;4};16)/4)*(ОСТАТ(СТРОКА($1:$16);{1;2;4})<>1);{1:1:1});)-1)*45/2
*
Код
=(ПОИСКПОЗ(СУММ(((ДЛСТР(B11)-ДЛСТР(ПОДСТАВИТЬ(B11;{"се";"во";"юг";"за"};0)))*4^{0;1;2;3}));{1:6:5:9:4:24:20:36:16:96:80:144:64:129:65:66};)-1)*45/2

Автор - Светлый
Дата добавления - 01.05.2019 в 11:57
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос значений которые соответствуют определенному условию (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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