Excel перенести в ячейку только число

Skip to content

Как быстро извлечь число из текста в Excel

В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь».

Проблема выделения числа из текста возникает достаточно часто, особенно когда вы работаете с данными, полученными из других программ. К примеру, нужно вытащить почтовый индекс из адреса, номенклатурный номер из строки с наименованием товара, номер счета из платежного документа. Нужное нам число может находиться в любом месте текста — в начале, в середине или в конце.

Вот что мы рассмотрим в этой статье:

  • Как извлечь число в конце текста
  • Получаем число из начала текста
  • Как извлечь все числа из текста
  • Извлекаем числа без формул при помощи Ultimate Suite

Когда дело доходит до извлечения части текстового значения заданной длины, Эксель предоставляет три текстовых функции (ЛЕВСИМВ, ПРАВСИМВ и ПСТР) для быстрого выполнения этой задачи. А вот когда дело доходит до извлечения числа из буквенно-цифровой строки, Microsoft Excel … не предоставляет ничего.

Чтобы извлечь число из текста в Excel, требуется немного изобретательности, немного терпения и множество различных функций, вложенных друг в друга. 

Или вы можете запустить инструмент «Извлечь (Extract)» из надстройки Ablebits Ultimate Suite и выполнить эту операцию одним щелчком мыши. Ниже вы найдете полную информацию обо всех этих методах.

Как извлечь число из конца текстовой строки.

Если у вас есть столбец буквенно-цифровых значений, в котором число всегда идет после текста, вы можете использовать одну из следующих формул, чтобы вытащить из них числа.

Важное замечание! В приведенных ниже формулах извлечение выполняется с помощью функций ПРАВСИМВ и ЛЕВСИМВ, которые относятся к категории текстовых функций. Эти функции всегда возвращают текст. В нашем случае результатом будет числовая подстрока, которая с точки зрения Excel также является текстом, а не числом. Если вам нужно, чтобы результат был числом (которое можно использовать в дальнейших вычислениях), оберните соответствующую формулу в функцию ЗНАЧЕН, или выполните с ней простейшую математическую операцию (например, двойное отрицание).

Чтобы извлечь число из строки «текстовое число», первое, что вам нужно знать, — это с какой позиции начать операцию. Итак, давайте определим положение первой цифры с помощью этой общего выражения:

=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9}; ячейка &»0123456789″))

О логике вычислений мы поговорим чуть позже. На данный момент просто замените слово «ячейка» ссылкой на позицию, содержащую исходный текст (в нашем случае A2), и запишите получившееся выражение в любую пустую клетку той же строки, скажем, в B2:

=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))

Хотя формула содержит константу массива, это обычное выражение, которое вводится обычным способом: нажатием клавиши Enter.

Как только позиция первой цифры определена, можно использовать функцию ПРАВСИМВ для извлечения числа. Чтобы узнать, сколько символов нужно извлечь, вы вычитаете позицию первой цифры из общей длины строки и добавляете единицу к результату, потому что первая цифра также должна быть включена:

=ПРАВСИМВ(A2;ДЛСТР(A2)-B2+1)

Где A2 — исходная ячейка, а B2 — позиция первой цифры.

На следующем скриншоте показаны результаты:

Чтобы исключить вспомогательный столбец, содержащий позицию первой цифры, вы можете встроить формулу МИН непосредственно в функцию ПРАВСИМВ следующим образом:

=ПРАВСИМВ(A2;ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))+1)

Чтобы формула возвращала именно число, а не числовую строку, вложите ее в функцию ЗНАЧЕН:

=ЗНАЧЕН(ПРАВСИМВ(A2;ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))+1))

Или просто примените двойное отрицание, использовав два знака «минус»:

=—ПРАВСИМВ(A2;ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))+1)

Другой способ извлечь число из конца строки — использовать вот такое выражение:

=ПРАВСИМВ( ячейка ;СУММ(ДЛСТР( ячейка ) — ДЛСТР(ПОДСТАВИТЬ( ячейка ; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

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

=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

Примечание. Эти формулы предназначены для случая, когда числа находятся только в конце текстовой строки. Если некоторые цифры также находятся в середине или в начале, то ничего не будет работать. 

Этих недостатков не имеет третья формула, которая извлекает только последнее число в тексте, игнорируя все предыдущие:

=ПРАВСИМВ(A2; ДЛСТР(A2) — МАКС(ЕСЛИ(ЕЧИСЛО(ПСТР(A2; СТРОКА(ДВССЫЛ( «1:»&ДЛСТР(A2))); 1) *1)=ЛОЖЬ; СТРОКА(ДВССЫЛ( «1:»&ДЛСТР(A2))); 0)))

На скриншоте ниже вы видите результат ее работы.

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

Примечание. Если вы используете Excel 2019 или более ранние версии, нужно использовать формулу массива, нажав при вводе комбинацию Ctrl+Shift+Enter. Если у вас Office365, вводите как обычно, через Enter.

Как извлечь число из начала текстовой строки

Если вы работаете со строками, в которых текст находится после числа, решение для извлечения числа будет аналогично описанному выше. С той только разницей, что вы используете функцию ЛЕВСИМВ для извлечения из левой части текста:

=ЛЕВСИМВ( ячейка ;СУММ(ДЛСТР( ячейка )-ДЛСТР(ПОДСТАВИТЬ( ячейка ;{«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

Используя этот метод для A2, извлекаем число при помощи такого выражения:

=ЛЕВСИМВ(A2;СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;{«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

Это решение работает для текстовых выражений, которые содержат числа только в начале. Если некоторые цифры также находятся в середине или в конце строки, формула не будет работать. 

Если вы хотите извлечь только числа слева и игнорировать остальные, воспользуйтесь другой формулой:

=ЛЕВСИМВ(A2;ПОИСКПОЗ(ЛОЖЬ;ЕЧИСЛО(—ПСТР(A2;СТРОКА($1:$94);1));0)-1)

Или чуть модифицируем, чтобы ускорить расчеты:

=ЛЕВСИМВ(A2; ПОИСКПОЗ(ЛОЖЬ; ЕЧИСЛО(ПСТР(A2; СТРОКА(ДВССЫЛ( «1:»&ДЛСТР(A2)+1)); 1) *1); 0) -1)

Если у вас Excel 2019 и ниже, вводите ее как формулу массива, используя Ctrl+Shift+Enter. В Office365 и выше можно вводить как обычно.

Примечание. Как и в случае с функцией ПРАВСИМВ, функция ЛЕВСИМВ также возвращает числовую подстроку, которая технически является текстом, а не числом.

Как получить число из любой позиции в тексте

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

=СУММПРОИЗВ(ПСТР(0&A2; НАИБОЛЬШИЙ(ИНДЕКС(ЕЧИСЛО(—ПСТР(A2; СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))); 1)) * СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))); 0); СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))))+1; 1) * 10^СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2)))/10)

