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

Вход

Регистрация

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

 

= Мир MS Excel/Использование фукциии Если - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Использование фукциии Если
Использование фукциии Если
hardl Дата: Суббота, 24.11.2012, 19:37 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Делаю электронную ведомость по сдачи по физической подготовке, столкнулся с такой проблемой
Кросс 5 КМ, при выставлении времени заданной ячейки автоматом выставлялась оценка. В принципе ничего сложно. Вот пример:
=ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=23,3;5;ЕСЛИ(RC[-1]<=25;"4";ЕСЛИ(RC[-1]<=26;"3";"2"))))
Стал в другом вопрос, для разных весовых категорий (их две) привязать свое время.
1 категория
оценка 3 - время 26 мин.
4- 25
5- 23,3
2 категория
оценка 3 - время 24 мин.
4- 23,1
5- 22,2
Категория выбирается в отдельной ячейки до 85 кг. (включительно) свыше 85 кг. Всю головы сломал!
К сообщению приложен файл: 24.11.xls (20.0 Kb)


Сообщение отредактировал hardl - Суббота, 24.11.2012, 19:52
 
Ответить
СообщениеДелаю электронную ведомость по сдачи по физической подготовке, столкнулся с такой проблемой
Кросс 5 КМ, при выставлении времени заданной ячейки автоматом выставлялась оценка. В принципе ничего сложно. Вот пример:
=ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=23,3;5;ЕСЛИ(RC[-1]<=25;"4";ЕСЛИ(RC[-1]<=26;"3";"2"))))
Стал в другом вопрос, для разных весовых категорий (их две) привязать свое время.
1 категория
оценка 3 - время 26 мин.
4- 25
5- 23,3
2 категория
оценка 3 - время 24 мин.
4- 23,1
5- 22,2
Категория выбирается в отдельной ячейки до 85 кг. (включительно) свыше 85 кг. Всю головы сломал!

Автор - hardl
Дата добавления - 24.11.2012 в 19:37
amur84 Дата: Суббота, 24.11.2012, 20:24 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 8 ±
Замечаний: 0% ±

Что вам мешает использовать еще одну функцию если?
Если меньше 85 кг, то ваша формула, иначе формула для 2-ой категории.


Новый день. А что успел сделать ты?
 
Ответить
СообщениеЧто вам мешает использовать еще одну функцию если?
Если меньше 85 кг, то ваша формула, иначе формула для 2-ой категории.

Автор - amur84
Дата добавления - 24.11.2012 в 20:24
_Boroda_ Дата: Суббота, 24.11.2012, 20:42 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
[vba]
Code
=ПРОСМОТР(H13-0,01;ЕСЛИ(G13>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})
[/vba]
или со ссылками типа RC
[vba]
Code
=ПРОСМОТР(RC[-1]-0,01;ЕСЛИ(RC[-2]>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})
[/vba]
Подправил немного. заменил 0,01 на 0
К сообщению приложен файл: 24_11_1.xls (33.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение[vba]
Code
=ПРОСМОТР(H13-0,01;ЕСЛИ(G13>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})
[/vba]
или со ссылками типа RC
[vba]
Code
=ПРОСМОТР(RC[-1]-0,01;ЕСЛИ(RC[-2]>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})
[/vba]
Подправил немного. заменил 0,01 на 0

Автор - _Boroda_
Дата добавления - 24.11.2012 в 20:42
hardl Дата: Суббота, 24.11.2012, 20:42 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Каким образом? Думаю что машина не поймет по какому весу оценивать данного человека, Вес у всех разный. 1 вариант оцениваются спортсмены для свыше 85 кг вот пример:
=ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=23,3;5;ЕСЛИ(RC[-1]<=25;"4";ЕСЛИ(RC[-1]<=26;"3";"2"))))
Вот 2 вариант =ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=22,2;5;ЕСЛИ(RC[-1]<=23,1;"4";ЕСЛИ(RC[-1]<=24;"3";"2"))))
Вот как мне сделать, чтобы при выборе в ячейке «Вес» 85 или 84 менялась формула 1 варианта или 2 варианта в зависимости от выбранного веса спортсмена. В ячейке «Вес» стоит список.
 
