Как стирать в экселе
Применение и удаление границ ячеек на листе
Excel для Microsoft 365
Excel для Интернета
Excel 2019
Excel 2016
Excel 2013
Excel 2010
Excel 2007
Дополнительно…
Меньше
С помощью стандартных стилей границ можно быстро добавить границу вокруг ячеек или диапазонов ячеек. Если предопределенные границы ячеек не соответствуют вашим потребностям, вы можете создать произвольную границу.
Примечание: Границы ячеек, которые вы хотите применить, отображаются на печатных страницах. Если вы не используете границы ячеек, но вы хотите, чтобы границы линии сетки листа были видны на напечатанных страницах, можно отобразить линии сетки. Дополнительные сведения можно найти в разделе Печать с линиями и безних.
Применение предварительно определенной границы ячейки
Выделите на листе ячейку или диапазон ячеек , к которым вы хотите добавить границу, измените стиль границы или удалите границу.
На вкладке Главная в группе Шрифт выполните одно из указанных ниже действий.
Чтобы применить новый или другой стиль границы, щелкните стрелку рядом с кнопкой границы
и выберите нужный стиль границы.
Совет: Чтобы применить пользовательский стиль границы или диагональную границу, нажмите кнопку другие границы. В диалоговом окне Формат ячеек на вкладке граница в группе линии и Цветщелкните нужный стиль и цвет линии. В разделе пресеты и границынажмите одну или несколько кнопок, чтобы обозначить расположение границы. Две диагональных кнопки,
доступные в разделе border.
Чтобы удалить границы ячеек, щелкните стрелку рядом с кнопкой границы
и выберите пункт нет границы
.
Кнопка » границы » отображает последний использованный стиль границы. Вы можете нажать кнопку границы (а не стрелку), чтобы применить стиль.
Если вы примените границу к выделенной ячейке, она также будет применена к смежным ячейкам, которые имеют границу границы ячейки. Например, если вы применяете границу для диапазона B1: C5, ячейки D1: D5 приобретают левую границу.
Если вы примените различные типы границ к общей границе ячейки, появится Последнее примененное обрамление.
Выделенный диапазон ячеек форматируется как один блок ячеек. Если вы применяете правую границу к диапазону ячеек B1: C5, граница отображается только на правой границе ячеек C1: C5.
Если вы хотите напечатать одинаковые границы для ячеек, разделенных разрывом страницы, но граница отображается только на одной странице, можно применить внутреннюю границу. Таким образом, вы можете напечатать границу в нижней части последней строки на одной странице и использовать одну и ту же границу в верхней части первой строки на следующей странице. Выполните действия, описанные ниже.
Выделите строки на обеих сторонах разрыва страницы.
Щелкните стрелку рядом с кнопкой границы
и выберите пункт другие границы.
В разделе пресеты нажмите кнопку Внутренняя
.
В разделе границана схеме предварительный просмотр Удалите вертикальную границу, щелкнув ее.
Удаление границы ячейки
Выделите на листе ячейку или диапазон ячеек , для которых нужно удалить границу.
Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
На вкладке Главная в группе Шрифт щелкните стрелку рядом с кнопкой границы
и выберите пункт нет границы
.
-ИЛИ-
На вкладке главная > стрелку » границы » > » стереть границу«, а затем выделите ячейки с границей, которые нужно стереть.
Создание настраиваемого стиля границ ячейки
Вы можете создать стиль ячеек, который содержит произвольную границу, и применить этот стиль ячейки, если вы хотите отобразить произвольную границу вокруг выделенных ячеек.
На вкладке Главная в группе Стили нажмите кнопку Стили ячеек.
Совет: Если кнопка стили ячеек не отображается, нажмите кнопку стили, а затем нажмите кнопку Дополнительно рядом с полем стили ячеек.
Выберите команду Создать стиль ячейки.
В поле имя стиля введите подходящее имя для нового стиля ячейки.
Нажмите кнопку Формат.
На вкладке граница в группе линияв поле стиль выберите стиль линии, который будет использоваться для границы.
В поле Цвет выберите цвет, который вы хотите использовать.
В разделе границащелкните кнопки с границей, чтобы создать нужную границу.
Нажмите кнопку ОК.
В диалоговом окне стиль в группе стиль включает (по примеру)снимите флажки для тех элементов форматирования, которые не нужно включать в стиль ячейки.
Нажмите кнопку ОК.
Чтобы применить стиль ячейки, выполните указанные ниже действия.
Выделите ячейки , которые нужно отформатировать, с помощью настраиваемой границы ячейки.
На вкладке Главная в группе Стили нажмите кнопку Стили ячеек.
Щелкните настраиваемый стиль ячейки, который вы только что создали. Как например, кнопка FancyBorderStyle на этом рисунке.
Добавление обрамления ячеек
Чтобы настроить стиль линии или цвет границ ячеек или стереть существующие границы, можно воспользоваться параметрами «нарисовать границы «. Чтобы нарисовать границы ячеек, сначала выберите тип границы, затем цвет границы и стиль линии, а затем выделите ячейки, вокруг которых нужно добавить границу. Вот как это сделать:
На вкладке Главная рядом с элементом Границы щелкните стрелку
.
Для создания внешних границ выберите пункт Нарисовать границы, для внутренней разметки — пункт Нарисовать линии границы.
Щелкните стрелку рядом с элементом Границы, выберите пункт Цвет линии и укажите нужный цвет.
Щелкните стрелку рядом с элементом Границы, выберите пункт Вид линии и укажите нужный вид.
Выделите ячейки, вокруг которых необходимо нарисовать границы.
Добавление границы, цвета границы или типа линии границы
Выделите ячейку или диапазон ячеек, вокруг которых нужно добавить границу, измените стиль границы на или удалите границу.
2. на вкладке главная> стрелку границы и выберите нужный параметр границы.
Добавление цвета границы — щелкните стрелку » границы » > » Цвет границы«, а затем выберите цвет.
Добавьте стиль линии границы : щелкните стрелку границы > стиль границыи выберите параметр стиль линии.
Советы
На кнопке Границы отображается последний использованный стиль границы. Чтобы применить этот стиль, нажмите кнопку (не стрелку) Границы.
Если вы примените границу к выделенной ячейке, она также будет применена к смежным ячейкам, которые имеют границу границы ячейки. Например, если вы применяете границу для диапазона B1: C5, ячейки D1: D5 будут получать левую границу.
Если вы примените различные типы границ к общей границе ячейки, появится Последнее примененное обрамление.
Выделенный диапазон ячеек форматируется как один блок ячеек. Если вы применяете правую границу к диапазону ячеек B1: C5, граница отображается только на правой границе ячеек C1: C5.
Если вы хотите напечатать одинаковые границы для ячеек, разделенных разрывом страницы, но граница отображается только на одной странице, можно применить внутреннюю границу. Таким образом, вы можете напечатать границу в нижней части последней строки на одной странице и использовать одну и ту же границу в верхней части первой строки на следующей странице. Выполните действия, описанные ниже.
Выделите строки на обеих сторонах разрыва страницы.
Щелкните стрелку рядом с кнопкой границы и выберите внутреннюю горизонтальную границу .
Удаление границы
Чтобы удалить границу, выделите ячейки с границей, а затем щелкните стрелку границы >нет границы.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
См. также
Изменение ширины границ ячеек
Примечание:
Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Ýòî êíèãà Excel ñ îäíèì ëèñòîì, ãäå ðàñïîëîæåíû äâå òàáëèöû: îòãðóçêè (500 000 ñòðîê) è ïðàéñ-ëèñò (600 ñòðîê).
Çàäà÷à — ïîäñòàâèòü öåíû èç ïðàéñ-ëèñòà â òàáëèöó îòãðóçîê. Äëÿ êàæäîãî ñïîñîáà áóäåì ââîäèòü ôîðìóëó â ÿ÷åéêó Ñ2 è êîïèðîâàòü âíèç íà âåñü ñòîëáåö, çàìåðÿÿ âðåìÿ, êîòîðîå ïîòðåáóåòñÿ Excel, ÷òîáû ïðîñ÷èòàòü âåñü ñòîëáåö èç ïîëóìèëëèîíà ÿ÷ååê. Ïîëó÷åííûå çíà÷åíèÿ, áåçóñëîâíî, çàâèñÿò îò ìíîæåñòâà ôàêòîðîâ (ïîêîëåíèå ïðîöåññîðà, îáúåì îïåðàòèâíîé ïàìÿòè, òåêóùàÿ çàãðóçêà ñèñòåìû, âåðñèÿ Office è ò.ä.), íî íàì âàæíû íå êîíêðåòíûå öèôðû, à, ñêîðåå, èõ ñðàâíåíèå äðóã ñ äðóãîì. Âàæíî ïîíèìàòü ïðîæîðëèâîñòü êàæäîãî ñïîñîáà è èõ îãðàíè÷åíèÿ.
Ñïîñîá 1. ÂÏÐ
Çäåñü ó÷àñòâóþò ñëåäóþùèå àðãóìåíòû:
B2 — èñêîìîå çíà÷åíèå, ò.å. íàçâàíèå òîâàðà, êîòîðûé ìû õîòèì íàéòè â ïðàéñ-ëèñòå
$G$2:$H$600 — çàêðåïë¸ííàÿ çíàêàìè äîëëàðà (÷òîáû íå ñïîëçàëà ïðè êîïèðîâàíèè ôîðìóëû âíèç) àáñîëþòíàÿ ññûëêà íà ïðàéñ
2 — íîìåð ñòîëáöà â ïðàéñ-ëèñòå, îòêóäà ìû õîòèì âçÿòü öåíó
0 èëè ËÎÆÜ — ïåðåêëþ÷åíèå â ðåæèì ïîèñêà òî÷íîãî ñîîòâåòñòâèÿ, êîãäà ëþáîå íåêîððåêòíîå íàçâàíèå òîâàðà (íàïðèìåð, ÔÎÍÅÐÀ) â ñòîëáöå «B» â òàáëèöå îòãðóçîê ïðèâåä¸ò ê ïîÿâëåíèþ îøèáêè #Í/Ä êàê ðåçóëüòàòà ðàáîòû ôóíêöèè.
Âðåìÿ âû÷èñëåíèÿ = 4,3 ñåê.
Ñïîñîá 2. ÂÏÐ ñ âûäåëåíèåì ñòîëáöîâ öåëèêîì
Ìíîãèå ïîëüçîâàòåëè, ïðèìåíÿÿ ÂÏÐ, âî âòîðîì àðãóìåíòå ýòîé ôóíêöèè, ãäå íóæíî çàäàòü ïîèñêîâóþ òàáëèöó (ïðàéñ), âûäåëÿþò íå îãðàíè÷åííûé äèàïàçîí ($G$2:$H$600), à ñðàçó ñòîëáöû G:H öåëèêîì. Ýòî ïðîùå, áûñòðåå, ïîçâîëÿåò íå äóìàòü ïðî F4 è òî, ÷òî çàâòðà ïðàéñ-ëèñò ìîæåò áûòü íà íåñêîëüêî ñòðîê áîëüøå. Ôîðìóëà â ýòîì ñëó÷àå âûãëÿäèò òîæå êîìïàêòíåå:
 ñòàðûõ âåðñèÿõ Excel òàêîå âûäåëåíèå íå ñèëüíî âëèÿëî íà ñêîðîñòü âû÷èñëåíèé, íî ñåé÷àñ ðåçóëüòàò ïîëó÷èëñÿ â ðàçû õóæå ïðåäûäóùåãî.