Где A2 — исходная текстовая строка.

Для пояснения, как это работает, потребуется отдельная статья. Поэтому вы можете просто скопировать на свой рабочий лист, чтобы убедиться, что это действительно работает :)

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

Однако, изучив результаты, вы можете заметить один незначительный недостаток: если исходный текст в ячейке не содержит числа, формула возвращает ноль, как в строке 7 на скриншоте выше. Чтобы исправить это, вы можете заключить формулу в оператор ЕСЛИ, который проверит, содержит ли исходный текст какое-либо число. Если это так, формула извлекает это число, в противном случае возвращает пустую строку:

=ЕСЛИ(СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;{«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»)))>0; СУММПРОИЗВ(ПСТР(0&A2; НАИБОЛЬШИЙ(ИНДЕКС(ЕЧИСЛО(—ПСТР(A2; СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))); 1)) * СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))); 0); СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))))+1; 1) * 10^СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2)))/10);»»)

В отличие от всех предыдущих примеров, результатом этих формул является число. Чтобы убедиться в этом, просто обратите внимание на выровненные по правому краю значения в столбце B и усеченные ведущие нули (например, 88 вместо 088).

Если число, которое вы хотите извлечь, ограничено какими-то знаками-разделителями, то можно использовать функцию ПСТР. Рассмотрим пример, как получить номер счета из текста платежа.

Мы будем искать позицию знака «№» и позицию следующего за ним первого пробела. То, что находится между ними, как раз и будет номером счёта:

=ПСТР(ПОДСТАВИТЬ(A2;» «;»»);НАЙТИ(«№»;ПОДСТАВИТЬ(A2;» «;»»))+1;НАЙТИ(» «;A2;НАЙТИ(«№»;A2;1))-НАЙТИ(«№»;A2;1)-1)

На скриншоте ниже вы видите, как это работает.

Вот еще один возможный вариант вынимания числа из текста. Необходимо извлечь первое встретившееся число из текста.

Используем формулу

=ПРОСМОТР(2^64;—ЛЕВСИМВ(ПСТР(A1&»_0″;МИН(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1&»_0123456789″));15); {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}))

или заменяем список цифр функцией:

=ПРОСМОТР(2^64;—ЛЕВСИМВ(ПСТР(A1&»_0″;МИН(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1&»_0123456789″));15); СТРОКА($A$1:$IV$16)))

Как видите, получаем только первое число, независимо от его расположения:

И еще один пример. Давайте попробуем достать все числа из текста, разграничив их каким-то разделителем. Например, дефисом “-“.

В этом случае придется использовать формулу массива:

{=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(—ПСТР(A2;СТРОКА($1:$94);1));ПСТР(A2;СТРОКА($1:$94);1);» «)));» «;»-«)}

Мы нашли все числа в тексте, как вы видите на скриншоте ниже:

Откорректировав эту формулу, вы можете использовать любой другой разделитель.

Поскольку между ними есть разделители, то вы легко можете распределить эти числа в отдельные ячейки. Как это сделать — читайте в материале 8 способов разделить ячейку Excel на две или несколько.

Как выделить число из текста с помощью Ultimate Suite

Как вы только что видели, не существует простой и понятной формулы Excel для извлечения чисел из текстовой строки. Если у вас есть трудности с пониманием формул или их настройкой для ваших наборов данных, вам может понравиться этот простой способ получить число из текста в Excel.

С надстройкой Ultimate Suite, добавленной на вашу ленту Excel, вы можете быстро получить число из любой буквенно-цифровой строки:

  1. Перейдите на вкладку Ablebits Data > Text и нажмите Извлечь (Extract) :

  1. Выделите все ячейки с данными, которые нужно обработать.
  2. На панели инструмента «Извлечь (Extract)» установите переключатель «Извлечь числа (Extract numbers)».
  3. В зависимости от того, хотите ли вы, чтобы результаты были формулами или значениями, выберите поле «Вставить как формулу (Insert as formula)» или оставьте его пустым (по умолчанию).

Я советую активировать это поле, если вы хотите, чтобы извлеченные числа обновлялись автоматически, как только в исходные значения вносятся какие-либо изменения. Если нужно, чтобы результаты не зависели от будущих изменений (например, если вы планируете удалить исходные данные позже), не используйте эту опцию.

  1. Нажмите кнопку «Вставить результаты (Insert Results)». Готово!

Как и в предыдущем примере, результаты извлечения являются числами. Это означает, что вы можете подсчитывать, суммировать, усреднять или выполнять любые другие вычисления с ними.

Если установлен флажок «Вставить как формулу», вы увидите выражение в строке формул. Любопытно узнать, какое именно? Просто скачайте пробную версию Ultimate Suite и убедитесь сами :)

Если вы хотите иметь это, а также еще более 60 полезных инструментов в Excel, воспользуйтесь этой надстройкой.