Ответить
СообщениеКаким образом? Думаю что машина не поймет по какому весу оценивать данного человека, Вес у всех разный. 1 вариант оцениваются спортсмены для свыше 85 кг вот пример:
=ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=23,3;5;ЕСЛИ(RC[-1]<=25;"4";ЕСЛИ(RC[-1]<=26;"3";"2"))))
Вот 2 вариант =ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=22,2;5;ЕСЛИ(RC[-1]<=23,1;"4";ЕСЛИ(RC[-1]<=24;"3";"2"))))
Вот как мне сделать, чтобы при выборе в ячейке «Вес» 85 или 84 менялась формула 1 варианта или 2 варианта в зависимости от выбранного веса спортсмена. В ячейке «Вес» стоит список.

Автор - hardl
Дата добавления - 24.11.2012 в 20:42
_Boroda_ Дата: Суббота, 24.11.2012, 20:47 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Quote (hardl)
при выборе в ячейке «Вес» 85 или 84 менялась формула

Я так понял, что должно быть не 84 и 85, а 84 и 85,1
В любом случае, см. формулу в моем посте выше (а 85 или 85,1 это можно подправить - > или >=)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Quote (hardl)
при выборе в ячейке «Вес» 85 или 84 менялась формула

Я так понял, что должно быть не 84 и 85, а 84 и 85,1
В любом случае, см. формулу в моем посте выше (а 85 или 85,1 это можно подправить - > или >=)

Автор - _Boroda_
Дата добавления - 24.11.2012 в 20:47
amur84 Дата: Суббота, 24.11.2012, 20:50 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 8 ±
Замечаний: 0% ±

=ЕСЛИ(RC[-2]>=85;ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=23,3;5;ЕСЛИ(RC[-1]<=25;"4";ЕСЛИ(RC[-1]<=26;"3";"2"))));ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=22,2;5;ЕСЛИ(RC[-1]<=23,1;"4";ЕСЛИ(RC[-1]<=24;"3";"2")))))

Синяя формула - категория 1, красная - 2.


Новый день. А что успел сделать ты?

Сообщение отредактировал amur84 - Суббота, 24.11.2012, 20:53
 
Ответить
Сообщение=ЕСЛИ(RC[-2]>=85;ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=23,3;5;ЕСЛИ(RC[-1]<=25;"4";ЕСЛИ(RC[-1]<=26;"3";"2"))));ЕСЛИ(RC[-1]=0;"не прибыл";ЕСЛИ(RC[-1]<=22,2;5;ЕСЛИ(RC[-1]<=23,1;"4";ЕСЛИ(RC[-1]<=24;"3";"2")))))

Синяя формула - категория 1, красная - 2.

Автор - amur84
Дата добавления - 24.11.2012 в 20:50
hardl Дата: Суббота, 24.11.2012, 21:25 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Ветеран ты гений, только объясни как это смастерил: ПРОСМОТР(H13-0,01;ЕСЛИ(G13>85;{-0,01;0,01;22,2;23,1;24};{-0,01;0,01;23,3;25;26});{"не прибыл";5;4;3;2})
функция "Просмотр"; Н13 - ячейка; 0,01 - что это, предполагаю единица времени? ;{-0,01;0,01;22,2;23,1;24} – это что? Я не понял -0,01;0,01 дальше идет время, {"не прибыл";5;4;3;2} – это оценки!
 
Ответить
СообщениеВетеран ты гений, только объясни как это смастерил: ПРОСМОТР(H13-0,01;ЕСЛИ(G13>85;{-0,01;0,01;22,2;23,1;24};{-0,01;0,01;23,3;25;26});{"не прибыл";5;4;3;2})
функция "Просмотр"; Н13 - ячейка; 0,01 - что это, предполагаю единица времени? ;{-0,01;0,01;22,2;23,1;24} – это что? Я не понял -0,01;0,01 дальше идет время, {"не прибыл";5;4;3;2} – это оценки!

Автор - hardl
Дата добавления - 24.11.2012 в 21:25
hardl Дата: Суббота, 24.11.2012, 21:36 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

amur84 насколько я помню в 2003 при использовании "Если" доступно только 7 раз, вы написали 8. Работать не будет, будет но не совсем корректно!
 
Ответить
Сообщениеamur84 насколько я помню в 2003 при использовании "Если" доступно только 7 раз, вы написали 8. Работать не будет, будет но не совсем корректно!

Автор - hardl
Дата добавления - 24.11.2012 в 21:36
hardl Дата: Суббота, 24.11.2012, 21:44 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Ветеран вот в этом примере =ПРОСМОТР(RC[-1]-0,01;ЕСЛИ(RC[-2]>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})
что это? Не могу понять!
 
