Я ищу помощи в сравнении ячейки внутри массива, чтобы сказать конкретное слово, и если это слово произнесено, чтобы проверить, содержит ли другая соответствующая ячейка строку.(В данном случае «Apple» - это конкретное слово, а тип яблока указан как «Золотой».) Я не знаю, сколько там пользователей, так что это помогает также проверять каждого действительного пользователя подряд.
В этом примере я смотрю на пользователей, вводящих три варианта фруктов, и если они задают Apple
, Pear
, Banana
или Plum
, они должны заполнить соответствующие ячейки, чтобы сказать, какой тип зависит отбыл ли это их первый, второй или третий выбор.Некоторые из выбранных ключевых слов могут появляться в других вариантах, таких как Apple
, которые отображаются в качестве первого варианта для Jessica
, но в качестве третьего варианта для John
.Нам все равно, появится ли он во втором или третьем варианте.Обращайте внимание только на следующие варианты: Apple
должен быть первым выбором, Pear
должен быть первым выбором, Banana
должен быть вторым выбором, и Plum
должен быть третьим выбором.Затем я получу скрипт, который подтвердит, является ли информация истинной или ложной.
Ниже приводится то, на что я ссылаюсь:
Name Fruit 1 Fruit 2 Fruit 3
Joanne Pear Orange Kiwi
John Berries Peach Apple
Juno Tomato Grapes Lemon
Jessica Apple Banana Pomegranate
(Type of Apple) = Golden
(Type of Pear) = Barley
(Type of Banana) =
(Type of Plum) =
На изображении выше "Банан" был указан какВторой выбор фруктов Джессики, но там он не заполнен ниже в «Типе банана», так что это должно вернуть false.Если бы в Banana содержалась случайная строка и один из пользователей указывал ее в качестве своего второго выбора, это вернуло бы значение true.
Вот код, который я пробовал, но он постоянно возвращает false, а я - нетзнаю почему:
function validateInfo() {
var data = SpreadsheetApp.getActive().getSheetByName('Sheet1')
.getDataRange().getValues();
Logger.log(data[8][2]);
var valid = true,
notBlank;
data.slice(8).every(function(row) {
notBlank = row[1].toString().length;
if (notBlank) {
valid = (row[2] === 'Apple' && data[0][6].toString().length > 0 || row[2] === 'Pear' && data[1][6].toString().length > 0 || row[3] === 'Banana' && data[2][6].toString().length > 0 || row[4] === 'Plum' && data[3][6].toString().length > 0);
}
return (notBlank && valid);
});
Logger.log(valid);
}
Ссылка на лист .