2015-02-06 5 views
1

В новой таблице Google я хочу отслеживать содержимое конкретных ячеек, чтобы ячейка состояния отображала ход заказа.Изменение содержимого ячеек электронной таблицы Google на основе содержимого других ячеек

Может ли кто-нибудь помочь мне со сценарием, который автоматически изменит содержимое ячейки K8: K, в зависимости от содержимого ячеек L8: L, R8: R, Y8: Y, AA8: AA и AB8: AB?

Пожалуйста, простите синтаксис, я никогда не узнал, язык сценариев ... логика будет идти что-то вроде этого:

If L<>0 then K="Awaiting order" 
If R<>0 or Q<>0 then K="In progress" 
If AA<>0 and Y=0 then K="Sent for invoicing (docs incomplete)" 
If AA<>0 and Y<>0 then K="Sent for invoicing (docs complete)" 
If AB<>0 and Y<>0 then K="Closed (complete)" 

Я использую «<> 0», чтобы указать, что что-то есть были введены в ячейку и «= 0», чтобы указать, что ячейка пуста. Если несколько аргументов были истинными, то более поздняя в последовательности должна иметь приоритет.

Назад, когда я знал, как программировать, вы можете использовать множество инструкций IF/ELSE для достижения желаемых приоритетов, но я действительно не знаю, с чего начать в эти дни, кроме Google, который при поиске информации о том, как для выполнения сложных задач Google Spreadsheet, обычно приводит меня к переполнению стека!

Любая помощь будет с благодарностью принята!

+0

Таким образом, электронная таблица, которая делает мониторинг не та же таблица с данными? –

+1

@Sandy Я читаю '' новый '', чтобы указать последнюю версию Google Spreadsheets (тот, у кого зеленый галочка в правом нижнем углу). – pnuts

+1

Это всего лишь одна электронная таблица. Когда я сказал «новое», я имел в виду тот, у которого зеленый тик. –

ответ

1

Правда формула, а не сценарий, но, пожалуйста, попробуйте в К8 и скопировал вниз костюм:

=if(and(AB8<>"",Y8<>""),"Closed (complete)",if(and(AA8<>"",Y8=""),"Sent for invoicing (docs complete)",if(and(AA8<>"",Y8<>""),"Sent for invoicing (docs incomplete)",if(R8<>"","In progress",if(L8<>"","Awaiting order",""))))) 
+0

Это работает очень хорошо, спасибо –

+0

Как сделать так, чтобы, если Q8 или R8 <> 0, то «In progress»? –

+0

Попробуйте заменить 'if (R8 <>" "' на 'if (или (R8 <>" ", Q8 <>" ")' при условии, что вы продолжаете свое соглашение <<0>. – pnuts

1

Это звучит, как вы хотите использовать комбинацию вложенных if функций и isBlank функции в формулах в столбце К.

Так моделировать только первую часть того, что вы пытаетесь сделать, по формуле в K8 может быть что-то вроде:

if(not(isBlank(L8)), "Awaiting Order", if(not(isBlank(R8)), "In Progress", "Other conditions go here")) 

вы указали в комментариях, которые вы хотите сделать or функцию, а также. Синтаксис только для этой части может быть

or(isBlank(Q9), isBlank(R9)) 
+0

Я не уверен, что это соответствует тому, что подразумевается под «более поздним в последовательности должно иметь приоритет». – pnuts

+0

Спасибо, заключенный, это действительно полезно. Сейчас он почти работает ... Я использую простой isBlank, а не NOT. Можете ли вы рассказать мне, как включить логический оператор OR? Я пытаюсь это сделать (isBlank (Q9)) * (isBlank (R9)), но, похоже, просто игнорирует часть Q9? –

+0

ответьте на обновление, чтобы включить информацию об операторе «или». – Prisoner