Ответить
СообщениеВетеран вот в этом примере =ПРОСМОТР(RC[-1]-0,01;ЕСЛИ(RC[-2]>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})
что это? Не могу понять!

Автор - hardl
Дата добавления - 24.11.2012 в 21:44
_Boroda_ Дата: Суббота, 24.11.2012, 21:49 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Смотри
=ПРОСМОТР(H13-0,01;ЕСЛИ(G13>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})

1) H13-0,01 - это то, что ищем. Если бы условие было, например, не <=23,3, а <23,3, то написали бы просто H13
2) если G13 >85, то ищем в массиве {-0,01;0;22,2;23,1;24}, если <=85, то в {-0,01;0;23,3;25;26}
3) {"не прибыл";5;4;3;2} - это массив того, что нужно, чтобы вывелось в ячейке

Что такое {-0,01;0;22,2;23,1;24}? У нас есть 5 возможных вариантов оценок - 2,3,4,5,"не прибыл". Каждому из них ставим в соответствие МИНИМАЛЬНОЕ время, при котором эта оценка может быть поставлена (с учетом того, что в искомом значении у нас стоит еще -0,01). ПРОСМОТР работает так: находит из массива для просмотра 2) максимальное число, меньшее или равное искомого значения 1), запоминает его порядковый номер и выводит из массива для вывода 3) значение с этим порядковым номером.
А 0,01 - это смещение на 1 секунду назад. Для того, чтобы точно попадающие значения были бы в нужной категории (например, 26 у нас по условию должно быть еще в тройке, а без -0,01 оно попало бы в двойку). Можно написать, допустим, 0,00001


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСмотри
=ПРОСМОТР(H13-0,01;ЕСЛИ(G13>85;{-0,01;0;22,2;23,1;24};{-0,01;0;23,3;25;26});{"не прибыл";5;4;3;2})

1) H13-0,01 - это то, что ищем. Если бы условие было, например, не <=23,3, а <23,3, то написали бы просто H13
2) если G13 >85, то ищем в массиве {-0,01;0;22,2;23,1;24}, если <=85, то в {-0,01;0;23,3;25;26}
3) {"не прибыл";5;4;3;2} - это массив того, что нужно, чтобы вывелось в ячейке

Что такое {-0,01;0;22,2;23,1;24}? У нас есть 5 возможных вариантов оценок - 2,3,4,5,"не прибыл". Каждому из них ставим в соответствие МИНИМАЛЬНОЕ время, при котором эта оценка может быть поставлена (с учетом того, что в искомом значении у нас стоит еще -0,01). ПРОСМОТР работает так: находит из массива для просмотра 2) максимальное число, меньшее или равное искомого значения 1), запоминает его порядковый номер и выводит из массива для вывода 3) значение с этим порядковым номером.
А 0,01 - это смещение на 1 секунду назад. Для того, чтобы точно попадающие значения были бы в нужной категории (например, 26 у нас по условию должно быть еще в тройке, а без -0,01 оно попало бы в двойку). Можно написать, допустим, 0,00001

Автор - _Boroda_
Дата добавления - 24.11.2012 в 21:49
hardl Дата: Суббота, 24.11.2012, 21:58 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

=ПРОСМОТР(H13-0,01;ЕСЛИ(G13<=85;{-0,01;0,01;22,2;23,1;24};{-0,01;0,01;23,3;25;26});{"не прибыл";5;4;3;2})
все чудно работает, только вот добавил равно!
 
Ответить
Сообщение=ПРОСМОТР(H13-0,01;ЕСЛИ(G13<=85;{-0,01;0,01;22,2;23,1;24};{-0,01;0,01;23,3;25;26});{"не прибыл";5;4;3;2})
все чудно работает, только вот добавил равно!

Автор - hardl
Дата добавления - 24.11.2012 в 21:58
hardl Дата: Воскресенье, 25.11.2012, 01:17 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Посмотри, что то с килограммами разобраться не могу, принцип тот же, но ставлю ноль, он мне ставит 2, должен ставить "не прибыл" =ПРОСМОТР(RC[-1];ЕСЛИ(RC[-8]<=85;{-0,01;0;140;160;180};{-0,01;0;150;170;190});{"не прибыл";2;3;4;5}), где ошибка?
 
