Как в excel одному значению присвоить другое

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

Когда это может понадобиться?

Отвечу на самый главный вопрос по теме: «Когда может понадобиться подстановка значений?». Выполнение этой операции в первую очередь подразумевает замену любых символов. Например, вы импортировали диапазон значений из другой программы, где для разделения дробной части вместо запятой используется точка. Соответственно, Excel подумает, что это текстовые значения, и откажется использовать их при создании функций.

Импорт массива с данными для подстановки значения в Microsoft Excel

Вы можете исправить все это вручную, удаляя старые знаки и добавляя новые, после чего проверить настройки формата каждой ячейки. Однако это делается долго и неудобно. Проще создать новый столбец с использованием функций. ПОДСТАВИТЬ и ЗНАЧЕН. Так вы создадите столбец с правильными данными, которые можно использовать для любых целей, включая копирование и удаление всего лишнего.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Использование функции ПОДСТАВИТЬ

Для начала разберемся с тем, как работает синтаксис основной функции – ПОДСТАВИТЬ. Объявим ее и рассмотрим каждый аргумент, чтобы при дальнейшем использовании у вас не возникло никаких проблем.

  1. Для начала выберите необходимую клетку, нажмите по ней левой кнопкой мыши для активации и объявите функцию =ПОДСТАВИТЬ().Объявление функции для подстановки значения в Microsoft Excel

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

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

  4. Снова отделите аргумент и в кавычках напишите новый символ для замены.Ввод нового текста в функции для подстановки значения в Microsoft Excel

  5. Это вся формула, поэтому можете нажать Enter и посмотреть, что получилось в итоге.Результат применения функции для подстановки значения в Microsoft Excel

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

=ПОДСТАВИТЬ(A2;".";",")

Добавление функции ЗНАЧЕН

Теперь модернизируем формулу, чтобы в итоге получить числовое значение, а не текст, как в исходном варианте. Для этого понадобится функция ЗНАЧЕН, которую просто нужно вписать в строку, поставив дополнительные кавычки.

  1. Выполните редактирование, чтобы в итоге получить примерно такой результат: =ЗНАЧЕН(ПОДСТАВИТЬ(A2;».»;»,»)).Модернизация функции для подстановки значения в Microsoft Excel

  2. Нажмите Enter для применения изменений и обратите внимание на то, что теперь числа отображаются справа в ячейке, что говорит об успешной смене формата с текстового на числовой.Результат конвертирования значения для подстановки значения в Microsoft Excel

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

  4. Посмотрите на таблицу и удалите лишнюю информацию, которая после преобразования больше не понадобится.Просмотр результата подстановки значения в Microsoft Excel

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

В этой статье описаны синтаксис формулы и использование ЗАМЕНИТЬ и ЗАМЕНИТЬБ в Microsoft Excel.

Описание

Функция ЗАМЕНИТЬ заменяет указанное число символов текстовой строки другой текстовой строкой.

Функция ЗАМЕНИТЬ заменяет часть текстовой строки, соответствующую заданному числу байтов, другой текстовой строкой.

Эти функции могут быть доступны не на всех языках.

Функция ЗАМЕНИТЬ предназначена для языков с однобайтовой кодировкой, а ЗАМЕНИТЬБ — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.

Функция ЗАМЕНИТЬ всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.

Функция ЗАМЕНИТЬБ считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, а затем этот язык назначен языком по умолчанию. В противном случае функция ЗАМЕНИТЬБ считает каждый символ за один.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

Аргументы функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ описаны ниже.

Стар_текст Обязательный. Текст, в котором требуется заменить некоторые символы.

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

Число_знаков Обязательный. Число символов в старом тексте, которые требуется ЗАМЕНИТЬ новым текстом.

Число_байтов Обязательный. Число байтов старого текста, который требуется ЗАМЕНИТЬБ новым текстом.

Нов_текст Обязательный. Текст, который заменит символы в старом тексте.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Функция ЗАМЕНИТЬ() в EXCEL

Функция ЗАМЕНИТЬ( ) , английский вариант REPLACE(), замещает указанную часть знаков текстовой строки другой строкой текста. «Указанную часть знаков» означает, что нужно указать начальную позицию и длину заменяемой части строки. Функция используется редко, но имеет плюс: позволяет легко вставить в указанную позицию строки новый текст.

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

ЗАМЕНИТЬ ( исходный_текст ; нач_поз ; число_знаков ; новый_текст )

Исходный_текст — текст, в котором требуется заменить некоторые знаки. Нач_поз — позиция знака в Исходном_тексте , начиная с которой знаки заменяются текстом новый_текст . Число_знаков — число знаков в Исходном_тексте , которые заменяются текстом новый_текст . Новый_текст — текст, который заменяет знаки в Исходном_тексте .

Функция ЗАМЕНИТЬ() vs ПОДСТАВИТЬ()

