Как обновить данные на основе цвета фона ячейки - PullRequest
1 голос
/ 21 октября 2019

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

Это инструкции по цвету:

Orange  Negatived added
Blue    To be negatived out
Green   Converted
Yellow  Not sure
Grey    Not to be touched
Red     Cancel Negative.

Я не профессионал в таких вещах. Я бродил более 5 часов, но не нашел ни одного полезного ресурса для этого.

Ответы [ 2 ]

3 голосов
/ 22 октября 2019

Ответ от @ player0 также корректен, но вы можете сделать это без стороннего дополнения, используя Apps Script .

Вот как этовыглядит:

Final result on the sheet

Вот как это использовать:

How the formula is used

Вот код:

function doActionBasedOnColor(cellA1) { //cellA1 is the A1 notation of the cell (it's position)
  var cell = SpreadsheetApp.getActiveSheet().getRange(cellA1);
  switch (cell.getBackground()) {
    case "#ff9900": //Orange
      return "Negatived added"
      break;

    case "#0000ff": //Blue
      return "To be negatived out"
      break;

    case "#00ff00": //Green
      return "Converted"
      break;

    case "#ffff00": //Yellow
      return "Not sure"
      break;

    case "#b7b7b7": //Grey
      return "Not to be touched"
      break;

    case "#ff0000": //Red
      return "Cancel Negative"
      break;

    default:
      return "Cell Background is: " + cell.getBackground();
      break;
  }
}

Если вам нужно использовать функцию выбора и перетаскивания, вы можете сделать это, изменив функцию на:

function doActionBasedOnColor(row,col) {
  var cell = SpreadsheetApp.getActiveSheet().getRange(row, col);
  //...

и формулу на:=doActionBasedOnColor(COLUMN(A1),ROW(A1))

Надеюсь, это поможет!

1 голос
/ 21 октября 2019

невозможно без сценария или дополнения ...

вам понадобится это дополнение для этого: https://chrome.google.com/webstore/detail/custom-count-and-sum/njiklelndjpdbdngfkdgeijcpfabfgkb

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

=IF(COUNTBACKGROUNDCOLOR(A1, C$1)=1, "Negatived added", 
 IF(COUNTBACKGROUNDCOLOR(A1, C$2)=1, "To be negatived out", 
 IF(COUNTBACKGROUNDCOLOR(A1, C$3)=1, "Converted", 
 IF(COUNTBACKGROUNDCOLOR(A1, C$4)=1, "Not sure", 
 IF(COUNTBACKGROUNDCOLOR(A1, C$5)=1, "Not to be touched", 
 IF(COUNTBACKGROUNDCOLOR(A1, C$6)=1, "Cancel Negative", ))))))

, где C1: C6 содержит образцы цветов

...