Difference between revisions of "RU/kb/00000648"

From Wiki
Jump to navigationJump to search
(Основной текст)
 
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
<section begin=toc />
 
<section begin=toc />
 +
{| align="right"
 +
|{{RUkbCalcNoExcel}}
 +
|}
 
=== LOOKUP ===
 
=== LOOKUP ===
Функция возвращает значение из таблицы шириной в одну ячейку, в позиции, определённой поиском по другой таблице.
+
<section begin=description />Функция возвращает значение из таблицы шириной в одну ячейку, в позиции, определённой поиском по другой таблице.<section end=description />
  
 
==== Синтаксис функции: ====
 
==== Синтаксис функции: ====
Line 41: Line 44:
  
  
В {{MSE}}, любые логические значения в ''searchtable'' должны появляться после любых текстовых значений. В {{IopC}}, логические значения, как предполагается, имеют числовые значения '''0 (FALSE)''' и '''1 (TRUE)'''.
+
{{Caution|В {{MSE}}, любые логические значения в ''searchtable'' должны появляться после любых текстовых значений. В {{IopC}}, логические значения, как предполагается, имеют числовые значения '''0 (FALSE)''' и '''1 (TRUE)'''.}}
  
  

Latest revision as of 10:02, 13 March 2012



70px right

LOOKUP

Функция возвращает значение из таблицы шириной в одну ячейку, в позиции, определённой поиском по другой таблице.

Синтаксис функции:

=LOOKUP(lookupvalue; searchtable; resulttable)
Рис. 1. Пример функции.

где:

  • lookupvalue — значение (число, текст или логическое значение), которое ищется в searchtable;
  • searchtable — однострочный или одностолбцовый диапазон / массив, должен быть отсортирован, с числами, в порядке возрастания появляющимися перед текстовыми значениями в алфавитном порядке;
  • resulttable — диапазон / массив из которого возвращается значение, того же размера, что и searchtable.


Функция LOOKUP возвращает значение из resulttable в позиции, где было найдено соответствие в searchtable. LOOKUP решает, где в searchtable появляется lookupvalue. Если есть точное соответствие, оно является найденной позицией; если есть больше чем одно точное соответствие, найденная позиция — не обязательно крайняя левая / самая верхняя. Если нет точного соответствия, находится позиция как раз перед тем местом, где lookupvalue появился бы; возвращается ошибка #N/A, если это положение находится не в searchtable.


Соответствие всегда нечувствительно к регистру — значение параметра Учитывать регистр в диалоговом окне Сервис → Параметры → InfraOffice.pro Calc → Вычисления не применяется.


Если регулярные выражения разрешены в диалоговом окне Сервис → Параметры → InfraOffice.pro Calc → Вычисления, LOOKUP найдёт точные соответствие, рассматривая lookupvalue как регулярное выражение. Это имеет смысл и должно использоваться только если ожидается уникальное точное соответствие.


Если параметр Условия поиска = и <> должны распространяться на всю ячейку в диалоговом окне Сервис → Параметры → InfraOffice.pro Calc → Вычисления установлен, lookupvalue должен соответствовать всему тексту в ячейке; в противном случае он может соответствовать только части текста.


На рис. 1:

  • в ячейке B5 возвращается A. Ячейка A1 соответствует 3. Возвращается содержимое соответствующей ячейки из диапазона A3:E3;
  • в ячейке B7 возвращается B. 7 появилось бы между 5 и cat, таким образом находится левая позиция;
  • в ячейке B9 возвращается #N/A. 1 появилось бы перед 3 в верхней строке, однако нет позиции слева от неё в таблице;
  • в ячейке B11 возвращается C. Различие между нижним и верхним регистрами игнорируется, таким образом CAT соответствует cat;
  • в ячейке B13 возвращается D. Текстовое значение mate появилось бы между mat и matter, таким образом находится левая позиция;
  • в ячейке B15 возвращается C, если регулярные выражения разрешены (и B если не разрешены). Точка '.' поддерживает 'любой одиночный символ' в регулярном выражении, таким образом c.t соответствует cat;
  • в ячейке B17 регулярное выражение “.at” соответствует и cat и mat, если регулярные выражения разрешены. Оно также соответствует matter, если параметр Условия поиска = и <> должны распространяться на всю ячейку выключен.


Documentation caution.png В MS Excel, любые логические значения в searchtable должны появляться после любых текстовых значений. В InfraOffice.pro Calc, логические значения, как предполагается, имеют числовые значения 0 (FALSE) и 1 (TRUE).


Tip.png Гибкость и мощность регулярных выражений и запрещение параметра соответствовать всей ячейке, делают эту функцию намного более сложной. Самый безопасный и самый лёгкий способ использовать эту функцию состоит в том, чтобы запретить регулярные выражения и разрешить соответствие всей ячейке.






InfraOffice.pro 3.1.x









К началу страницы