Функция ПОДСТАВИТЬ() используется, когда нужно заменить определенный текст в текстовой строке; функция ЗАМЕНИТЬ() используется, когда нужно заменить любой текст начиная с определенной позиции.

При замене определенного текста функцию ЗАМЕНИТЬ() использовать неудобно. Гораздо удобнее воспользоваться функцией ПОДСТАВИТЬ() .

Пусть в ячейке А2 введена строка Продажи (январь) . Чтобы заменить слово январь , на февраль , запишем формулы:

=ЗАМЕНИТЬ(A2;10;6;»февраль») =ПОДСТАВИТЬ(A2; «январь»;»февраль»)

т.е. для функции ЗАМЕНИТЬ() потребовалось вычислить начальную позицию слова январь (10) и его длину (6). Это не удобно, функция ПОДСТАВИТЬ() справляется с задачей гораздо проще.

Кроме того, функция ЗАМЕНИТЬ() заменяет по понятным причинам только одно вхождение строки, функция ПОДСТАВИТЬ() может заменить все вхождения или только первое, только второе и т.д. Поясним на примере. Пусть в ячейке А2 введена строка Продажи (январь), прибыль (январь) . Запишем формулы: =ЗАМЕНИТЬ(A2;10;6;»февраль») =ПОДСТАВИТЬ(A2; «январь»;»февраль») получим в первом случае строку Продажи (февраль), прибыль (январь) , во втором — Продажи (февраль), прибыль (февраль) . Записав формулу =ПОДСТАВИТЬ(A2; «январь»;»февраль»;2) получим строку Продажи (январь), прибыль (февраль) .

Кроме того, функция ПОДСТАВИТЬ() чувствительна к РЕгиСТру. Записав =ПОДСТАВИТЬ(A2; «ЯНВАРЬ»;»февраль») получим строку без изменений Продажи (январь), прибыль (январь) , т.к. для функции ПОДСТАВИТЬ() «ЯНВАРЬ» не тоже самое, что «январь».

Использование функции для вставки нового текста в строку

Функцию ЗАМЕНИТЬ() удобно использовать для вставки в строку нового текста. Например, имеется перечень артикулов товаров вида » ID-567(ASD) «, необходимо перед текстом ASD вставить новый текст Micro , чтобы получилось » ID-567(MicroASD) «. Для этого напишем простую формулу: =ЗАМЕНИТЬ(A2;8;0;»Micro»).

Как сделать массовую замену формул

Скопированные формулы повторяют имеющиеся, но ссылаются не на те ячейки, которые нам нужны. Это происходит из-за того, что в одном листе (Форма2) для расчета показателя за год используется всего одна ячейка, а в другом листе (Форма1) — 5 ячеек.

Т.е. в части ссылок на лист «Форма2» ссылки при копировании автоматически идут на нужные ячейки, а в листе «Форма1» нам придется передвинуть формулы на 4 ячейки (причем речь идет о буквенных обозначениях, цифровые меняться не будут).

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

В нашем случае, второй столбик после копирования формулы ссылается в листе «Форма1» на ячейки J, K, L, M, N, в то время как для правильного результата должны ссылаться на M, N, O, P, Q. Как видим, две буквы повторяются. Их мы оставим. Значит, нам останется поменять J, K, L на O, P, Q.

А дальше все проще простого. Выделяем нужный столбец по серому полю (обязательно, иначе мы, не желая того, можем поменять значения других ячеек), вызываем функцию «поиска и замены» и меняем J на O, K на P, L на Q и т.д.

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

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

Функция ПОДСТАВИТЬ в Excel выполняет динамическую замену определенной части строки на указанное новое значение и возвращает новую строку, содержащую замененную часть текста. Благодаря этой функции можно подставлять значения из другой ячейки. Рассмотрим возможности функции на конкретных примерах в Excel.

Функция ПОДСТАВИТЬ при условии подставляет значение

Пример 1. В результате расчетов, произведенных в некотором приложении, были получены некоторые значения, записанные в таблицу Excel. Некоторые величины рассчитать не удалось, и вместо числового представления была сгенерирована ошибка “NaN”. Необходимо заменить все значения “NaN” на число 0 в соответствующих строках.

Таблица данных:

Таблица данных.

Для замены и подстановки используем рассматриваемую формулу в качестве массива. Вначале выделим диапазон ячеек C2:C9, затем введем формулу через комбинацию Ctrl+Shift+Enter:

Для замены и подстановки.

Функция ЧЗНАЧ выполняет преобразование полученных текстовых строк к числовым значениям. Описание аргументов функции ПОДСТАВИТЬ:

  • B2:B9 – диапазон ячеек, в которых требуется выполнить замену части строки;
  • “NaN” – фрагмент текста, который будет заменен;
  • 0 – фрагмент, который будет вставлен на место заменяемого фрагмента.

Для подстановки значений во всех ячейках необходимо нажать Ctrl+Shift+Enter, чтобы функция была выполнена в массиве. Результат вычислений:

подстановка значений во всех ячейках.

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



Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ

Пример 2. Провайдер домашнего интернета хранит данные о своих абонентах в таблице Excel. Предположим, улица Садовая была переименована в Никольскую. Необходимо быстро произвести замену названия улицы в строке данных об адресе проживания каждого клиента.

Таблица данных:

Таблица.

Для выполнения заданного условия используем формулу:

Примечание: в данном примере ПОДСТАВИТЬ также используется в массиве Ctrl+Shift+Enter.

В результате получим:

В результате.

Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ

Пример 3. При составлении таблицы из предыдущего примера была допущена ошибка: все номера домов на улице Никольская должны быть записаны как «№№-Н», где №№ — номер дома. Как быстро исправить ошибку?

Пример 3.

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

  1. Открыть редактор макросов (Ctrl+F11).
  2. Вставить исходный код функции (приведен ниже).
  3. Выполнить данный макрос и закрыть редактор кода.

Код функции:

Public Function RegExpExtract(Text As String, Pattern As String, Optional Item As Integer = 1) As String
    On Error GoTo ErrHandl
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = Pattern
    regex.Global = True
    If regex.Test(Text) Then
        Set matches = regex.Execute(Text)
        RegExpExtract = matches.Item(Item - 1)
        Exit Function
    End If
ErrHandl:
    RegExpExtract = CVErr(xlErrValue)
End Function

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

= RegExpExtract(текст;регулярное_выражение;[номер_вхождения])

Регулярные выражения могут быть различными. Например, для выделения любого символа из текстовой строки в качестве второго аргумента необходимо передать значение «w», а цифры – «d».

Для решения задачи данного Примера 3 используем следующую запись:

Логика вычислений:

  1. Функция ЕСЛИОШИБКА используется для возврата исходной строки текста (B2), поскольку результатом выполнения функции RegExpExtract(B2;»Никольская») будет код ошибки #ЗНАЧ!, если ей не удалось найти хотя бы одно вхождение подстроки «Никольская» в строке B2.
  2. Если результат выполнения сравнения значений RegExpExtract(B2;»Никольская»)=»Никольская» является ИСТИНА, будет выполнена функция ПОДСТАВИТЬ(B2;RegExpExtract(B2;»d+»);RegExpExtract(B2;»d+»)&»-Н»), где:
  • a. B2 – исходный текст, содержащий полный адрес;
  • b. RegExpExtract(B2;»d+») – формула, выделяющая номер дома из строки с полным адресом;
  • c. RegExpExtract(B2;»d+»)&»-Н» – новый номер, содержащий исходное значение и символы «-Н».

Результат вычислений:

Результат подстановки.

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

Особенности использования функции ПОДСТАВИТЬ в Excel

Функция ПОДСТАВИТЬ имеет следующую синтаксическую запись:

= ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])

Описание аргументов:

  • текст – обязательный аргумент, характеризующий текстовую строку, в которой необходимо выполнить замену части текста. Может быть задан как текстовая строка («некоторый текст») или ссылка на ячейку, которая содержит текстовые данные.
  • стар_текст – часть текстовой строки, принимаемой в качестве первого аргумента данной функции, которую требуется заменить. Аргумент обязателен для заполнения.
  • нов_текст – обязательный для заполнения аргумент, содержащий текстовые данные, которые будут вставлены на место заменяемой части строки.
  • [номер_вхождения] – числовое значение, характеризующее номер вхождения старого текста, который требуется заменить на фрагмент нового текста. Возможные варианты записи:
  1. Аргумент явно не указан. Функция ПОДСТАВИТЬ определит все части текстовой строки, соответствующие фрагменту текста стар_текст, и выполнит их замену на нов_текст;
  2. В качестве аргумента передано числовое значение. Функция ПОДСТАВИТЬ заменит только указанное вхождение. Отсчет начинается слева направо, число 1 соответствует первому вхождению. Например, функция =ПОДСТАВИТЬ(«текст №1, №2, №3»;«текст»;«новый»;1) вернет значение «новый_текст №1, №2, №3».

Примечания:

  1. Аргумент [номер_вхождения] должен быть задан из диапазон целых положительных чисел от 1 до n, где n определяется максимально допустимой длиной строки, содержащейся в объекте данных (например, в ячейке).
  2. Если в текстовой строке, представленной в качестве аргумента текст не содержится фрагмент, переданный в качестве аргумента стар_текст, функция ПОДСТАВИТЬ вернет строку текст без изменений.
  3. Если число вхождений заменяемого фрагмента в обрабатываемой строке меньше, чем числовое значение, переданное в качестве аргумент [номер_вхождения], функция ПОДСТАВИТЬ вернет текстовую строку в исходном виде. Например, аргументы функции («а 1 а 2 а 3»;«а»;«б»;4) вернут строку «а 1 а 2 а 3».
  4. Рассматриваемая функция чувствительная к регистру, то есть строки «Слово» и «слово» не являются тождественными.
  5. Для решения аналогичных задач по замене части символов текстовой строки можно использовать функцию ЗАМЕНИТЬ. Однако, в отличие от функции ПОДСТАВИТЬ, для ее использования необходимо явно указывать позицию начального символа для замены, а также количество символов, которые необходимо заменить. Функция автоматически выполняет поиск указанной части строки и производит ее замену, поэтому в большинстве случаев предлагает более удобный функционал для работы с текстовыми строками.

