2016-11-08 3 views
0

На листе 1 я имею мин и максимальную длину крыльев птицы, которая отличается для мужчин и женщин, т.е. переменных:Проверка достоверности данных условной между минимальным и максимальным значениями в разных колонках клеток (с или без VBA)

BirdID | WingMMin (Средняя минимальная длина мужчин) | WingMMax (Средняя максимальная длина самцов).

На листе 2 Я хочу, чтобы захватить фактических измерений для птиц, но сверяются Лист 1 (Данные схвачен, например WingLength должен быть между WingMMin и WingMMax для конкретных птиц и секс с использованием переменных:

BirdID (Нет (1 = Мужчина; 2 = Женщина для ввода) | WingLength.

Это кажется слишком сложным для этого без VBA, но поскольку я не знаю VBA, я не понимаю, как это сделать. для программирования этого значения для всех значений в столбце WingLength. Логика должна быть следующей:

If Winglength <> between WingMMin and WingMMin) then 
    Msgbox (The measurement is invalid. It should be between WingMMin and WingMMin) 
End if 
+1

Вы можете сделать это, используя [проверку данных с формулами в min и max] (http://www.excel-easy.com/basics/data-validation.html) или даже [условное форматирование] (https://support.office.com/en-us/article/Use-a-formula-to-apply-conditional-formatting-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f). В этом случае нет необходимости в VBA. – cyberponk

+0

Если вы хотите использовать VLOOKUP, VLOOKUP поддерживает только один критерий, поэтому у вас должно быть одно значение, содержащее как идентификатор птицы, так и идентификатор пола: например.'= A5 &" _ "& A6'. Затем вы можете найти этот единственный столбец. https://exceljet.net/formula/vlookup-with-two-or-more-criteria –

ответ

0

Если предположить, что структура листа выглядит следующим образом:

Лист1

A   B   C   D 
BirdID Gender WingMMin WingMMax 

Sheet2

A   B   C 
BirdID Gender WingLength 

можно добавить столбцы в Лист1 и Лист2 со следующими формула:

=A1 & "_" & B1 

, который дал бы уникальную строку для каждой комбинации птица-идентификатор/пол. На Sheet1 этот столбец должен быть до столбцов WingMin/WingMax; мы предположим, что это третий столбец.

Лист1

A   B   C   D   E 
BirdID Gender UniqueID WingMMin WingMMax 

Sheet2

A   B   C    D 
BirdID Gender WingLength UniqueID 

Затем, вы можете использовать функцию VLOOKUP рабочего листа, чтобы определить, является ли та или иная линия действует:

=AND(C2 >= VLOOKUP(D2, Sheet1!$C$1:$E$100, 2, FALSE), C2 <= VLOOKUP(D2, Sheet1!$C$1:$E$100, 3, FALSE) 

Эта функция вернет TRUE, если значение действительно, и FALSE, если оно недействительно.

Вы можете поместить эту формулу в дополнительный столбец, или вы можете применить условное форматирование на основе формулы.