Как можно вставить дату в ячейку с использованием функции ПСТР()?

У меня есть формула в ячейке: =СЦЕПИТЬ(ПСТР(А1:А10;1;5);" от ";ПСТР(В1:В10;1;5)). При этом ячейки в столбце В содержат даты, однако результат в итоговой ячейке отображается как число, а не как дата. Я не могу изменить формат ячейки на "Дата", так как это нарушит основную формулу. Как можно решить эту проблему, чтобы отображалась дата?
  • 4 февраля 2025 г. 11:24
Ответы на вопрос 2
Ваша проблема заключается в том, что функция `ПСТР()` возвращает текстовую строку, поэтому даже если в ячейках столбца В содержатся даты, когда вы их объединяете с помощью `СЦЕПИТЬ()`, результат будет текстом.

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

```excel
=СЦЕПИТЬ(ПСТР(А1;1;5);" от ";ТЕКСТ(В1;"дд.мм.гггг"))
```

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

Таким образом, ваша формула будет выглядеть следующим образом:

1. Для первой строки:
   ```excel
   =СЦЕПИТЬ(ПСТР(А1;1;5);" от ";ТЕКСТ(В1;"дд.мм.гггг"))
   ```

2. После этого вы можете протянуть формулу вниз по столбцу, чтобы применить её к остальным строкам (A2:A10 и B2:B10).

Таким образом, даты будут корректно отображаться в текстовом формате.
ТЕКСТ () для форматирования 
ARRAYFORMULA () для обработки диапазонов
ЕСЛИ () для того чтобы считало только по данным, а не пустоту
=ArrayFormula(ЕСЛИ(A:A="";;"№"&A:A&" от "&ТЕКСТ(B:B;"dd.MM.yyyy")))
Похожие вопросы