Я постарался дать вам максимально полные рекомендации, какими способами можно извлечь число из текста. Конечно, они не могут охватить все возможные случаи. Поэтому если встретилось что-то особенно заковыристое — не стесняйтесь писать в комментариях. Постараюсь помочь по мере сил.

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как умножить число на процент и прибавить проценты Ранее мы уже научились считать проценты в Excel. Рассмотрим несколько случаев, когда известная нам величина процента помогает рассчитать различные числовые значения. Чему равен процент от числаКак умножить число на процентКак…
Как считать проценты в Excel — примеры формул В этом руководстве вы познакомитесь с быстрым способом расчета процентов в Excel, найдете базовую формулу процента и еще несколько формул для расчета процентного изменения, процента от общей суммы и т.д.…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Хитрости »

1 Май 2011              398116 просмотров


Как оставить в ячейке только цифры или только текст?

Вот бывает так: есть у Вас в ячейке некий текст. Допустим «Было доставлено кусков мыла 763шт.». Вам нужно из этого только 763 — чтобы можно было провести с этим некие математические действия. Если это только одна ячейка — проблем тут нет, а если таких ячеек пару тысяч? И к тому же все разные?

  • Было доставлено кусков мыла 763шт.
  • Всего пришло 34
  • Тюбики — 54 доставлено
  • и т.д.

Никакой зацепки для извлечения данных. Пару тысяч таких строк удалять вручную весьма утомительное занятие, надо сказать. Да еще и не быстрое.
Есть несколько вариантов решения подобной задачи.


СПОСОБ 1: не используем макросы
можно применить формулу массива, вроде такой:
=ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(A1;СТРОКА($1:$99);1));СТРОКА($1:$99)));ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(A1;СТРОКА($1:$99);1));СТРОКА($1:$99))-МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(A1;СТРОКА($1:$99);1));СТРОКА($1:$99)))+1)
Три важных момента:

  1. Формула вводится в ячейку сочетанием клавиш Ctrl+Shift+Enter, т.к. является формулой массива. Подробнее про эти формулы читайте в статье: Что такое формула массива
  2. в таком виде формула работает с текстом, количество символов в котором не превышает 99. Чтобы расширить необходимо в формуле во всех местах заменить СТРОКА($1:$99) на СТРОКА($1:$200). Т.е. вместо 99 указать количество символов с запасом. Только не увлекайтесь, иначе может получиться, что формула будет работать слишком долго
  3. формула не обработает корректно текст «Было доставлено кусков мыла 763шт., а заказывали 780» и ему подобный, где числа раскиданы по тексту.

Теперь коротко разберем формулу на примере фразы: Было доставлено кусков мыла 763шт.

  • в A1 сам текст, из которого необходимо извлечь числа: Было доставлено кусков мыла 763шт., а заказывали 780
  • блок: МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(A1;СТРОКА($1:$99);1));СТРОКА($1:$99)))
    вычисляет позицию первой цифры в ячейке — 29
  • блок: ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(A1;СТРОКА($1:$99);1));СТРОКА($1:$99))
    вычисляет позицию последней цифры в ячейке — 31
  • в результате получается: =ПСТР(A1;29;3129+1)
    функция ПСТР извлекает из текста, указанного первым аргументом(A1) текст, начиная с указанной позиции(29) с количеством символов, указанным третьим аргументом(3129+1)
  • И в итоге:
    =ПСТР(A1;29;3129+1)
    => =ПСТР(A1;29;2+1)
    => =ПСТР(A1;29;3)
    => 763

Может быть задача проще — необходимо извлечь односоставной текст, убрав цифры вначале и в конце строки, учитывая, что сам текст всегда следует после разделителя(например, тире):

12.08-АГСВ2
12.08-АГСВ1
01.03-ОВ2
12.03-КЖ6.1

Из этих данных надо получить только текст после тире(-) и отсечь цифры на конце:

АГСВ
АГСВ
ОВ
КЖ

Формула будет работать почти по тому же принципу, что и формула выше, но она проще:

=ПСТР(A1;ПОИСК(«-«;A1)+1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(A1;ПОИСК(«-«;A1)+1;999);СТРОКА($1:$99);1));0)-1)

В данном случае мы при помощи

ПОИСК(«-«;A1)

ищем сначала позицию тире, далее при помощи

ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(A1;ПОИСК(«-«;A1)+1;999);СТРОКА($1:$99);1));0)

находим именно в отсеченном тексте позицию первой цифры. Передаем эти значения в

ПСТР

, которая отбирает из этого текста все от первого тире(+1) до первого числа, идущего после текста.


СПОСОБ 2: используем макросы
Самый главный недостаток метода при помощи формулы, приведенной выше — из текста «Было доставлено кусков мыла 763шт., а заказывали 780» формула вернет не только числа, а и текст между первой и последней цифрой: 763шт., а заказывали 780.
Решить же проблему извлечения цифр даже из такого текста при помощи VBA куда проще и гибче. Плюс можно не только цифры извлекать, но и наоборот — цифры удалить, а извлечь только текст. Ниже приведен код пользовательской функции, которая поможет извлечь из строки только числа либо только текст. Иными словами, результатом функции будет либо только текст, либо только числа.

Function Extract_Number_from_Text(sWord As String, Optional Metod As Integer)
'sWord = ссылка на ячейку или непосредственно текст
'Metod = 0 – числа
'Metod = 1 – текст
    Dim sSymbol As String, sInsertWord As String
    Dim i As Integer
 
    If sWord = "" Then Extract_Number_from_Text = "Нет данных!": Exit Function
    sInsertWord = ""
    sSymbol = ""
    For i = 1 To Len(sWord)
        sSymbol = Mid(sWord, i, 1)
        If Metod = 1 Then
            If Not LCase(sSymbol) Like "*[0-9]*" Then
                If (sSymbol = "," Or sSymbol = "." Or sSymbol = " ") And i > 1 Then
                    If Mid(sWord, i - 1, 1) Like "*[0-9]*" And Mid(sWord, i + 1, 1) Like "*[0-9]*" Then
                        sSymbol = ""
                    End If
                End If
                sInsertWord = sInsertWord & sSymbol
            End If
        Else
            If LCase(sSymbol) Like "*[0-9.,;:-]*" Then
                If LCase(sSymbol) Like "*[.,]*" And i > 1 Then
                    If Not Mid(sWord, i - 1, 1) Like "*[0-9]*" Or Not Mid(sWord, i + 1, 1) Like "*[0-9]*" Then
                        sSymbol = ""
                    End If
                End If
                sInsertWord = sInsertWord & sSymbol
            End If
        End If
    Next i
    Extract_Number_from_Text = sInsertWord
