• Как сделать правильно выборку IFS?

    ForestAndGarden
    @ForestAndGarden
    Совершенствовать среду обитания
    ЕЯНО, три массива условий.

    Формулу вот накатал для V3:
    =LOOKUP(
      MATCH(
        1
        ;ArrayFormula(
          {Q3=1;Q3=1;Q3=2;Q3=3;Q3=3;Q3=3}
          *{R3<3;R3<3;AND(R3>=3;R3<6);AND(R3>=6;R3<12);AND(R3>=12;R3<18);R3>18}
          *{S3<=13;S3>13;S3>=20;S3>=25;S3>=30;S3>=35}
        )
        ;0
      )
      ;{1;2;3;4;5;6}
      ;{"К увольнению";"Стажёр";"Младший";"Средний";"Старший";"РП"}
    )


    1. {Q3=1;Q3=1;Q3=2;Q3=3;Q3=3;Q3=3} — массив условий для знания языка;
    2. {R3<3;R3<3;AND(R3>=3;R3<6);AND(R3>=6;R3<12);AND(R3>=12;R3<18);R3>18} — массив условий для стажа;
    3. {S3<=13;S3>13;S3>=20;S3>=25;S3>=30;S3>=35} — массив условий для общего количества баллов.


    *******

    Через IFS():
    =IFS(
         AND(Q3=1;R3<3;S3<=13);"К увольнению"
        ;AND(Q3=1;R3<3;S3>13);"Стажёр"
        ;AND(Q3=2;AND(R3>=3;R3<6);S3>=20);"Младший"
        ;AND(Q3=3;AND(R3>=6;R3<12);S3>=25);"Средний"
        ;AND(Q3=3;AND(R3>=12;R3<18);S3>=30);"Старший"
        ;AND(Q3=3;R3>18;S3>=35);"РП"
    )
    Ответ написан
    Комментировать
  • Как сделать правильно выборку IFS?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Может помочь это - реализация кусочно-константной функции
    /**
     * Рассчитывает кусочно-константную функцию
     *
     * @author Boew Grigory (ff.nspu@gmail.com)
     * @param {Array} data Входные данные (аргумент)
     * @param {Array} criteria Массив критериев [от, до, значение]
     * @param {any} [defaultValue=""] Значение по умолчанию - то что подставляется, если аргумент не подходит ни под один из критериев
    */
    function piecewiseConstant(data, criteria, defaultValue="-"){
      criteria = criteria
                  .map(cr=>({ // convert to objects
                    fromValue: cr[0],
                    toValue: cr[1],
                    value: cr[2],
                  }))
                  .filter(cr=>cr.fromValue!=="" && cr.toValue!==""); // filter empty criteria
      return data.map(row=>row.map(el=>{
        let foundCriteria = criteria.find(cr=>(el>=cr.fromValue)&&(el<cr.toValue));
        if (foundCriteria!==undefined){
          return foundCriteria.value;
        }else{
          return defaultValue;
        };
      }));
    };
    Ответ написан
    Комментировать
  • Как отменить подчеркивание у последнего элемента?

    @T3R3AND
    :last-child
    Ответ написан
    Комментировать
  • Как получить подобные категории?

    alex4answ
    @alex4answ
    Способы существуют разные, но обычно используют класс-модификатор для списка, и все дочерние этого списка отображают.

    1. Клик на элемент, добавляем класс .open для текущего элемента/списка дочерних
    2. отображаем дочерний список если у него есть класс .open

    что-то типа этого.
    Ответ написан
    4 комментария