Ответить
СообщениеПосмотри, что то с килограммами разобраться не могу, принцип тот же, но ставлю ноль, он мне ставит 2, должен ставить "не прибыл" =ПРОСМОТР(RC[-1];ЕСЛИ(RC[-8]<=85;{-0,01;0;140;160;180};{-0,01;0;150;170;190});{"не прибыл";2;3;4;5}), где ошибка?

Автор - hardl
Дата добавления - 25.11.2012 в 01:17
ABC Дата: Воскресенье, 25.11.2012, 09:35 | Сообщение № 13
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
hardl, простой пример:
Code
=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30})

поиск по индексу(порядковый номер массива)
1.Если B7 ячейке от нижнего порога (0) до верхнего порога (1), тогда результат равен будет 0 (=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
2.Если B7 ячейке от нижнего порога (1) до верхнего порога (2), тогда результат равен будет 10 (=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
3.Если B7 ячейке от нижнего порога (2) до верхнего порога (3), тогда результат равен будет 20 (=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
4.Если B7 ячейке от нижнего порога (3) до … верхнего порога (то есть максимальное число 9E+307), тогда результат равен будет 30(=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
выше приведенную формулу можно еще таким написать:
Code
=ЕСЛИ(И(B7>=0;B7<1);0;ЕСЛИ(И(B7>=1;B7<2);10;ЕСЛИ(И(B7>=2;B7<3);20;ЕСЛИ(B7>=3;30))))


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет


Сообщение отредактировал ABC - Воскресенье, 25.11.2012, 11:22
 
Ответить
Сообщениеhardl, простой пример:
Code
=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30})

поиск по индексу(порядковый номер массива)
1.Если B7 ячейке от нижнего порога (0) до верхнего порога (1), тогда результат равен будет 0 (=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
2.Если B7 ячейке от нижнего порога (1) до верхнего порога (2), тогда результат равен будет 10 (=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
3.Если B7 ячейке от нижнего порога (2) до верхнего порога (3), тогда результат равен будет 20 (=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
4.Если B7 ячейке от нижнего порога (3) до … верхнего порога (то есть максимальное число 9E+307), тогда результат равен будет 30(=ПРОСМОТР(B7;{0;1;2;3};{0;10;20;30}))
выше приведенную формулу можно еще таким написать:
Code
=ЕСЛИ(И(B7>=0;B7<1);0;ЕСЛИ(И(B7>=1;B7<2);10;ЕСЛИ(И(B7>=2;B7<3);20;ЕСЛИ(B7>=3;30))))

Автор - ABC
Дата добавления - 25.11.2012 в 09:35
hardl Дата: Воскресенье, 25.11.2012, 11:01 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 0% ±

Спасибо разобрался!
Code
=ПРОСМОТР(RC[-1];ЕСЛИ(RC[-8]<=85;{0;1;140;160;180};{0;1;150;170;190});{"не прибыл";2;3;4;5})
Второй вариан тоже работает
=ЕСЛИ(И(RC[-1]>=0;RC[-1]<140);"не прибыл";ЕСЛИ(И(RC[-1]>=140;RC[-1]<160);3;ЕСЛИ(И(RC[-1]>=160;RC[-1]<180);4;ЕСЛИ(RC[-1]>=180;5)))) Все супер!
 
Ответить
СообщениеСпасибо разобрался!
Code
=ПРОСМОТР(RC[-1];ЕСЛИ(RC[-8]<=85;{0;1;140;160;180};{0;1;150;170;190});{"не прибыл";2;3;4;5})
Второй вариан тоже работает
=ЕСЛИ(И(RC[-1]>=0;RC[-1]<140);"не прибыл";ЕСЛИ(И(RC[-1]>=140;RC[-1]<160);3;ЕСЛИ(И(RC[-1]>=160;RC[-1]<180);4;ЕСЛИ(RC[-1]>=180;5)))) Все супер!

Автор - hardl
Дата добавления - 25.11.2012 в 11:01
vikttur Дата: Воскресенье, 25.11.2012, 20:29 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

ВПР() с таблицей подстановки.
К сообщению приложен файл: 8108025.xls (20.5 Kb)
 
Ответить
СообщениеВПР() с таблицей подстановки.

Автор - vikttur
Дата добавления - 25.11.2012 в 20:29
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Использование фукциии Если
  • Страница 1 из 1
  • 1
Поиск:

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