повторять формулу условно в excel 2013?

Я пытаюсь вычислить формулу, а затем перетаскиваю ее, чтобы применить ее ко всему столбцу, но проблема в том, что я хочу сравнить первую ячейку столбца A с первой ячейкой столбца B, а затем вторую ячейку столбца A с вторую ячейку столбца B, а затем сравните третью ячейку столбца a с первой ячейкой столбца B... :

    A    B      result
1   1    4        0
2   2    5        0
3   3             0
4   4             0 
5   5             1
6   5             1

когда я пишу шаблон, например, если =IF((A1<Sheet1!B1),0,1), затем =IF((A2<Sheet1!B2),0,1), =IF((A1<Sheet1!B1),0,1), =IF((A2<Sheet1!B2),0,1) четыре раза, а затем перетаскиваю формулу для столбца, он начинает сравнивать ее с соответствующей =IF((A5<Sheet1!B5),0,1) Как мне ее изменить?

изменить :

в примере я хочу сравнить ячейку (1, A) с ячейкой (1, B), затем ячейку (2, A) с ячейкой (2, B), а затем ячейку (3, A) с ячейкой (1, B), затем ячейка (4, A) с ячейкой (2, B), а затем ячейка (5, A) с ячейкой (1, B), затем ячейка (6, A) с ячейкой (2, B). [повторяя шаблон два раза и затем начните сначала]


person academic.user    schedule 23.04.2015    source источник
comment
так каков ожидаемый результат, который вы ищете?   -  person Marcel    schedule 24.04.2015
comment
@AHC, пожалуйста, смотрите часть редактирования   -  person academic.user    schedule 24.04.2015
comment
@pnuts. Насколько я понял, A3 (3) меньше, чем B1 (4), поэтому результат ноль. Однако A4 (4) меньше, чем B2 (5), поэтому он также должен быть равен нулю.   -  person    schedule 24.04.2015
comment
да @pnuts это на другом листе, я не понял ваш второй вопрос?   -  person academic.user    schedule 24.04.2015
comment
@pnuts, Плохо, результат был неверным.   -  person academic.user    schedule 24.04.2015


Ответы (1)


Попробуйте это в C1,

=--NOT(A1<OFFSET('Different Sheet'!$B$1, MOD(ROW(1:1)-1, 2), 0))

Заполните по мере необходимости. Кажется, вы ищете только 0 или 1, поэтому я упростил ваше выражение IF. (Примечание: математика с MOD скорректирована для большей универсальности)

Для разных множителей вам нужно только изменить параметр divisor в Функция МОД. функция ROW, ROW(1:1) будет возвращать 1, 2, 3, 4, 5 и т. д. по мере заполнения. MOD возвращает остаток от операции деления, поэтому MOD(ROW(1:1)-1, 3) при заполнении возвращает 0, 1, 2, 0, 1, 2, 0 и т. д..

Если вы использовали функцию COUNT на числах в «Другом листе»! B: B вы сможете получить динамический делитель.

=--NOT(A1<OFFSET('Different Sheet'!$B$1, MOD(ROW(1:1)-1, COUNT('Different Sheet'!B:B)), 0))
person Community    schedule 23.04.2015
comment
спасибо за ваш ответ, но столбец B на самом деле находится на другом листе. - person academic.user; 24.04.2015
comment
@academic.user — несложно сослаться на другой рабочий лист. - person ; 24.04.2015
comment
спасибо @Jeeped, извините, но я не эксперт, и у меня проблемы с его изменением, когда, например, второй столбец состоит из трех строк, и мы хотим сравнить то же самое, но повторяя 3. скажем, повторяя некоторую формулу n раз и начиная заново. - person academic.user; 24.04.2015
comment
@academic.user — я изменил математику в функции MOD поэтому вам просто нужно изменить 2 в параметре MOD divisor. Смотрите мое объяснение выше. При необходимости вы можете использовать Функция COUNT для задания делителя. - person ; 24.04.2015
comment
Я смоделировал почти ту же формулу, за исключением того, что я заменил изменчивую функцию OFFSET на функцию INDEX, например: =IF(A1<INDEX(Sheet1!B:B,MOD(ROW()-1,COUNT(Sheet1!B:B))+1),0,1). Может существенно повлиять на производительность, если и когда эта таблица будет увеличена. - person Mark Balhoff; 24.04.2015
comment
@MarkBalhoff - Хорошая мысль! Я стараюсь избегать изменчивой функции OFFSET. в пользу сопоставимого функция ИНДЕКС, но на этот раз я ее пропустил. - person ; 24.04.2015