Âðåìÿ âû÷èñëåíèÿ = 14,5 ñåê.
Ñïîñîá 3. ÈÍÄÅÊÑ è ÏÎÈÑÊÏÎÇ
Ñëåäóþùåé ïîñëå ÂÏÐ ñòóïåíüþ ýâîëþöèè äëÿ ìíîãèõ ïîëüçîâàòåëåé Excel îáû÷íî ÿâëÿåòñÿ ïåðåõîä íà èñïîëüçîâàíèå ñâÿçêè ôóíêöèé ÈÍÄÅÊÑ (INDEX) è ÏÎÈÑÊÏÎÇ (MATCH). Âûãëÿäèò ýòà ôîðìóëà òàê:
Çäåñü:
Ôóíêöèÿ ÈÍÄÅÊÑ èçâëåêàåò èç çàäàííîãî â ïåðâîì àðãóìåíòå äèàïàçîíà (ñòîëáöà $H$2:$H$600 ñ öåíàìè â ïðàéñ-ëèñòå) ñîäåðæèìîå ÿ÷åéêè ñ çàäàííûì íîìåðîì. À íîìåð ýòîò, â ñâîþ î÷åðåäü, îïðåäåëÿåòñÿ ôóíêöèåé ÏÎÈÑÊÏÎÇ, ó êîòîðîé òðè àðãóìåíòà:
— ×òî íóæíî íàéòè — íàçâàíèå òîâàðà èç B2
— Ãäå ìû ýòî èùåì — ñòîëáåö ñ íàçâàíèÿìè òîâàðîâ â ïðàéñå ($G$2:$G$600)
— Ðåæèì ïîèñêà: 0 — òî÷íûé, 1 èëè -1 — ïðèáëèçèòåëüíûé ñ îêðóãëåíèåì â ìåíüøóþ èëè áîëüøóþ ñòîðîíó, ñîîòâåòñòâåííî.
Ôîðìóëà âûõîäèò ÷óòü ñëîæíåå, íî, ïðè ýòîì èìååò íåñêîëüêî îùóòèìûõ ïðåèìóùåñòâ ïåðåä êëàññè÷åñêîé ÂÏÐ, à èìåííî:
— Íå íóæíî îòñ÷èòûâàòü íîìåð ñòîëáöà (êàê â òðåòüåì àðãóìåíòå ÂÏÐ).
— Ìîæíî èçâëåêàòü äàííûå, êîòîðûå íàõîäÿòñÿ ëåâåå ñòîëáöà, ãäå ïðîèñõîäèò ïîèñê.
Ïî ñêîðîñòè, îäíàêî æå, ýòîò ñïîñîá ïðîèãðûâàåò ÂÏÐ ïî÷òè â äâà ðàçà:
Âðåìÿ âû÷èñëåíèÿ = 7,8 ñåê.
Åñëè æå, âäîáàâîê, ïîëåíèòüñÿ è âûäåëÿòü íå îãðàíè÷åííûå äèàïàçîíû, à ñòîëáöû öåëèêîì:
… òî ðåçóëüòàò ïîëó÷àåòñÿ ñîâñåì ïå÷àëüíûé:
Âðåìÿ âû÷èñëåíèÿ = 28,5 ñåê.
Ñïîñîá 4. ÑÓÌÌÅÑËÈ
Åñëè íóæíî íàéòè íå òåêñòîâûå, à èìåííî ÷èñëîâûå äàííûå (êàê â íàøåì ñëó÷àå — öåíó), òî âìåñòî ÂÏÐ âïîëíå ìîæíî èñïîëüçîâàòü ôóíêöèþ ÑÓÌÌÅÑËÈ (SUMIF). Èçíà÷àëüíî îíà çàäóìûâàëàñü êàê èíñòðóìåíò äëÿ âûáîðî÷íîãî ñóììèðîâàíèÿ äàííûõ ïî óñëîâèþ (íàéäè è ñëîæè ìíå âñå ïðîäàæè êàáåëåé, íàïðèìåð), íî ìîæíî çàñòàâèòü å¸ èñêàòü íóæíûé íàì òîâàð è â ïðàéñ-ëèñòå. Åñëè ãðóçû â í¸ì íå ïîâòîðÿþòñÿ, òî ñóììèðîâàòü áóäåò íå ñ ÷åì è ýòà ôóíêöèÿ ïðîñòî âûâåäåò èñêîìîå çíà÷åíèå:
Çäåñü:
— Ïåðâûé àðãóìåíò ÑÓÌÌÅÑËÈ — ýòî äèàïàçîí ïðîâåðÿåìûõ ÿ÷ååê, ò.å. íàçâàíèÿ òîâàðîâ â ïðàéñå ($G$2:$G$600).
— Âòîðîé àðãóìåíò (B2) — ÷òî ìû èùåì.
— Òðåòèé àðãóìåíò — äèàïàçîí ÿ÷ååê ñ öåíàìè $H$2:$H$600, ÷èñëà èç êîòîðûõ ìû õîòèì ïðîñóììèðîâàòü, åñëè â ñîñåäíèõ ÿ÷åéêàõ ïðîâåðÿåìîãî äèàïàçîíà åñòü èñêîìîå çíà÷åíèå.
Î÷åâèäíûì ìèíóñîì òàêîãî ïîäõîäà ÿâëÿåòñÿ òî, ÷òî îí ðàáîòàåò òîëüêî ñ ÷èñëàìè. Òàêæå ýòîò ñïîñîá íå óäîáåí, åñëè ïðàéñ-ëèñò íàõîäèòñÿ â îòäåëüíîì ôàéëå — ïðèäåòñÿ âñ¸ âðåìÿ äåðæàòü åãî îòêðûòûì, ò.ê. ôóíêöèÿ ÑÓÌÌÅÑËÈ íå óìååò áðàòü äàííûå èç çàêðûòûõ êíèã, â îòëè÷èå îò ÂÏÐ, äëÿ êîòîðîé ýòî íå ïðîáëåìà.
 ïëþñû æå ìîæíî çàïèñàòü óäîáñòâî ïðè ïîèñêå ñðàçó ïî íåñêîëüêèì ñòîëáöàì — äëÿ ýòîãî èäåàëüíî ïîäõîäèò áîëåå ïðîäâèíóòàÿ âåðñèÿ ýòîé ôóíêöèè — ÑÓÌÌÅÑËÈÌÍ (SUMIFS). Ñêîðîñòü âû÷èñëåíèé æå, ïðè ýòîì, âåñüìà ïîñðåäñòâåííàÿ:
Âðåìÿ âû÷èñëåíèÿ = 12,8 ñåê.
Ïðè âûäåëåíèè ñòîëáöîâ öåëèêîì, ò.å. èñïîëüçîâàíèè ôîðìóëû âèäà =ÑÓÌÌÅÑËÈ(G:G; B2; H:H) âñ¸ åù¸ õóæå:
Âðåìÿ âû÷èñëåíèÿ = 41,7 ñåê.
Ñïîñîá 5. ÑÓÌÌÏÐÎÈÇÂ
Ýòîò ïîäõîä ñåé÷àñ âñòðå÷àåòñÿ íå ÷àñòî, íî âñ¸ åù¸ äîñòàòî÷íî ðåãóëÿðíî. Îáû÷íî òàê ëþáÿò èçâðàùàòüñÿ ïîëüçîâàòåëè ñòàðîé øêîëû, åù¸ õîðîøî ïîìíÿùèå òå âðåìåíà, êîãäà â Excel áûëî âñåãî 255 ñòîëáöîâ è 56 öâåòîâ 🙂
Ñóòü ýòîãî ìåòîäà çàêëþ÷àåòñÿ â èñïîëüçîâàíèè ôóíêöèè ÑÓÌÌÏÐÎÈÇ (SUMPRODUCT), èçíà÷àëüíî ïðåäíàçíà÷åííîé äëÿ ïîýëåìåíòíîãî ïåðåìíîæåíèÿ íåñêîëüêèõ äèàïàçîíîâ ñ ïîñëåäóþùèì ñóììèðîâàíèåì ïîëó÷åííûõ ïðîèçâåäåíèé.  íàøåì ñëó÷àå, âìåñòî îäíîãî èç ìàññèâîâ áóäåò âûñòóïàòü óñëîâèå, à âòîðûì áóäóò öåíû:
Âûðàæåíèå ($G$2:$G$600=B2), ïî ñóòè, ïðîâåðÿåò êàæäîå íàçâàíèå ãðóçà â ïðàéñ-ëèñòå íà ïðåäìåò ñîîòâåòñòâèÿ èñêîìîìó çíà÷åíèþ (ÔÀÍÅÐÀ ÏÐ). Ðåçóëüòàòîì êàæäîãî ñðàâíåíèÿ áóäåò ëîãè÷åñêîå çíà÷åíèå ÈÑÒÈÍÀ (TRUE) èëè ËÎÆÜ (FALSE), ÷òî â Excel èíòåðïðåòèðóåòñÿ êàê 1 è 0, ñîîòâåòñòâåííî. Ïîñëåäóþùåå óìíîæåíèå ýòèõ íóëåé è åäèíèö íà öåíû îñòàâèò â æèâûõ öåíó òîëüêî òîãî òîâàðà, êîòîðûé íàì, â äàííîì ñëó÷àå, è íóæåí.
Ýòà ôîðìóëà ÿâëÿåòñÿ, ïî ñóòè, ôîðìóëîé ìàññèâà, íî íå òðåáóåò íàæàòèÿ îáû÷íîãî äëÿ íèõ ñî÷åòàíèÿ êëàâèø Ctrl+Shift+Enter, ò.ê. ôóíêöèÿ ÑÓÌÌÏÐÎÈÇ ïîääåðæèâàåò ìàññèâû óæå ñàìà ïî ñåáå. Âîçìîæíî, ïî ýòîé æå ïðè÷èíå (ôîðìóëû ìàññèâà âñåãäà ìåäëåííåå, ÷åì îáû÷íûå) òàêîé ñêîðîñòü ïåðåñ÷¸òà òàêîé ôîðìóëû — íå î÷åíü:
Âðåìÿ âû÷èñëåíèÿ = 11,8 ñåê.
Ê ïëþñàì æå òàêîãî ïîäõîäà ìîæíî îòíåñòè:
— Ñîâìåñòèìîñòü ñ ëþáûìè, ñàìûìè äðåâíèìè âåðñèÿìè Excel.
— Âîçìîæíîñòü çàäàâàòü ñëîæíûå óñëîâèÿ (è íåñêîëüêî)
— Ñïîñîáíîñòü ýòîé ôîðìóëû ðàáîòàòü ñ äàííûìè èç çàêðûòûõ ôàéëîâ, åñëè äîáàâèòü ïåðåä íåé äâîéíîå áèíàðíîå îòðèöàíèå (äâà ïîäðÿä çíàêà «ìèíóñ»). ÑÓÌÌÅÑËÈÌÍ òàêèì ïîõâàñòàòüñÿ íå ìîæåò.
Ñïîñîá 6. ÏÐÎÑÌÎÒÐ
Åù¸ îäèí îòíîñèòåëüíî ýêçîòè÷åñêèé ñïîñîá ïîèñêà è ïîäñòàíîâêè äàííûõ, íàðàâíå ñ ÂÏÐ — ýòî èñïîëüçîâàíèå ôóíêöèè ÏÐÎÑÌÎÒÐ (LOOKUP). Òîëüêî íå ïåðåïóòàéòå å¸ ñ íîâîé ôóíêöèåé ÏÐÎÑÌÎÒÐÕ (XLOOKUP) — ïðî íå¸ ìû ïîãîâîðèì äàëüøå îñîáî. Ôóíêöèÿ ÏÐÎÑÌÎÒÐ ñóùåñòâîâàëà â Excel íà÷èíàÿ ñ ñàìûõ ðàííèõ âåðñèé è òîæå âïîëíå ìîæåò ðåøèòü íàøó çàäà÷ó:
Çäåñü:
— B2 — íàçâàíèå ãðóçà, êîòîðîå ìû èùåì
— $G$2:$G$600 — îäíîìåðíûé äèàïàçîí-âåêòîð (ñòîëáåö èëè ñòðîêà), ãäå ìû èùåì ñîâïàäåíèå
— $H$2:$H$600 — òàêîãî æå ðàçìåðà äèàïàçîí, îòêóäà íóæíî âåðíóòü íàéäåííûé ðåçóëüòàò (öåíó)
Íà ïåðâûé âçãëÿä âñ¸ âûãëÿäèò î÷åíü óäîáíî è ëîãè÷íî, íî âñþ êàðòèíó ïîðòÿò äâà íåî÷åâèäíûõ ìîìåíòà:
— Ýòà ôóíêöèÿ òðåáóåò îáÿçàòåëüíîé ñîðòèðîâêè ïðàéñ-ëèñòà ïî âîçðàñòàíèþ (àëôàâèòó) è áåç ýòîãî íå ðàáîòàåò.
— Åñëè â òàáëèöå îòãðóçîê èñêîìîå çíà÷åíèå áóäåò íàïèñàíî ñ îïå÷àòêîé (íàïðèìåð, ÀÃÅÄÎË âìåñòî ÀÃÈÄÎË), òî ôóíêöèÿ ÏÐÎÑÌÎÒÐ âûäàñò íå îøèáêó #Í/Ä, à öåíó äëÿ áëèæàéøåãî ïðåäûäóùåãî òîâàðà:
Ïðè ðàáîòå ñ íåèäåàëüíûìè äàííûìè â ðåàëüíîì ìèðå ýòî ãàðàíòèðîâàííî ñîçäàñò ïðîáëåìû, êàê âû ïîíèìàåòå.
Ñêîðîñòü æå âû÷èñëåíèé ó ôóíêöèè ÏÐÎÑÌÎÒÐ (LOOKUP) âåñüìà ïðèëè÷íàÿ:
Âðåìÿ âû÷èñëåíèÿ = 7,6 ñåê.
Ñïîñîá 7. Íîâàÿ ôóíêöèÿ ÏÐÎÑÌÎÒÐÕ
Ýòà ôóíêöèÿ ïðèøëà ñ îäíèì èç íåäàâíèõ îáíîâëåíèé ïîêà òîëüêî ïîëüçîâàòåëÿì Office 365 è ïîêà îòñóòñòâóåò âî âñåõ îñòàëüíûõ âåðñèÿõ (Excel 2010, 2013, 2016, 2019). Ïî ñðàâíåíèþ ñ êëàññè÷åñêîé ÂÏÐ ó ýòîé ôóíêöèè åñòü ìàññà ïðåèìóùåñòâ (óïðîùåííûé ñèíòàêñèñ, âîçìîæíîñòü èñêàòü íå òîëüêî ñâåðõó-âíèç, âîçìîæíîñòü ñðàçó çàäàòü çíà÷åíèå âìåñòî #Í/Ä è ò.ä.) Ôîðìóëà äëÿ ðåøåíèÿ íàøåé çàäà÷è áóäåò âûãëÿäåòü â ýòîì ñëó÷àå òàê:
Åñëè íå áðàòü â ðàñ÷¸ò íåîáÿçàòåëüíûå 4,5,6 àðãóìåíòû, òî ñèíòàêñèñ ýòîé ôóíêöèè ïîëíîñòüþ ñîâïàäàåò ñ å¸ ïðåäøåñòâåííèêîì — ôóíêöèåé ÏÐÎÑÌÎÒÐ (LOOKUP). Ñêîðîñòü âû÷èñëåíèé ïðè òåñòèðîâàíèè íà íàøè 500000 ñòðîê òîæå îêàçàëàñü àíàëîãè÷íîé:
Âðåìÿ âû÷èñëåíèÿ = 7,6 ñåê.
Ïî÷òè â äâà ðàçà ìåäëåííåå, ÷åì ó ÂÏÐ, âìåñòî êîòîðîé Microsoft ïðåäëàãàåò òåïåðü èñïîëüçîâàòü ÏÐÎÑÌÎÒÐÕ. Æàëü.
È, îïÿòü æå, åñëè ïîëåíèòüñÿ è âûäåëèòü äèàïàçîíû â ïðàéñ-ëèñòå öåëûìè ñòîëáöàìè:
… òî ñêîðîñòü ïàäàåò äî ñîâåðøåííî íåïðèëè÷íûõ óæå çíà÷åíèé:
Âðåìÿ âû÷èñëåíèÿ = 28,3 ñåê.
À åñëè íà äèíàìè÷åñêèõ ìàññèâàõ?
Ïðîøëîãîäíåå (îñåíü 2019) îáíîâëåíèå âû÷èñëèòåëüíîãî äâèæêà Microsoft Excel äîáàâèëî åìó ïîääåðæêó äèíàìè÷åñêèõ ìàññèâîâ (Dynamic Arrays). Ýòî ïðèíöèïèàëüíî íîâûé ïîäõîä ê ðàáîòå ñ äàííûìè, êîòîðûé ìîæíî èñïîëüçîâàòü ïî÷òè ñ ëþáûìè êëàññè÷åñêèìè ôóíêöèÿìè Excel. Íà ïðèìåðå ÂÏÐ ýòî áóäåò âûãëÿäåòü òàê:
Ðàçíèöà ñ êëàññè÷åñêèì âàðèàíòîì â òîì, ÷òî ïåðâûì àðãóìåíòîì ÂÏÐ çäåñü âûñòóïàåò íå îäíî èñêîìîå çíà÷åíèå (à ôîðìóëó ïîòîì íóæíî êîïèðîâàòü âíèç íà îñòàëüíûå ñòðîêè), à ñðàçó âåñü ìàññèâ èç ïîëóìèëëèîíà ãðóçîâ B2:B500000, öåíû äëÿ êîòîðûõ ìû õîòèì íàéòè. Ôîðìóëà ïðè ýòîì ñàìà ðàñïðîñòðàíÿåòñÿ âíèç, çàíèìàÿ òðåáóåìîå êîëè÷åñòâî ÿ÷ååê.
Ñêîðîñòü ïåðåñ÷åòà â òàêîì âàðèàíòå ìåíÿ, îòêðîâåííî ãîâîðÿ, îøåëîìèëà — ïàóçà ìåæäó íàæàòèåì íà Enter ïîñëå ââîäà ôîðìóëû è ïîëó÷åíèåì ðåçóëüòàòîâ ïî÷òè îòñóòñòâîâàëà.
Âðåìÿ âû÷èñëåíèÿ = 1 ñåê.
×òî èíòåðåñíî, è íîâàÿ ÏÐÎÑÌÎÒÐÕ, è ñòàðàÿ ÏÐÎÑÌÎÒÐ, è ñâÿçêà ÈÍÄÅÊÑ+ÏÎÈÑÊÏÎÇ â òàêîì ðåæèìå òîæå áûëè î÷åíü áûñòðûìè — âðåìÿ âû÷èñëåíèé íå áîëüøå 1 ñåêóíäû! Ôàíòàñòèêà.
À âîò îëäñêóëüíûå ïîäõîäû íà îñíîâå ÑÓÌÌÏÐÎÈÇ è ÑÓÌÌÅÑËÈ(ÌÍ) ñ äèíàìè÷åñêèìè ìàññèâàìè ðàáîòàòü îòêàçàëèñü 🙁
×òî ñ óìíûìè òàáëèöàìè?
Îáðàäîâàâøèñü ôàíòàñòè÷åñêèì ðåçóëüòàòàì, ïîëó÷åííûì íà äèíàìè÷åñêèõ ìàññèâàõ, ÿ ðåøèë âäîãîí ïîïðîáîâàòü ïðîòåñòèðîâàòü ðàçíèöó â ñêîðîñòè ïðè ðàáîòå ñ îáû÷íûìè è «óìíûìè» òàáëèöàìè. ß èìåþ ââèäó òå ñàìûå «êðàñèâûå òàáëèöû», â êîòîðûå âû ìîæåòå ïðåîáðàçîâàòü âàø äèàïàçîí ñ ïîìîùüþ êîìàíäû Ôîðìàòèðîâàòü êàê òàáëèöó íà âêëàäêå Ãëàâíàÿ (Home — Format as Table) èëè ñ ïîìîùüþ ñî÷åòàíèÿ êëàâèø Ctrl+T.
Åñëè ïðåäâàðèòåëüíî ïðåâðàòèòü íàøè îòãðóçêè è ïðàéñ â «óìíûå» (ïî óìîë÷àíèþ îíè ïîëó÷àò èìåíà Òàáëèöà1 è Òàáëèöà2, ñîîòâåòñòâåííî), òî ôîðìóëà ñ òîé æå ÂÏÐ áóäåò âûãëÿäåòü êàê:
Çäåñü:
[@Ãðóç] — ññûëêà íà ÿ÷åéêó B2, îçíà÷àþùàÿ, â äàííîì ñëó÷àå, ÷òî íóæíî âçÿòü çíà÷åíèå èç òîé æå ñòðîêè èç ñòîëáöà Ãðóç òåêóùåé óìíîé òàáëèöû.
Òàáëèöà2 — ññûëêà íà ïðàéñ-ëèñò
Æèðíûì ïëþñîì òàêîãî ïîäõîäà áóäåò âîçìîæíîñòü ëåãêî äîáàâëÿòü äàííûå â íàøè òàáëèöû â áóäóùåì. Ïðè äîïèñûâàíèè íîâûõ ñòðîê â îòãðóçêè èëè ê ïðàéñ-ëèñòó, íàøè «óìíûå» òàáëèöû áóäóò ðàñòÿãèâàòüñÿ àâòîìàòè÷åñêè.
Ñêîðîñòü æå, êàê âûÿñíèëîñü, òîæå âûðàñòàåò î÷åíü çíà÷èòåëüíî è ïðèìåðíî ðàâíà ñêîðîñòè ðàáîòû íà äèíàìè÷åñêèõ ìàññèâàõ:
Âðåìÿ âû÷èñëåíèÿ = 1 ñåê.
Ó ìåíÿ åñòü ïîäîçðåíèå, ÷òî äåëî òóò íå â ñàìèõ «óìíûõ» òàáëèöàõ, à âñ¸ â òîì æå îáíîâëåíèè âû÷èñëèòåëüíîãî äâèæêà, ò.ê. íà ñòàðûõ âåðñèÿõ Excel òàêîãî ïðèðîñòà â ñêîðîñòè íà óìíûõ òàáëèöàõ ÿ íå ïîìíþ.
Áîíóñ. Çàïðîñ Power Query
Çàìåðÿòü, òàê çàìåðÿòü! Äàâàéòå, äëÿ ïîëíîòû êàðòèíû, ñðàâíèì íàøè ïåðå÷èñëåííûå ñïîñîáû åùå è ñ çàïðîñîì Power Query, êîòîðûé òîæå ìîæåò ðåøèòü íàøó çàäà÷ó. Êòî-òî ñêàæåò, ÷òî íåêîððåêòíî ñðàâíèâàòü ïåðåñ÷¸ò ôîðìóë ñ ìåõàíèçìîì îáíîâëåíèÿ çàïðîñà, íî ìíå, îòêðîâåííî ãîâîðÿ, ïðîñòî ñàìîìó áûëî èíòåðåñíî — êòî áûñòðåå?
Èòàê:
1. Ïðåâðàùàåì îáå íàøè òàáëèöû â «óìíûå» ñ ïîìîùüþ êîìàíäû Ôîðìàòèðîâàòü êàê òàáëèöó íà âêëàäêå Ãëàâíàÿ (Home — Format as Table) èëè ñ ïîìîùüþ ñî÷åòàíèÿ êëàâèø Ctrl+T.
2. Ïî î÷åðåäè çàãðóæàåì òàáëèöû â Power Query ñ ïîìîùüþ êîìàíäû Äàííûå — Èç òàáëèöû / äèàïàçîíà (Data — From Table/Range).
3. Ïîñëå çàãðóçêè â Power Query âîçâðàùàåìñÿ îáðàòíî â Excel, îñòàâëÿÿ çàãðóæåííûå äàííûå êàê ïîäêëþ÷åíèå. Äëÿ ýòîãî â îêíå Power Query âûáèðàåì Ãëàâíàÿ — Çàêðûòü è çàãðóçèòü — Çàêðûòü è çàãðóçèòü â… — Òîëüêî ñîçäàòü ïîäêëþ÷åíèå (Home — Close&Load — Close&Load to… — Only create connection).
4. Ïîñëå òîãî, êàê îáå èñõîäíûå òàáëèöû áóäóò çàãðóæåíû êàê ïîäêëþ÷åíèÿ, ñîçäàäèì åù¸ îäèí, òðåòèé çàïðîñ, êîòîðûé áóäåò îáúåäèíÿòü èõ ìåæäó ñîáîé, ïîäñòàâëÿÿ öåíû èç ïðàéñà â îòãðóçêè. Äëÿ ýòîãî íà âêëàäêå Äàííûå âûáåðåì Ïîëó÷èòü äàííûå / Ñîçäàòü çàïðîñ — Îáúåäèíèòü çàïðîñû — Îáúåäèíèòü (Get Data / New Query — Merge queries — Merge):
5. Â îòêðûâøåìñÿ îêíå âûáåðåì èñõîäíûå òàáëèöû â âûïàäàþùèõ ñïèñêàõ è âûäåëèì ñòîëáöû, ïî êîòîðûì ïðîèçîéäåò ñâÿçûâàíèå:
Ïîñëå íàæàòèÿ íà ÎÊ ìû âåðíåìñÿ â îêíî Power Query, ãäå óâèäèì íàøó òàáëèöó îòãðóçîê ñ äîáàâëåííûì ê íåé ñòîëáöîì, ãäå â êàæäîé ÿ÷åéêå áóäåò ëåæàòü ôðàãìåíò ïðàéñ-ëèñòà, ñîîòâåòñòâóþùèé ýòîìó ãðóçó. Ðàçâåðíåì âëîæåííûå òàáëèöû ñ ïîìîùüþ êíîïêè ñ äâîéíûìè ñòðåëêàìè â øàïêå ñòîëáöà, âûáðàâ íóæíûå íàì äàííûå (öåíû):
7. Îñòàíåòñÿ âûãðóçèòü ãîòîâóþ òàáëèöó îáðàòíî íà ëèñò ñ ïîìîùüþ óæå çíàêîìîé êîìàíäû Ãëàâíàÿ — Çàêðûòü è çàãðóçèòü (Home — Close&Load).
 îòëè÷èå îò ôîðìóë, çàïðîñû Power Query íå îáíîâëÿþòñÿ àâòîìàòè÷åñêè «íà ëåòó», à òðåáóþò ùåë÷êà ïðàâîé êíîïêîé ìûøè ïî òàáëèöå (èëè çàïðîñó â ïðàâîé ïàíåëè) è âûáîðó êîìàíäû Îáíîâèòü (Refresh). Òàêæå ìîæíî âîñïîëüçîâàòüñÿ êîìàíäîé Îáíîâèòü âñå (Refresh All) íà âêëàäêå Äàííûå (Data).
Âðåìÿ îáíîâëåíèÿ = 8,2 ñåê.
Èòîãîâàÿ òàáëèöà è âûâîäû
Åñëè âû ÷åñòíî äî÷èòàëè äî ýòîãî ìåñòà, òî êàêèå-òî âûâîäû, íàâåðíîå, óæå ñäåëàëè ñàìîñòîÿòåëüíî. Åñëè æå ïðîïóñòèëè âñå äåòàëè è ñðàçó ïåðåøëè ê èòîãàì, òî âîò âàì îáùàÿ ðåçóëüòèðóþùàÿ òàáëèöà ïî ñêîðîñòè âñåõ ìåòîäîâ:
Ñàìî-ñîáîé, ó êàæäîãî èç íàñ ñâîè ïðåäïî÷òåíèÿ, çàäà÷è è òàðàêàíû, íî äëÿ ñåáÿ ÿ ñôîðìóëèðîâàë âûâîäû ïîñëå ýòîãî òåñòèðîâàíèÿ òàê:
— ÂÏÐ âñ¸ åù¸ ãëàâíàÿ ðàáî÷àÿ ëîøàäêà. Ïîñëå ïðîøëîãîäíèõ îáíîâëåíèé, óñêîðÿþùèõ ÂÏÐ, è îñåííèõ îáíîâëåíèé âû÷èñëèòåëüíîãî äâèæêà, ýòà ôóíêöèÿ çàèãðàëà íîâûìè êðàñêàìè è äà¸ò æàðó ïî-ïîëíîé.
— Íå íóæíî ëåíèòüñÿ è âûäåëÿòü ñòîëáöû öåëèêîì — äëÿ âñåõ ñïîñîáîâ áåç èñêëþ÷åíèÿ ýòî óõóäøàåò ðåçóëüòàòû ïî÷òè â 3 ðàçà.
— Ýêçîòè÷åñêèå ñïîñîáû èç ïðîøëîãî òèïà ÑÓÌÌÏÐÎÈÇ è ÑÓÌÌÅÑËÈ — â òîïêó. Îíè ðàáîòàþò î÷åíü ìåäëåííî è, âäîáàâîê, íå ïîääåðæèâàþò äèíàìè÷åñêèå ìàññèâû.
— Äèíàìè÷åñêèå ìàññèâû è óìíûå òàáëèöû — ýòî áóäóùåå.