Събиране на текст

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Допълнение:

ФУНКЦИЯТА CONCATENATE

=CONCATENATE(текст1; [текст2]; ...)        =CONCATENATE(text1, [text2], ...)

  • Tекст1 / Text1 - Първият елемент, който ще съединяваме.
  • Tекстn / Textn - Следващите елементи, които ще съединяваме.

ФУНКЦИЯТА LEN

=LEN(текст)                                                      =LEN(text)

Текст / Text - Текстът, чиято дължина искаме да намерим.

 

Тест за преминаване към следващия урок

 
Коя функция обединява текст?
text
concatenate
combinate
 
В клетка А1 имате текста "София, 21/04/2001". В клетка B1 искате да извадите само годината от текста. Това ще направите с:
year(a1)
mid(a1, 7, 5)
right(a1, 4)
datevalue(a1)
 
За да извлечете част от текст в клетка A1, намираща се между 5 и 12 знак, правилната формула е:
Left (a1, 12)
Right (a1, 5)
Mid (a1, 5, 7)
Mid (a1, 5, 12)
 
С какъв знак ограждаме текст в една формула?
със скоби
с долна черта
с кавички

Въпроси и отговори

  • Как се слива текст, който съдържа кавички?

    Peter:

    Как се слива текст, който трябва да съдържа кавички?

    Diana Siteva:

    с concatenate

    Daniela:

    Здравей Peter, Твоят въпрос ме затрудни малко, но след малко лутания открих отговора. Може да се реши по два начина: 1-ви С формулата concatenate Като излезе прозорчето на формулата, в първия правоъгълник въвеждаме не знака за кавички " , а два пъти една кавичка ' който е на същия клавиш. В следващите прозорци се въвеждат клетките, които ще се събират. В последния прозорец. Същия като първия. Другия начин е с & Като първия знак е " След това две единични кавички И пак " Следват клетките които се събират И пак първия знак Нещо от този вид = " ' ' " &B1&B2&" ' ' "

  • А може ли да споделя?

    Peter:

    От една седмица на лаптопа ми, Уиндоус 10 не се спря да се ъпдейтва, дано скоро изчерпи свободното пространство на диск С, че да миряса :) Сутринта правих предното упражнение, разделителят на аргументите на формулите беше запетая, както в урока. Сега тръгвам да правя следващо упражнение, разделителят вече е точка и запетая, интересното е, че във файловете след урока, там запетаята някак си се е сменила с ";". Почвам да изпитвам някакво раздвоение, добре че не му знам медицинското име :). Сега ако и в отговорите на тестовете запетаята сама се смени, не знам ... :)

    Peter:

    Отговор на този въпрос получих в урок 6, че някъде, не разбрах в кои случаи, аргументите могат да се разделят с ";", а не със запетая. Пък аз все си мисля, че до едно време разделителят беше запетая, после се промени, отдадох го на бурното ъпдейтване на моя компютър. Както и да е, ако е възможно админите да изтрият тези два поста, да не внасям шум в системата. :)

    Димитринка Вълкова:

    Разделителят за аргументите на функциите зависи от регионалните настройки за Windows. Когато са дефинирани за България, тогава разделителят е [;], а десетичният знак е [,]. Надявам се, че успях да отговоря.

    Peter:

    Както винаги - на време и на място! Благодаря!

    Peter:

    И все пак раздвоението остава. Лекторът въвежда запетая - ние - точка и запетая. Отговорите на тестовете - също са със запетая. Трябва все да се внимава! Когато вчера и днес се борих с този въпрос, когато напиша - синтаксис на функция в ексел, на всякъде дават запетая. В програмирането, синтаксисът е основополагащ, мисля, не може да пишеш запетая, ако си в Англия и точка със запетая, ако си в България. Това го открих, когато тествах отговорите на тестове и пейстнах един от отговорите в тестовете, даде ми грешка. Това се насложи и с непрекъснатите ъпдейти на уиндоус и офис 2013 на моя компютър. Не се оправдавам, и без друго съм помолил тези мои постове тук да се изтрият. И не, знам, че има тук курс за Уиндоус 10, за сега ще пропусна ... :)

    Daniela:

    Относно разделителя аз постъпвам така: Въвеждам в клетката равно, след това започвам да изписвам формулата, след първите една или две букви формулата се показва и аз я избирам. Там вече са показани разделителите, които трябва да въвеждам. Няма как да сбъркам.

  • Защо видеото ми забива?

    Hristiqna:

    имам добър интернат не ми прави проблеми никъде другаде ?

    Краси Кръстев:

    Здравей,

    Аз лично преминах през видеото и не ми заби, с Google Chrome и по-новия Player, като бях настройл скоростта на видеото на x2 (максималната скорост).

    За да видим откъде идва проблема да уточним няколко въпроса:

    Какъв е browser -a, които използваш за гледане на уроците?

    Кога се е появил проблема? Ако кажете горе долу кога се е появил, ще проверим дали не е било проблем в нашия сървър.

    Само с този ли видео урок имаш проблем?

    С кой видео player гледаш уроците?

    • с по-новата версия в която може да регулираш скоростта или с по-старата версия (Алтернативния player - снимка 1 позиция 1) с който не контролираш скоростта (снимка 1 позиция 2)

    Снимка_1

    Ако ползваш по-новата версия на player-a, с каква скорост гледаш видеото?

    Да изключим интернет връзката, т.к. казваш че е добра. Въпреки че, има моменти в които връзката не е чак толкова добра ( ако сравняваш отваряне на страници и пускане на видео, определено отварянето на страници в повечето случай е доста по-бързо, освен ако не са сложили снимки с много високо качество с по 120 MB), така че все пак ако изгледате сега видеото на скорост x1, с Google Chrome сега в този момент, забива ли?

  • Може ли да добавя?

    Юлия Иванова:

    Здравейте, тъй като в чести случаи ми е необходимо да имам 1 сложна формула в 1 колона, вместо да правя много нови помощни колони, споделям пълната формула за изваждане на 3тото име от 1 клетка: =RIGHT(B3;(LEN(B3))-(SEARCH(" ";B3;(SEARCH(" ";B3))+1)))

    Краси Кръстев:

    Добро допълнение!

    Благодаря!

    Kocho:

    Формулата работи добре, само ако името е във формат "Иван Иванов Иванов", т.е. в клетка В3 има само име, презиме и фамилия, разделени от интервал.

    Често обаче се случва да има повече интервали от необходимото. Например, ако списъкът с имената е изваден от някоя система. По тази причина за всеки случай добре е да се направи малка корекция във формулата:

    вместо В3, пишем TRIM(B3). TRIM е функция, която отрязва всички излишни интервали.

    Така формулата придобива следния вид: RIGHT(TRIM(B3);(LEN(TRIM(B3)))-(SEARCH(" ";TRIM(B3);(SEARCH(" ";TRIM(B3)))+1)))

    Стана твърде дълга като за една клетка, затова предлагам алтернативен вариант:

    TRIM(RIGHT(SUBSTITUTE(TRIM(B3);" ";REPT(" ";999));250))

    И разбира се, винаги съществува алтернативата Text-to-columns

    Юлия Иванова:

    Чудесно допълнение, Кочо, много благодаря! :)

    Интересното е, че миналата седмица ми се случи точно това - имам списък с 3 имена на хора в колона О, но ми трябва колона само с малко и фамилно име, за да им направя сертификати. Ето до каква формула стигнах: =CONCATENATE(LEFT(O2;SEARCH(" ";O2)-1);" ";RIGHT(O2;LEN(O2)-SEARCH(" ";O2;SEARCH(" ";O2)+1)))

    Изникна ми друг проблем обаче - тъй като този списък е направен в следствие на самостоятелна регистрация от самите хора, някои от тях бяха въвеждали 3, но други 2 имена => съответно получих грешка тип Value. Това, което направих, беше да пусна формулата за всички и после да ги сортирам по новосъздадената от мен колона - така всички, при които ми се беше получила грешката Value се подредиха най-отдолу и просто ръчно замених диапазона от колоната с този от съседната (оригиналната колона О). Вероятно има и по-умен начин да го направя :) Но стана сравнително лесно. Така че съм много благодарна за тези комбинации от формули! :)

    Kocho:

    Здравей, Юлия, радвам се, че съм бил полезен.

    Не е проблем да се заложи проверка дали в колоната с имената има две или три.

    Ако ползваме твоя пример:

    =LEN(TRIM(O2))-LEN(SUBSTITUTE(TRIM(O2);" ";""))

    Горната формула прави разлика между дължината на въведеното име и дължината на същото име, но с изчистени интервали. Ако е въведено само име и фамилия, ще има един интервал и от там разликата ще е 1, ако е с име, презиме и фамилия, ще има два интервала и от там - разликата ще е две.

    И след това с IF се получава това:

    =IF(LEN(TRIM(O2))-LEN(SUBSTITUTE(TRIM(O2);" ";""))=2;CONCATENATE(LEFT(O2;SEARCH(" ";O2)-1);" ";RIGHT(O2;LEN(O2)-SEARCH(" ";O2;SEARCH(" ";O2)+1)));O2)

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

    Когато се работи с имена обаче винаги може да се падне някакво странно име, което да не е обхванато от логиката на формулата ни. Пълното име на Кристияно Роналдо например е Кристиано Роналдо дош Сантош Авейро. А името може да е въведено и с грешка (ТодорКолев). Някои хора пък имат по две фамилии. Въобще няма формула, която да гарантира 100% успеваемост.