End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions) и применять как обычную функцию на листе.
Для извлечения только чисел
=Extract_Number_from_Text(A1; 0)
или
=Extract_Number_from_Text(A1)
Для извлечения только текста
=Extract_Number_from_Text(A1; 1)

Подробнее про создание пользовательских функции и их применении можно почитать в статье Что такое функция пользователя(UDF)?


Помимо функции пользователя решил выложить и вариант с использованием диалогового окна:

Выбрать ячейку или диапазон с текстом(Лист1!$A$2:$A$10) — здесь указывается диапазон с исходными значениями, из которого необходимо оставить только числа или только текст.

Выберите ячейку для вывода данных(Лист1!$A$2) — указывается одна ячейка, с которой начать вывод преобразованных значений. В качестве этой ячейки можно выбрать первую ячейку диапазона с текстом(исходного) если необходимо произвести изменения сразу в этих же ячейках(как на рисунке). Осторожнее с таким указанием, т.к. результат работы кода может быть не совсем таким, какой вы ожидали, а вернуть прежние данные уже не получится — если только не закрыть файл без сохранения изменений.

Оставить только цифры, Оставить только текст— думаю не надо пояснять. Здесь выбираем, что оставить в качестве результата.

Небольшое дополнение к использованию кода
В коде есть строка:

If LCase(sSymbol) Like "*[0-9.,;:-]*" Then

Данная строка отвечает за текстовые символы, которые могут встречаться внутри чисел и которые надо оставить(не удалять наравне с другими не числовыми символами). Следовательно, если какие-то из данных символов не нужны в конечном тексте — их надо просто удалить. Например, чтобы оставались исключительно числа(без запятых и пр.):

If LCase(sSymbol) Like "*[0-9]*" Then

если надо исключить из удаления помимо цифр точку(т.е. будут извлечены цифры и точка):

If LCase(sSymbol) Like "*[0-9.]*" Then

и т.д.
Скачать пример:

  Число из текста и наоборот.xls (99,0 KiB, 17 665 скачиваний)

Также см.:
Извлечение числа из текста
Что такое функция пользователя(UDF)?
Как получить адрес гиперссылки из ячейки
Оставить цифры или текст при помощи PowerQuery


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

На чтение 6 мин Просмотров 1.7к. Опубликовано 23.03.2022

Очень жаль, но в Excel на данный момент нет функции, чтобы «достать» число из ячейки, в которой содержится текст.

Но, мы можем использовать комбинацию функций или Visual Basic для выполнения этой задачи.

О чем я?

Допустим, у нас есть обычная ячейка с текстом, в которой есть еще и число (пример на картинке ниже):

И нам необходимо это число записать в отдельной ячейке.

Итак, начнем!

Содержание

  1. Как извлечь число из текстовой строки в Excel 2016
  2. Что функция делает?
  3. Как извлечь число из текстовой строки в Excel более ранних версий
  4. Как разделить строку на текст и число с помощью Visual Basic
  5. Извлекаем только число из текстовой строки используя Visual Basic
  6. Извлекаем только текст из строки используя Visual Basic

Как извлечь число из текстовой строки в Excel 2016

Этот способ будет работать только в Excel 2016 и выше, потому что функция, которую мы будем использовать, была добавлена только в этой версии программы.

Мы будем использовать функцию ОБЪЕДИНИТЬ. Что она делает? Она извлекает все численные значения из строки. Например, у нас есть строка: «Витя купил мороженку за 100 рублей, а Вася за 20 рублей». Результатом выполнения функции будет число «10020».

Формула:

=ОБЪЕДИНИТЬ("";ИСТИНА;ЕСЛИОШИБКА((ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1)*1);""))

Так как мы работаем с массивом, после написания формулы в ячейку нажмите CTRL + SHIFT + ENTER.

В случае, когда в строке нет ни одной цифры, результатом выполнения функции будет пустая строка.

Что функция делает?

Давайте разберем функцию по частям:

  • СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))) — вычисление начнется с функции ДЛСТР, она вернет нам длину строки. Функция строка вернет массив чисел начиная с 1 и заканчивая тем числом, которое равняется длине нашей строки.
  • (ПСТР(A2,СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2)))),1)*1) — в этой части функции «отметаются» все текстовые значения, они все «падают» в ошибку #!ЗНАЧЕНИЕ. А численные значения остаются.
  • ЕСЛИОШИБКА((ПСТР(A2,СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2))),1)*1),»») — в этой части функции все ошибки, полученные ранее удаляются и остаются только численные значения.
  • =ОБЪЕДИНИТЬ(«»;ИСТИНА;ЕСЛИОШИБКА((ПСТР(A2;СТРОКА(ДВССЫЛ(«1:»&ДЛСТР(A2)));1)*1);»»)) — и, наконец, все значения полученные ранее просто объединяются функцией ОБЪЕДИНИТЬ.

Важная информация: если у вас что-то не получается, вы можете проверить вывод отдельных частей функции с помощью горячей клавиши F2.

По аналогии мы можем получить только текстовое значение из строки (удаляя все числа). Формула функции будет такой:

=ОБЪЕДИНИТЬ("";ИСТИНА;ЕСЛИ(ЕОШИБКА(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1)*1);ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1);""))))

Разница между этими формулами в том, что функция ЕСЛИ проверяет ошибка ли полученное от ПСТР значение или нет.

Также, как и в прошлом варианте, функция ОБЪЕДИНИТЬ используется для объединения значений.

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

Как извлечь число из текстовой строки в Excel более ранних версий

Итак, в более ранних версиях Excel функции ОБЪЕДИНИТЬ еще нет. Поэтому придется использовать кое-что другое.

Допустим, у нас та же задача:

В таком случае, формула будет такой:

=ЕСЛИ(СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2; {"0","1","2","3","4","5","6","7","8","9"}, "")))>0; СУММПРОИЗВ(ПСТР(0&A2; НАИБОЛЬШИЙ(ИНДЕКС(ЕЧИСЛО(--ПСТР(A2;СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(A2)));1))* СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(A2)));0); СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(A2))))+1;1) * 10^СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(A2)))/10);"")

Также, как и в Excel 2016 если функция не нашла чисел, результатом будет пустая строка.

Функция довольно сложная и «тяжелая» — поэтому, при работе с большими объемами данных, её выполнение может занять какое-то время.

Как разделить строку на текст и число с помощью Visual Basic

Как обычно, если вам нужно делать разделение строки очень часто, вы можете использовать для этого собственную функцию, которую мы создадим с помощью Visual Basic.

В конечном итоге, с помощью Visual Basic, мы получим одну маленькую функцию, которая будет делать все что вам нужно и не придется писать огромные формулы.

Итак, сейчас я продемонстрирую вам как создать две разные функции. Одна будет извлекать из строки только числа, а вторая только текст.

Извлекаем только число из текстовой строки используя Visual Basic

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

Код Visual Basic:

Function GetNumeric(CellRef As String) Dim StringLength As Integer StringLength = Len(CellRef) For i = 1 To StringLength If IsNumeric(Mid(CellRef, i, 1)) Then Result = Result & Mid(CellRef, i, 1) Next i GetNumeric = Result End Function  

Пошаговая инструкция:

  • Щелкните на «Разработчик»;

  • Далее — «Visual Basic» (или горячие клавиши ALT + F11);

  • В окошке Visual Basic правой кнопкой мышки на ваш лист;

  • Далее «Insert» -> «Module»;

  • В открывшееся окошко поместите наш код;

  • Закройте Visual Basic;

Итак, мы создали функцию для получения всех чисел из текстовой строки и назвали её GetNumeric. Теперь давайте попробуем использовать её.

В результате её выполнения мы получили число из строки текста.

Не забывайте, что на данный момент нам необходимо сохранить файл Excel с соответствующим расширением, так как в нем используется Visual Basic макрос.

Также можно сохранить эту функцию в книгу макросов Excel. Таким образом, её использование будет еще быстрее и удобнее.

Извлекаем только текст из строки используя Visual Basic

А теперь давайте создадим функцию, которая будет получать только текст из строки(без чисел).

Код Visual Basic:

Function GetText(CellRef As String) Dim StringLength As Integer StringLength = Len(CellRef) For i = 1 To StringLength If Not (IsNumeric(Mid(CellRef, i, 1))) Then Result = Result & Mid(CellRef, i, 1) Next i GetText = Result End Function

Пошаговая инструкция:

  • Щелкните на «Разработчик»;

  • Откройте «Visual Basic»;

  • В окошке Visual Basic нажмите правой кнопкой мышки на ваш лист;

  • Далее «Insert» -> «Module»;

  • И поместите наш код в открывшееся окошко;

  • Закройте Visual Basic.

Эта функция будет разделять строку на текст и числа, а после возвращать нам в результате только текст.

Давайте проверим как она работает:

Не забывайте, что на данный момент нам необходимо сохранить файл Excel с соответствующим расширением, так как в нем используется Visual Basic макрос.

Также можно сохранить эту функцию в книгу макросов Excel. Таким образом, её использование будет еще быстрее и удобнее.

Часто перед пользователями табличного редактора Эксель встает такая задача, когда необходимо удалить всю текстовую информацию в ячейках, а числовые данные оставить. Для осуществления этой процедуры существует множество способов. В статье мы детально разберем каждый метод, позволяющий оставить числа и убрать текст в ячейках.

Содержание

  1. Способы удаления текста и сохранения числовой информации
  2. Первый метод: использование специальной формулы
  3. Второй метод: использование специального макроса
  4. Заключение и выводы о процедуре извлечение

Способы удаления текста и сохранения числовой информации

Представим, что у нас есть такая информация, располагающаяся в ячейке: «Было доставлено кусков мыла 763шт». Нам необходимо сделать так, чтобы осталось только значение 763 для проведения разнообразных математических операций. Хорошо, если нужно избавиться от текстовых данных только в одной ячейке, тогда можно реализовать удаление ручным способом, но этот вариант не подходит, когда в табличке находится слишком много разной информации. Здесь необходимо применять различные специальные функции табличного редактора.

Первый метод: использование специальной формулы

Для реализации этой процедуры можно применять специальную массивную формулу. Примерная формула выглядит так:

=ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)));ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99))-МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)))+1)

Разберем основные моменты:

  1. Специальную формулу необходимо вбивать в поле при помощи комбинации кнопок «Ctrl+Shift+Enter».
  2. Стоит заметить, что в таком виде массивная формула может использоваться только с текстовой информацией, в которой число знаков не больше 99. Для увеличения диапазона нужно, к примеру, заменить параметр «СТРОКА($1:$99)» на «СТРОКА($1:$200)». Иными словами, мы вместо показателя 99 вводим число знаков с запасом. Если ввести слишком большой диапазон, то обработка формулы может занять длительное время.
  3. Если в текстовых данных числовые значения разбросаны по всему тексту, то формула не сможет правильно обработать информацию.

Детально рассмотрим специальную массивную формулу на таком примере: «Было доставлено кусков мыла 763шт., а заказывали 780»

  1. В поле А1 располагается сама текстовая информация, из которой мы будем извлекать числовые данные.
  2. Фрагмент: МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99))) позволяет определить позицию 1-го значения в поле. Получаем значение 29.
  3. Фрагмент: ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)) позволяет определить позицию последнего значения в поле. Получаем значение 31.
  4. Мы получаем такую формулу: =ПСТР(А1;29;31-29+1). Оператор ПСТР позволяет извлечь из текстовой информации, указанной 1-м аргументом, начиная с заданной позиции (29) с числом знаков, заданным 3-м аргументом.
  5. В результате мы получаем:
    =ПСТР(А1;29;31-29+1)

    • =ПСТР(А1;29;2+1)
    • =ПСТР(А1;29;3)
    • 763

Бывают ситуации обратные, когда нужно реализовать операцию извлечения односоставных текстовых данных, исключив числа.

Как оставить в ячейке Excel только числа, а весь текст удалить

Нам необходимо сохранить только текстовую информацию.

Как оставить в ячейке Excel только числа, а весь текст удалить

Специальная формула применяется по аналогичному алгоритму, что и вышерассмотренная. Она выглядит так: =ПСТР(А1;ПОИСК(«-«;А1)+1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(А1;ПОИСК(«-«;А1)+1;999);СТРОКА($1:$99);1));0)-1)

Здесь мы, благодаря фрагменту ПОИСК(«-«;А1) отыскали локацию тире, а затем при помощи оператора ПОИСКПОЗ нашли в извлеченных текстовых данных позицию 1-го числа. Передали эти показатели в оператор ПСТР, который реализовал все дальнейшие преобразования.

Второй метод: использование специального макроса

Эту процедуру можно реализовать при помощи специального макроса, созданного в табличном редакторе Эксель. К примеру, у нас есть табличка, в которой существует колонка с текстовой информацией и числовыми данными. Нам нужно оставить только числовые данные, убрав при этом текст.

Как оставить в ячейке Excel только числа, а весь текст удалить

В табличном редакторе отсутствует интегрированная функция, поэтому нам необходимо создать такой пользовательский макрос:

Public Function GetNumbers(TargetCell As Range) As String

Dim LenStr As Long

For LenStr = 1 To Len(TargetCell)

Select Case Asc(Mid(TargetCell, LenStr, 1))

Case 48 To 57

GetNumbers = GetNumbers & Mid(TargetCell, LenStr, 1)

End Select

Next

End Function

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

  1. Используя специальную комбинацию клавиш «Alt+F11», производим открытие редактора VBA. Альтернативный вариант – нажать ПКМ по рабочему листу и выбрать элемент «Исходный текст».
  2. Реализуем создание нового модуля. Для осуществления этой процедуры жмем левой клавишей мышки на элемент, имеющий наименование «Insert», а затем выбираем объект «Module».
  3. Производим копирование кода, который располагается выше, и вставляем его в созданный модуль. Копирование реализуем при помощи сочетания клавиш «Ctrl+C», а вставку – «Ctrl+V».
  4. Теперь в необходимой ячейке, в которой мы планируем вывести только числовую информацию, вбиваем такую формулу: =GetNumbers(А1).
  5. Нам нужно растянуть формулу вниз на все ячейки колонки. Для этого наводим указатель на нижний правый уголок ячейки. Курсор принял форму небольшого плюсика темного цвета. Зажимаем левую клавишу мышки и протягиваем формулу вниз до окончания таблички.

Как оставить в ячейке Excel только числа, а весь текст удалить

  1. Готово! Мы реализовали извлечение числовой информации при помощи специального макроса.

Заключение и выводы о процедуре извлечение

Мы выяснили, что существует несколько способов, позволяющих реализовать извлечение числовой информации. Осуществить эту операцию можно при помощи создания специальных макросов в редакторе VBA или же используя массивную формулу. Каждый пользователь может самостоятельно выбрать для себя наиболее удобный способ, который позволит ему убрать текстовую информацию из ячейки и оставить при этом числовые данные.

Оцените качество статьи. Нам важно ваше мнение:

0 / 0 / 0

Регистрация: 29.03.2011

Сообщений: 3

1

Извлечение части данных из одной ячейки

29.03.2011, 21:29. Показов 97411. Ответов 60


Студворк — интернет-сервис помощи студентам

Подскажите, пожалуйста, как с помощью формулы извлеч из ячейки часть данных. Как правило данные, в моем случае, что числа, иногда с использованием «(» или «-«. Например: значение в ячейке — «(123)0008», необходимо перенести в отдельную ячейку только данные после скобки — «0008». Или другой пример: «123456», надо что бы в отдельной ячейке были только три последние цифры «456».

Буду очень благодарна за помощь!



0



здесь больше нет…

3372 / 1670 / 184

Регистрация: 03.02.2010

Сообщений: 1,219

29.03.2011, 21:55

2

ф-ция ПСТР



0



1250 / 408 / 52

Регистрация: 14.06.2009

Сообщений: 629

29.03.2011, 22:01

3

…..



0



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

29.03.2011, 23:13

4

Цитата
Сообщение от Анастасия999
Посмотреть сообщение

…значение в ячейке — «(123)0008», необходимо перенести в отдельную ячейку только данные после скобки — «0008».

Код

=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(")";A1))

В А1 (123)0008

Цитата
Сообщение от Анастасия999
Посмотреть сообщение

«123456», надо что бы в отдельной ячейке были только три последние цифры «456»

В А2 123456



0



0 / 0 / 0

Регистрация: 29.03.2011

Сообщений: 3

06.04.2011, 11:36

 [ТС]

5

Serge 007 и Все имена заняты, спасибо вам ОГРОМНОЕ за все предложенные варианты, это действительно очень облегчило мне работу.

Можно еще одну задачку:

Есть последовательность номеров от 06164 до 06211. Нужно чтобы в ячейках в столбец отображалось следующее: в первой — «06164-06175»; во второй — «06176-06187»; в т ретьей — «06188-6195» и тд до «06200-06211» Т.е. к первому числу прибавляем 11 и в ячейке должен отобразиться интервал, затем снова прибавляем 11 и т.д…

Заранее спасибо)

Добавлено через 1 минуту
Перед 6195 нолик пропуститила.



0



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

06.04.2011, 12:03

6

См вложение



0



0 / 0 / 0

Регистрация: 29.03.2011

Сообщений: 3

07.04.2011, 09:12

 [ТС]

7

Спасибо за быстрый ответ!



0



0 / 0 / 0

Регистрация: 20.04.2015

Сообщений: 13

20.04.2015, 08:54

8

Добрый день, подниму тему вопрос из этой же темы, но не много сложнее. необходимо выделять значение из середины текста в другую ячейку
Пример текста

«Плательщик Зарипова Зеляйха Сафовна Оплата ком. услуг по Агентскому дог. N123-666-14 от 01,10,2014 за февраль л. с1122100098 Пермь А.Ушакова 30-34 НДС не облагается»

1122100098 надо выделить в отдельную ячейку.

используя формулу

=ПСТР(J17;НАЙТИ(«1122»;J17)+1;ДЛСТР(J17)-НАЙТИ(«1122»;J17))

у меня остается хвост

122100098 Пермь А.Ушакова 30-34 НДС не облагается

что необходимо добавить что бы оставалось только необходимое мне значение?



0



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

20.04.2015, 09:37

9

Лучший ответ Сообщение было отмечено chumich как решение

Решение

Так не получится?

Код

=ПСТР(J17;НАЙТИ("1122";J17)+1;9)



1



0 / 0 / 0

Регистрация: 20.04.2015

Сообщений: 13

20.04.2015, 09:42

10

Получается, спасибо



0



0 / 0 / 0

Регистрация: 09.11.2013

Сообщений: 40

09.09.2015, 19:06

11

Здравствуйте.
Требуется Ваша помощь:
В одной ячейке вот это 1I2430-110-Бело-синий, 110, Бело-синий, надо в одну ячейку цифры (110), а другую слова, первые 6 цифр не нужны. Во вложении образец.

Заранее благодарна.



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

09.09.2015, 19:26

12

Лучший ответ Сообщение было отмечено chumich как решение

Решение

Код

=ПСТР(ПСТР(A2;ПОИСК(", ";A2)+2;99);ПОИСК(",";ПСТР(A2;ПОИСК(", ";A2)+2;99))+2;99)

и

Код

=ЛЕВБ(ПСТР(A2;ПОИСК(", ";A2)+2;99);ПОИСК("?,";ПСТР(A2;ПОИСК(", ";A2)+2;99)))



1



0 / 0 / 0

Регистрация: 09.11.2013

Сообщений: 40

09.09.2015, 19:49

13

спасибо



0



0 / 0 / 0

Регистрация: 09.11.2013

Сообщений: 40

13.09.2015, 12:01

14

Здравствуйте.

Опять, я к Вам за помощью…

В одной ячейке вот это 1I2430-110-Бело-синий, 110, Бело-синий, надо в одну ячейку цифры (110), надо собрать цвета и цифры из нескольких ячеек в одну, ну т.е.цвета в одну ячейку, а цифры в другую..
Диапазон ограничен жирной рамкой, несколько ячеек обведено жирной рамкой из них надо в одну ячейку собрать разные цвета (если в выделеном диапазоне 2 цвета, то в одной ячейке, тоже должно быть 2 цвета) а в другую разные цифры, в одной ячейке должны быть собраны разные цифры.

Левые значения до первой запятой не нужны.



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

13.09.2015, 14:05

15

Без макроса только так.



1



0 / 0 / 0

Регистрация: 09.11.2013

Сообщений: 40

13.09.2015, 20:47

16

Ой, не туда, попала

Добавлено через 8 минут
Спасибо, но так не очень удобно, все равно придется редактировать и убирать повторяющиеся значения. Но все равно спасибо за помощь.



0



0 / 0 / 0

Регистрация: 06.11.2015

Сообщений: 1

06.11.2015, 12:06

18

А как извелечь цифры из ячейки?

Нужно получить «3358»» из «3358 — Специальные процедуры/ Дайвинг».



0



2079 / 1232 / 464

Регистрация: 20.12.2014

Сообщений: 3,237

06.11.2015, 12:16

19

Цитата
Сообщение от elleb
Посмотреть сообщение

А как извелечь цифры из ячейки?

Какая, в данном случае, разница: цифры или буквы? У вас цифры — часть текста.

Код

=ЛЕВСИМВ(B3;НАЙТИ("-";B3)-2)



0



772 / 615 / 294

Регистрация: 05.01.2014

Сообщений: 1,338

06.11.2015, 12:34

20

Можно так для чисел.

Код

=ПСТР(B3;1;ПОИСК("-";B3)-2)

Для текста.

Код

=ПСТР(B3;ПОИСК("-";B3)+2;999)



0



Пункты меню «Вставить»

  1. Выделите ячейки с данными и атрибутами, которые требуется скопировать.

  2. На вкладке Главная нажмите кнопку Копировать  Значок "Копировать".

  3. Щелкните первую ячейку в области, куда требуется вставить скопированное содержимое.

  4. На вкладке Главная щелкните стрелку рядом с кнопкой Вироватьи сделайте следующее. Содержимое меню Вставить зависит от типа данных в выбранных ячейках.

    На вкладке "Главная" выберите "Вставка"

Пункт меню

Что вставляется

Вставить

Все содержимое и формат ячеек, включая связанные данные.

Формулы

Только формулы.

Формулы и форматы чисел

Только формулы и форматы чисел.

Сохранить исходное форматирование

Все содержимое и формат ячеек.

Без рамок

Все содержимое и формат ячеек, кроме границ ячеек.

Сохранить ширину столбцов оригинала

Только атрибуты ширины столбцов.

Транспонировать

Вставка содержимого скопированных ячеек с изменением ориентации. Данные строк будут вставлены в столбцы, и наоборот.

Вставить значения

Только значения в том виде, как они отображаются в ячейках.

Значения и форматы чисел

Только значения и форматы чисел.

Значения и исходное форматирование

Только значения, цвет и размер шрифта.

Форматирование

Все атрибуты форматирования ячеек, включая форматы чисел и исходное форматирование.

Вставить связь

Вставляемые значения связываются с исходными. При вставке связи в копируемые данные Excel вводит абсолютную ссылку на копируемую ячейку или диапазон ячеек в новом месте.

Вставить как рисунок

Скопированные данные как изображение.

Связанный рисунок

Скопированные данные как изображение со ссылкой на исходные ячейки (изменения, внесенные в исходных ячейках, отражаются и в ячейках, куда вставлено изображение).

ширины столбцов

Вставка ширины столбца или диапазона столбцов в другой столбец или диапазон столбцов.

Объединить условное форматирование

Условное форматирование из скопированных ячеек объединяется с условным форматированием в области вставки.

Параметры специальной вставки

  1. Выделите ячейки с данными и атрибутами, которые требуется скопировать.

  2. На вкладке Главная нажмите кнопку Копировать  Значок "Копировать".

  3. Щелкните первую ячейку в области, куда требуется вставить скопированное содержимое.

  4. На вкладке Главная щелкните стрелку рядом с кнопкой В таблицуи выберите специальную ветвь.

    На вкладке "Главная" выберите "Вставка"

  5. Выберите нужные параметры.

    Поле "Специальная вставка"

Параметры вставки

Пункт меню

Что вставляется

Все

Все содержимое и формат ячеек, включая связанные данные.

Формулы

Только формулы.

значения

Вставка только значений в том виде, как они отображаются в ячейках.

форматы

Содержимое и формат ячеек.

примечания

Вставка только примечаний к ячейкам.

проверка

Только правила проверки данных.

с исходной темой

Все содержимое и форматирование ячеек с использованием темы, примененной к исходным данным.

без рамки

Содержимое и формат ячеек, кроме границ ячеек.

ширины столбцов

Атрибуты ширины столбца или диапазона столбцов в другой столбец или диапазон столбцов.

формулы и форматы чисел

Только формулы и форматы чисел.

значения и форматы чисел

Только значения и форматы чисел из выделенных ячеек.

все, объединить условное форматирование

Условное форматирование из скопированных ячеек объединяется с условным форматированием в области вставки.

Параметры операций

Параметры операций позволяют выполнить математические действия со значениями из областей копирования и вставки.

Параметр

Результат

Нет

Вставка содержимого скопированной области без математического действия.

сложить

Добавление значений из области копирования к значениям в области вставки.

вычесть

Вычитание значений из области копирования из значений в области вставки.

умножить

Умножение значений из области вставки на значения из области копирования.

разделить

Деление значений из области вставки на значения из области копирования.

Доступны и другие параметры:

Параметр

Результат

Пропускать пустые ячейки

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

Транспонировать

Вставка содержимого скопированных ячеек с изменением ориентации. Данные строк будут вставлены в столбцы, и наоборот.

Вставить связь

Если данные представляют собой рисунок, он связывается с исходным рисунком. В случае изменения исходного рисунка вставленный также меняется.

Совет: Некоторые параметры доступны как в меню В paste, так и в диалоговом окне Специальная ветвь. Их названия могут слегка различаться, но результат оказывается одинаковым.

  1. Выделите ячейки с данными и атрибутами, которые требуется скопировать.

  2. На панели инструментов Стандартная нажмите кнопку Копировать Кнопка "Копировать".

  3. Щелкните первую ячейку в области, куда требуется вставить скопированное содержимое.

  4. На вкладке Главная в области Правканажмите кнопку В таблицуи выберите специальную ветвь.

    Вкладка "Главная", группа "Изменить"

  5. В диалоговом окке Специальная ветвь в области Ветвьсделайте следующее:

    Команда

    Действие

    Все

    В этом формате включаем все содержимое и формат ячейки, включая связанные данные.

    Формулы

    Вставка только формул в том виде, как они вводятся в строку формул.

    Значения

    В этом окте можно вировать только значения, отображаемые в ячейках.

    форматы

    В этом формате можно в нее в форматировать только ячейки.

    Примечания

    Вставка только примечаний к ячейкам.

    Проверка

    В этой области можно вировать правила проверки данных для скопированные ячейки.

    с исходной темой

    В этом формате можно в виде темы, примененной к исходным данным, в виде вложенного содержимого и форматирования ячейки.

    без рамки

    В этом формате можно в нее в форматировать все содержимое и содержимое ячейки, кроме границ ячеев.

    ширины столбцов

    Вставка ширины столбца или диапазона столбцов в другой столбец или диапазон столбцов.

    формулы и форматы чисел

    В этом формате можно вировать только формулы и параметры форматирования для выбранных ячеек.

    значения и форматы чисел

    В этом формате можно вировать только значения и параметры форматирования из выбранных ячеек.

    Объединить условное форматирование

    Условное форматирование из скопированных ячеек объединяется с условным форматированием в области вставки.

    Чтобы математически объединить значения между областями копирования и вжатия, в диалоговом окне Специальная вация в области Операция выберите математическую операцию, которую вы хотите применить к скопированные данные.

    Команда

    Результат

    Нет

    Вставка содержимого скопированной области без математического действия.

    сложить

    Добавление значений из области копирования к значениям в области вставки.

    вычесть

    Вычитание значений из области копирования из значений в области вставки.

    умножить

    Умножение значений из области вставки на значения из области копирования.

    разделить

    Деление значений из области вставки на значения из области копирования.

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

    Команда

    Действие

    Пропуск пустых страниц

    Избегайте замены значений в области в области в виде висячего в том случае, если пустые ячейки встречаются в области копирования.

    Транспонировать

    Измените столбцы скопированные данные на строки и наоборот.

    Вставить связь

    Вставляемые значения связываются с исходными. При вставке связи в копируемые данные Excel вводит абсолютную ссылку на копируемую ячейку или диапазон ячеек в новом месте.

    Примечание: Этот параметр доступен только при выборе параметра Все или Все, кроме границ в диалоговом окне «Специальная ветвь»

Понравилась статья? Поделить с друзьями:
  • Excel перемещение ячеек стрелками
  • Excel перемещение ячеек в таблице
  • Excel перемещение строк горячие клавиши
  • Excel перемещение по ячейкам стрелками как вернуть
  • Excel перемещение по ячейкам клавишами