Значение ячейки, в зависимости от текста в другой ячейке

heoh12345

Дата: Четверг, 16.02.2017, 12:26 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Добрый день.
Есть задание: ячейка А1 может содержать четыре текстовых значения — Аня, Маша, Глаша и Паша.
В ячейку А2 надо занести значение в зависимости от А1 — если в А1 Аня, то занести Петрова, если А1 Маша, то занести Серова, если в А1 Глаша, то занести в А2 Сидорова, если А1 Паша, то занестив А2 Иванов.

Пробовал через поиск и замену, не получилось. (Так как среднестатистический пользователь, изучал форумы)

Пробовал через Выбор:

Код

=ВЫБОР(Аня;»Петрова»; Маша;»Серова»;Глаша;»Сидорова»;Пашаi;»Иванов»)

ругается, что не определено поле Аня

Сообщение отредактировал heoh12345Четверг, 16.02.2017, 12:44

 

Ответить

_Boroda_

Дата: Четверг, 16.02.2017, 12:31 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Можем. Только Вы сначала тему переназовите согласно п.2 Правил форума
И примерчик Ваш не помешает


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

heoh12345

Дата: Четверг, 16.02.2017, 12:52 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Переименовал и пример добавил

 

Ответить

китин

Дата: Четверг, 16.02.2017, 12:52 |
Сообщение № 4

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Код

=ПРОСМОТР(A1;{«Аня»;»Маша»;»Глаша»;»Паша»};{«Петрова»;»Серова»;»Сидорова»;»Иванов»})

Если не то:

И примерчик Ваш не помешает

[p.s.]нет примера


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

Сообщение отредактировал китинЧетверг, 16.02.2017, 12:52

 

Ответить

Karataev

Дата: Четверг, 16.02.2017, 12:55 |
Сообщение № 5

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Я бы так делал в реальности (не знаю, может быть у Вас учебное задание). Вариант с доплистом и функцией ВПР.

К сообщению приложен файл:

7455599.xlsx
(10.1 Kb)


Киви-кошелек: 9166309108

Сообщение отредактировал KarataevЧетверг, 16.02.2017, 12:56

 

Ответить

_Boroda_

Дата: Четверг, 16.02.2017, 12:56 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Игорь, если ты имена по алфавиту напишешь, то прокатит

Код

=ПРОСМОТР(A1;{«Аня»;»Глаша»;»Маша»;»Паша»};{«Петрова»»Сидорова»;»Серова»;»Иванов»})

heoh12345, формулы нужно обрамлять спецтегами — кнопка fx. Об этом в Правилах тоже есть


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Che79

Дата: Четверг, 16.02.2017, 13:11 |
Сообщение № 7

Группа: Друзья

Ранг: Старожил

Сообщений: 1649


Репутация:

306

±

Замечаний:
0% ±


2013 Win, 365 Mac

еще варианты

Код

=ВПР(A1;{«Аня»;»Петрова»:»Маша»;»Серова»:»Глаша»;»Сидорова»:»Паша»;»Иванов»};2;)

Код

=ИНДЕКС({«Петрова»:»Серова»:»Сидорова»:»Иванов»};ПОИСКПОЗ(A1;{«Аня»:»Маша»:»Глаша»:»Паша»};))


Делай нормально и будет нормально!

 

Ответить

китин

Дата: Четверг, 16.02.2017, 13:28 |
Сообщение № 8

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

если ты имена по алфавиту напишешь

блин да что ж я все забываю про это; :'(


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

heoh12345

Дата: Четверг, 16.02.2017, 13:38 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

китин, Спасибо большое, помогло.

Только, в некоторых случаях к в этой формуле:

Код

=ПРОСМОТР(A1;{«Аня»;»Маша»;»Глаша»;»Паша»};{«Петрова»;»Серова»;»Сидорова»;»Иванов»})

К Маше подставлялась Сидорова.

Помогло перестановкой Глаши на Машу

 

Ответить

китин

Дата: Четверг, 16.02.2017, 13:43 |
Сообщение № 10

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Помогло перестановкой Глаши на Машу

имена по алфавиту напишешь

ПРОСМОТР корректно работает с отсортированными списками. а вот так сортировка по барабану

Код

=ПРОСМОТР(;-1/($A$1=имена);доплист!$B$2:$B$5)

К сообщению приложен файл:

444111.xlsx
(10.2 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Perfect2You

Дата: Четверг, 16.02.2017, 17:47 |
Сообщение № 11

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 237


Репутация:

59

±

Замечаний:
0% ±


Excel 2010

Выбор тоже работает как часы, только аргументы расположить надо правильно. Сначала число от 1 до последнего варианта, а дальше — сами варианты для выбора. Для Вашего случая:

Код

=ВЫБОР(ПОИСКПОЗ(A1;{«Аня»:»Маша»:»Глаша»:»Паша»};0);»Петрова»;»Серова»;»Сидорова»;»Иванов»)

 

Ответить

Mice_60

Дата: Воскресенье, 22.10.2017, 18:21 |
Сообщение № 12

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Очень элегантное решение. К сожалению Excel знаю недостаточно хорошо. Намучился с оператором «если». Большое спасибо за Вашу работу. Замечательный сайт.

 

Ответить

Функция для присвоения ячейке значения из списка значений по номеру позиции.

Случаются ситуации, когда необходимо, чтобы ячейке присваивалось значение, зависящее от какого-либо результата выраженного в цифровом эквиваленте. Школьник неудачникДля таких ситуаций подойдет функция «ВЫБОР» или в английской версии «CHOOSE». Данная функция присваивает ячейке результат по заданному индексу.

Рассмотрим пример использования функции «ВЫБОР».

Например, необходимо автоматизировать присвоения школьникам статуса в зависимости от оценки, которую они получили: 2 – двоечник, 3- троечник и так далее.

Это можно реализовать при помощи функции «Выбор».

    Создаем список статусов от двоечника до отличника.

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

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

    В ячейку результата записываем функцию «Выбор».Оценка 2 = двоечник

    Как прописать функцию «Выбор».

    В поле номер индекса указываем ячейку с оценкой.

    В поля Значение 1,2… и так далее указываем статусы учеников по возрастанию.Функция Выбор

    =ВЫБОР(B7;C6;D6;E6;F6;G6)

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

    Добрый день!

    Подскажите/помогите пожалуйста)

    Есть некий календарь с запланированными действиями , заполняется по разным подразделениям.
    Задача состоит в том, чтобы этот общий календарь автоматически разбивался по этим самым подразделениям  на удобные для работы листы , на которых указаны дни текущего месяца и запланированные действия (отмечены в ячейках 23, МД, 3 ….)  с общего календаря для конкретного подразделения .

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

    Мой вариант — создать на листе календарь на месяц (прописан макрос), а потом подтягивать в нужные дни , нужные активности, но тут я пока и остановилась)) так как «создаю» макросы «методом тыка» подыскивая подходящие действия в Google)) (во вложении)

    Может легче «зайти с другой стороны» , копируя нужные  ячейки из общего календаря на  лист для каждого подразделения и форматировать как нужно?

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

    Приму во внимание любые предложения;), в идеале пример кода: создание и заполнения одного дня по конкретному подразделению.

    В любом случае , спасибо!

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

    Привет друзья, мой вопрос может показаться нубским, но всё же:

    В общем ситуация такая.

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

    Может сложно описал вопрос, вот скрин:

    Как _конкретной_ ячейке с текстом присвоить число (цифру, значение)
    Суть вопроса: есть график выхода сотрудников на работу, заключённый в таблицу. Каждая её ячейке.

    Как присвоить значение ячейке из другого листа?
    Добрый день. Есть порядка 70 листов в одной книге (в дальнейшем планируются книги с количеством.

    Как тексту в ячейке присвоить цифровое значение?
    Здраствуйте уважаемые форумчане! Мне нужна такая формула, которая б распознавала текст в ячейке, и.

    Как присвоить кодам в одной ячейке текстовое значение в другой?
    Здравствуйте! Работаю с базами ВЭД. В одном столбце имеются числовые коды, каждая совокупность.

    Попытка присвоить значение ячейке в функции выдает #ЗНАЧ
    Создаю пустую таблицу. В VBA создаю модуль с единственной ф-цией: Public Function MUSOR() .

    Как присвоить имя значению Excel

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

    Пример присвоения имени в Excel

    Управляя магазином, мы хотим знать все о ценах на его товары. Почем покупаем, почем продаем. То есть нам нужен прайс с оптово-закупочными и розничными ценами, где определена наша прибыль. Для упрощения примера установим одинаковую наценку 10% на все товарные позиции.

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

    Присвоим наценке имя и пока установим ее значение на уровне 10%, а потом будем изменять. Чтобы присвоить значению имя делаем следующее:

    1. Выберите инструмент: «Формулы»-«Определенные имена»-«Присвоить имя».
    2. Введите имя «Наценка1», а в поле «Диапазон» просто значение 10% так как указано на рисунке. При необходимости выберите область распространения имени (на конкретный лист или на целую книгу). И нажмите ОК.
    3. Теперь нам нужно применить наше имя «Наценка1» в формулах.

    При создании имен следует учитывать несколько простых правил:

    1. Имя должно начинаться с буквы или знака нижнего подчеркивания. Нельзя чтобы в имени первым символом было число или спецсимвол.
    2. Начиная со второго символа можно использовать: буквы, цифры, точки и знаки нижнего подчеркивания. Другие символы запрещено использовать (даже пробел).
    3. Нельзя использовать пробелы.

    Теперь мы без проблем можем изменять наценку, а формулы будут автоматически пересчитывать результат вычисления. Например, увеличим нашу наценку на 2%:

    1. Выберите инструмент «Формулы»-«Диспетчер имен».
    2. В диалоговом окне выберите «Наценка1» и нажмите на кнопку «Изменить». В поле «Диапазон» введите новое значение 12% (или 0,12). И нажмите ОК. После нажатия все формулы с именем «Наценка1» автоматически выполнять пересчет и выдадут новые результаты.

    Примечание. Если формулы не пересчитаны значит у Вас в настройках Excel включена опция ручного пересчета формул («Формулы»-«Параметры вычислений»-«Вручную»), в таком случаи новые цены мы получим после нажатия на клавишу F9.

    Преимущества имен в Excel

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

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

    Как присвоить значение ячейке из списка по номеру позиции

    Случаются ситуации, когда необходимо, чтобы ячейке присваивалось значение, зависящее от какого-либо результата выраженного в цифровом эквиваленте. Для таких ситуаций подойдет функция «ВЫБОР» или в английской версии «CHOOSE». Данная функция присваивает ячейке результат по заданному индексу.

    Рассмотрим пример использования функции «ВЫБОР».

    Например, необходимо автоматизировать присвоения школьникам статуса в зависимости от оценки, которую они получили: 2 – двоечник, 3- троечник и так далее.

    Это можно реализовать при помощи функции «Выбор».

    Создаем список статусов от двоечника до отличника.

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

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

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

    Как прописать функцию «Выбор».

    В поле номер индекса указываем ячейку с оценкой.

    В поля Значение 1,2… и так далее указываем статусы учеников по возрастанию.

    =ВЫБОР(B7;C6;D6;E6;F6;G6)

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

    ТЕКСТ (функция ТЕКСТ)

    С помощью функции ТЕКСТ можно изменить представление числа, применив к нему форматирование с кодами форматов. Это полезно в ситуации, когда нужно отобразить числа в удобочитаемом виде либо объединить их с текстом или символами.

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

    Аргументы функции ТЕКСТ описаны ниже.

    Числовое значение, которое нужно преобразовать в текст.

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

    Общие сведения

    Самая простая функция ТЕКСТ означает следующее:

    =ТЕКСТ(значение, которое нужно отформатировать; «код формата, который требуется применить»)

    Ниже приведены популярные примеры, которые вы можете скопировать прямо в Excel, чтобы поэкспериментировать самостоятельно. Обратите внимание: коды форматов заключены в кавычки.

    Денежный формат с разделителем групп разрядов и двумя разрядами дробной части, например: 1 234,57 ₽. Обратите внимание: Excel округляет значение до двух разрядов дробной части.

    Сегодняшняя дата в формате ДД/ММ/ГГ, например: 14.03.12

    Сегодняшний день недели, например: понедельник

    Текущее время, например: 13:29

    Процентный формат, например: 28,5 %

    Дробный формат, например: 4 1/3

    Дробный формат, например: 1/3 Обратите внимание: функция СЖПРОБЕЛЫ используется для удаления начального пробела перед дробной частью.

    Экспоненциальное представление, например: 1,22E+07

    Скачивание образцов

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

    Другие доступные коды форматов

    Просмотреть другие доступные коды форматов можно в диалоговом окне Формат ячеек.

    Нажмите клавиши CTRL+1 (на компьютере Mac — +1), чтобы открыть диалоговое окно Формат ячеек.

    На вкладке Число выберите нужный формат.

    Выберите пункт (все форматы).

    Нужный код формата будет показан в поле Тип. В этом случае выделите всё содержимое поля Тип, кроме точки с запятой (;) и символа @. В примере ниже выделен и скопирован только код ДД.ММ.ГГГГ.

    Нажмите клавиши CTRL+C, чтобы скопировать код формата, а затем — кнопку Отмена, чтобы закрыть диалоговое окно Формат ячеек.

    Теперь осталось нажать клавиши CTRL+V, чтобы вставить код формата в функцию ТЕКСТ. Пример: =ТЕКСТ(B2;»ДД.ММ.ГГГГ«). Обязательно заключите скопированный код формата в кавычки («код формата»), иначе в Excel появится сообщение об ошибке.

    «Ячейки» > «Число» > «Другое» для получения строк формата.» />

    Коды форматов по категориям

    В примерах ниже показано, как применить различные числовые форматы к значениям следующим способом: открыть диалоговое окно Формат ячеек, выбрать пункт (все форматы) и скопировать нужный код формата в формулу с функцией ТЕКСТ.

    • Выбор числового формата
    • Нули в начале
    • Разделитель групп разрядов.
    • Числовые, денежные и финансовые форматы
    • Даты
    • Значения времени
    • Проценты
    • Дроби
    • Экспоненциальное представление
    • Дополнительные форматы

    Почему программа Excel удаляет нули в начале?

    Excel воспринимает последовательность цифр, введенную в ячейку, как число, а не как цифровой код, например артикул или номер SKU. Чтобы сохранить нули в начале последовательностей цифр, перед вставкой или вводом значений примените к соответствующему диапазону ячеек текстовый формат. Выделите столбец или диапазон, в который нужно поместить значения, нажмите клавиши CTRL+1, чтобы открыть диалоговое окно Формат ячеек, и выберите на вкладке Число пункт Текстовый. Теперь программа Excel не будет удалять нули в начале.

    Если вы уже ввели данные и Excel удалил начальные нули, вы можете снова добавить их с помощью функции ТЕКСТ. Создайте ссылку на верхнюю ячейку со значениями и используйте формат =ТЕКСТ(значение;»00000″), где число нулей представляет нужное количество символов. Затем скопируйте функцию и примените ее к остальной части диапазона.

    Если по какой-либо причине потребуется преобразовать текстовые значения обратно в числа, можно умножить их на 1 (например: =D4*1) или воспользоваться двойным унарным оператором (—), например: =—D4.

    В Excel группы разрядов разделяются пробелом, если код формата содержит пробел, окруженный знаками номера (#) или нулями. Например, если используется код формата «# ###», число 12200000 отображается как 12 200 000.

    Пробел после заполнителя цифры задает деление числа на 1000. Например, если используется код формата «# ###,0 «, число 12200000 отображается в Excel как 12 200,0.

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

    Разделитель групп разрядов можно применять в числовых, денежных и финансовых форматах.

    Ниже показаны примеры стандартных числовых (только с разделителем групп разрядов и десятичными знаками), денежных и финансовых форматов. В денежном формате можно добавить нужное обозначение денежной единицы, и значения будут выровнены по нему. В финансовом формате символ рубля располагается в ячейке справа от значения (если выбрать обозначение доллара США, то эти символы будут выровнены по левому краю ячеек, а значения — по правому). Обратите внимание на разницу между кодами денежных и финансовых форматов: в финансовых форматах для отделения символа денежной единицы от значения используется звездочка (*).

    Чтобы получить код формата для определенной денежной единицы, сначала нажмите клавиши CTRL+1 (на компьютере Mac — +1) и выберите нужный формат, а затем в раскрывающемся списке Обозначение выберите символ.

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

    Примечание: Функция ТЕКСТ не поддерживает форматирование с помощью цвета. Если скопировать в диалоговом окне «Формат ячеек» код формата, в котором используется цвет, например «# ##0,00 ₽;[Красный]# ##0,00 ₽», то функция ТЕКСТ воспримет его, но цвет отображаться не будет.

    Способ отображения дат можно изменять, используя сочетания символов «Д» (для дня), «М» (для месяца) и «Г» (для года).

    В функции ТЕКСТ коды форматов используются без учета регистра, поэтому допустимы символы «М» и «м», «Д» и «д», «Г» и «г».

    Если вы предоставляете общий доступ к файлам и отчетам Excel пользователям из разных стран, скорее всего, потребуется, чтобы они были на разных языках. Минда Триси (Mynda Treacy), Excel MVP, предлагает отличное решение этой задачи в своей статье Отображение дат Excel на разных языках (на английском). В ней также есть пример книги, который вы можете скачать.

    Способ отображения времени можно изменить с помощью сочетаний символов «Ч» (для часов), «М» (для минут) и «С» (для секунд). Кроме того, для представления времени в 12-часовом формате можно использовать символы «AM/PM».

    Если не указывать символы «AM/PM», время будет отображаться в 24-часовом формате.

    В функции ТЕКСТ коды форматов используются без учета регистра, поэтому допустимы символы «Ч» и «ч», «М» и «м», «С» и «с», «AM/PM» и «am/pm».

    Для отображения десятичных значений можно использовать процентные (%) форматы.

    Десятичные числа можно отображать в виде дробей, используя коды форматов вида «?/?».

    Экспоненциальное представление — это способ отображения значения в виде десятичного числа от 1 до 10, умноженного на 10 в некоторой степени. Этот формат часто используется для краткого отображения больших чисел.

    В Excel доступны четыре дополнительных формата:

    «Почтовый индекс» («00000»);

    «Индекс + 4» («00000-0000»);

    Типичный сценарий

    Функция ТЕКСТ редко используется сама по себе, а чаще применяется в сочетании с чем-то еще. Предположим, что вы хотите объединить текст и числовое значение, например, чтобы получить строку «Отчет напечатан 14.03.12» или «Еженедельный доход: 66 348,72 ₽». Такие строки можно ввести вручную, но суть в том, что Excel может сделать это за вас. К сожалению, при объединении текста и форматированных чисел, например дат, значений времени, денежных сумм и т. п., Excel убирает форматирование, так как неизвестно, в каком виде нужно их отобразить. Здесь пригодится функция ТЕКСТ, ведь с ее помощью можно принудительно отформатировать числа, задав нужный код формата, например «ДД.ММ.ГГГГ» для дат.

    В примере ниже показано, что происходит, если попытаться объединить текст и число, не применяя функцию ТЕКСТ. Мы используем амперсанд (&) для сцепления текстовой строки, пробела (» «) и значения: =A2&» «&B2.

    Вы видите, что значение даты, взятое из ячейки B2, не отформатировано. В следующем примере показано, как применить нужное форматирование с помощью функции ТЕКСТ.

    Вот обновленная формула:

    ячейка C2:=A2&» «&ТЕКСТ(B2;»дд.мм.гггг») — формат даты.

    Вопросы и ответы

    К сожалению, это невозможно сделать с помощью функции ТЕКСТ. Для этого нужно использовать код Visual Basic для приложений (VBA). В следующей статье описано, как это сделать: Как преобразовать числовое значение в слова в Excel

    Да, вы можете использовать функции ПРОПИСН, СТРОЧН и ПРОПНАЧ. Например, формула =ПРОПИСН(«привет») возвращает результат «ПРИВЕТ».

    Да, но для этого необходимо выполнить несколько действий. Сначала выделите нужные ячейки и нажмите клавиши CTRL+1, чтобы открыть диалоговое окно Формат ячеек. Затем на вкладке Выравнивание в разделе «Отображение» установите флажок Переносить по словам. После этого добавьте в функцию ТЕКСТ код ASCII СИМВОЛ(10) там, где нужен разрыв строки. Вам может потребоваться настроить ширину столбца, чтобы добиться нужного выравнивания.

    В этом примере использована формула =»Сегодня: «&СИМВОЛ(10)&ТЕКСТ(СЕГОДНЯ();»ДД.ММ.ГГ»).

    Это экспоненциальное представление числа. Excel автоматически приводит к такому виду числа длиной более 12 цифр, если к ячейкам применен формат Общий, и числа длиннее 15 цифр, если выбран формат Числовой. Если вы вводите длинные цифровые строки, но не хотите, чтобы они отображались в таком виде, то сначала примените к соответствующим ячейкам формат Текстовый.

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

    Для того чтобы в одной ячейке совместить как текст так и значение можно использовать следующие способы:

    • Конкатенация;
    • Функция СЦЕПИТЬ;
    • Функция ТЕКСТ;
    • Пользовательский формат.

    Разберем эти способы и рассмотрим плюсы и минусы каждого из них.

    Использование конкатенации

    Один из самых простых способов реализовать сочетание текста и значения — использовать конкатенацию (символ &).

    Допустим ячейка A1 содержит итоговое значение 123,45, тогда в любой другой ячейке можно записать формулу
    =»Итого: «&A1

    В итоге результатом будет следующее содержание ячейки Итого: 123,45.

    Это простое решение, однако имеет много минусов.

    1. Результатом формулы будет текстовое значение, которое нельзя будет использовать при дальнейших вычислениях.
    2. Значение ячейки A1 будет выводится в общем формате, без возможности всякого форматирования. В следствие чего этот метод не всегда применим.

    Применение функции СЦЕПИТЬ

    Аналогичное простое решение, но с теми же недостатками — использование функции СЦЕПИТЬ. Применяется она так: =СЦЕПИТЬ(«Итого: «;A1). Результаты ее использования аналогичные:

    Применение функции ТЕКСТ

    Функция ТЕКСТ позволяет не только объединить текст и значение, но еще и отформатировать значение в нужном формате. Если мы применим следующую формулу =ТЕКСТ(A1;»»»Итого: «»##0»), то мы получим такой результат Итого: 123.

    В качестве второго аргумента функция ТЕКСТ принимает строку с числовым форматом. Более подробно о числовых форматах вы можете прочитать в статье Применение пользовательских форматов.

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

    Использование пользовательского формата

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

    1. Выберите ячейку A1.
    2. Откройте диалоговое окно Формат ячейки.
    3. В поле Тип укажите нужный формат. В нашем случае «Итого: «# ##0.

    В результате ячейка A1 будет содержать Итого: 123.

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

    Плюсы и минусы методов

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

    Понравилась статья? Поделить с друзьями:
  • Как в excel округлить в большую сторону до сотых
  • Как в excel одинаковые значения собрать
  • Как в excel округлвверх
  • Как в excel один столбец разделить на три
  • Как в excel один столбец разбить на несколько столбцов