Моя таблица Excel содержит 400 точек данных, это как значения пикселей изображения, но некоторые из моих точек данных отсутствуют, поэтому значение этой ячейки равно нулю, данные состоят только из четырех значений 1, 2, 3 и 4. Мне нужно присвоить значение отсутствующим ячейкам путем просмотра соседних 8 ячеек, и если какое-либо значение будет иметь большее количество отсчетов, оно будет назначено как значение отсутствующей ячейки.

1 ответ1

2
  1. продублируйте весь лист
  2. введите эту формулу в верхнем левом углу нового диапазона: =IF(Sheet1!B2>0,Sheet1!B2,IFERROR(INDEX(MODE.MULT(Sheet1!A1:C3),1),MAX(Sheet1!A1:C3)))
  3. Скопируйте формулу во всем диапазоне

Формула:

  • =IF(Sheet1!B2>0,...) - если исходное значение было> 0, то не меняет его
  • INDEX(MODE.MULT(Sheet1!A1:C3),1) - MODE.MULT возвращает все режимы выбранного диапазона, INDEX просто выбирает первый. (MODE.MULT приводит массив результатов, он доступен только в Excel 2010. Поскольку в формуле используется только первый элемент, вводить формулы в виде формулы массива необязательно).
  • IFERROR(...,MAX(Sheet1!A1:C3)) - MODE.MULT приводит к ошибке, когда все числа встречаются только один раз, в этом случае выбирается наибольшее (наименьшее выберет 0 (само))

До:

После:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .