Сообщество - MS, Libreoffice & Google docs

MS, Libreoffice & Google docs

762 поста 14 934 подписчика

Популярные теги в сообществе:

6586

Excel: Диагональное разделение ячейки (два заголовка в одной ячейке)

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

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


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


1. [СИМВОЛ ПРОБЕЛА]

2. ЗАГОЛОВОК 1

3. [ПЕРЕХОД НА ВТОРУЮ СТРОКУ ALT+ENTER]

4. ЗАГОЛОВОК 2

5. [СИМВОЛ ПРОБЕЛА]

6. [ТОЧКА]


В рассматриваемом примере это выглядит в итоге вот так:

Подтвердив ввод значений и выбрав ячейку, переходим в режим её форматирования. Проще всего это сделать, использовав комбинацию клавиш CTRL+1. В открывшемся окне во вкладке «Граница» сперва выбираем внешнюю (1) и также диагональную границы (2):

Затем во вкладке «Выравнивание» выбираем в первом выпадающем списке «равномерно (отступ)» (3), а в поле ниже «по центру» (4). Подтверждаем настройки нажиманием на «ОК» (5):

Почти всё готово:

Теперь только выбираем точку внутри ячейки и перекрашиваем её в цвет заднего плана (в нашем примере это белый цвет):

Вот и всё, всё готово:

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


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

Показать полностью 6 1
10

Надеюсь на Силу Пикабу в помощи с google таблицами

Всем добрый день!
Нужна помощь с таблицами (Google), а точнее с правильным составлением формулы.
Имеется 3 столба со значениями, необходимо создать формулу при которой будет считаться количество значений из столба “A”, если в столбах «В» и «С» ничего нет.

Заранее большое спасибо!

Надеюсь на Силу Пикабу в помощи с google таблицами
11

Макрос для Excel

Пикабушники, доброй ночи.
Помогите, пожалуйста, с макросом, гугл молчит((
Есть общий файл с организациями и их сотрудниками, то есть несколько подряд одинаковых ИНН, но разные сотрудники, нужно
-копировать все строки одной организации в новую книгу (файл), включая шапку;
-сохранить и закрыть файл.
Название новой книги должно быть вида «ИНН Название компании». Файлы https://yadi.sk/d/ZWZ5I4TP87rLkA Заранее спасибо.

249

КАК НАПИСАТЬ TELEGRAM BOT НА VBA?

ПРЕДЫСТОРИЯ

У моего заказчика случился один инцидент. Ну, как инцидент, обычная житейская история. У него в компании есть девушка (или женщина, все относительно), которая следит за днями рождений сотрудников, собирает деньги на подарок и т.д., короче, Шура – профсоюзная активистка из «Служебного романа» (помните?: «… если сегодня кто-нибудь еще родится или умрет, я останусь без обеда…»), только помоложе и без профсоюза.

И вот однажды подходит эта «Шура» к одному из сотрудников и просит его помочь ей поднять на этаж пиццу.

- Какую пиццу?

- У меня сегодня День рождения, я заказала на всех пиццу…

- (Ой-йо-мойо(!!???)) ну… это… я тебя поздравляю, пошли за пиццей… Коллеги! у «Шуры» сегодня День рождения!

Тут, конечно, началось… в спешке, пока «Шура» и «Шурик» исчезли в направлении пиццы, торопливые сборы ассигнаций, в ближайший цветочный ларёк направлялся гонец, и воздухе витала мысль: «Просрали полимеры день рождения девушки, которая о каждом из нас не забывала»…

Дабы не попадать в следующий раз впросак, заказчик попросил меня написать для их корпоративного Telegram чата некую программку, которая бы утром поздравляла тех, у кого день рождения (в компании около 200 человек), а за три дня до дня рождения персонально направляла каждому сотруднику группы/отдела, в котором работает будущий именинник, telegram-сообщение о грядущем событии.

«Деньги в руки – будут звуки». Что в результате получилось? Есть чат, в котором сотрудники обсуждают разные вопросы, в нем каждое утро в 9-00 появляется средних размеров сообщение на тему «10 знаменитых людей, родившихся в этот день». Если в «этот день» родился кто-то из компании заказчика, то этот кто-то оказывается в компании знаменитостей. Такой вот каламбур. Также индивидуально некоторые сотрудники получают сообщение от бота «Шура – профсоюзная активистка» о ДР за три дня до «грустного праздника».

Вот, такая преамбула.

Для реализации поставленной задачи я использовал API Telegram, c# и серверную инфраструктуру заказчика на платформе Microsoft.

ШАГ ЗА ШАГОМ

После создания заказной разработки на c# и .Net мне пришла в голову мысль: а можно ли запилить Telegram бот на VBA? На странице «Bot Code Examples» VBA среди множества языков нет, но ведь это не означает, что на нем нельзя написать бот для «телеги».

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


1) Для создания бота в Telegram найдите крестного отца всех telegram ботов - BotFather и дайте ему команду: «/newbot». В ответ отец всех telegram ботов попросит дать имя новому боту. Далее, нужно указать логин бота (username), заканчивающееся на bot. Вот бот готов. В доказательство свершившегося BotFather выдаст access token для доступа в Telegram API приблизительно такого вида: «1234567890:ABCDEFGabcdfgQWERTYUIOPasdfghjklZXC».

2) Нужно новорожденного бота пригласить в свою группу.

3) Все, бот может отправлять сообщения в эту группу.


Общая часть закончена. Теперь специфика Visual Basic for Application.

Попробуем отправить сообщение на VBA. Заранее прошу прощения за лубочный вид кодов. Как с помощью тега типа <VBA… раскрасить код на пикабу, мне неведомо, если такая возможность есть или недавно появилась – дайте знать. Если вы не хотите перебивать код с картинки, а хотите его просто скопировать, это можно сделать на странице моего сайта: https://www.quickwin.ru/Solutions/QandA :

Конкретно этот код работает. Проблема возникнет, если вы попытаетесь отправить сообщение на русском языке. В этом случае от Telegram вы получите ответ: «Bad Request: strings must be encoded in UTF-8».

У VBA, к сожалению, нет встроенной функции перевода в требуемый формат (UTF-8). "Что же делать? Что же делать? Надо выпить".

Можно придумать свой собственный велосипед на тему: «URL Encoding», в соответствии с RFC-3986, можно найти на просторах интернета множество чужих велосипедов разной степени глючности и «доработать напильником», но я бы предложил велосипед не изобретать, а воспользоваться функцией JavaScript encodeURIComponent(), она заменяет «неправильные» символы процентными (escape-) последовательностями, представляющими кодировку символа UTF-8.

Это окошко в возможности JavaScript меня уже неоднократно выручало.

Соответственно, функция SendAMessage2TheTelegram будет выглядеть так:

Теперь сообщения с русскими буквами прекрасно перевариваются Telegram API. Отдельный вопрос: как узнать id чата, если речь идет о группе или даже конкретной персоне, а не о канале?

Для этого нужно отправить какое-либо сообщение боту из чата, в который вы планируете отправлять сообщения бота.

Например, такое: «/myid @UserNameOfMybot».

После чего посмотреть на историю сообщений бота с помощью команды, которую можно отправить из, например, Google Chrome:

https://api.telegram.org/bot1234567890:AAAAAAAAAAAAAAAAAAAAA...

Посмотреть на последние строчки истории и найти собственное сообщение в структуре JSON. Там должен быть и такой фрагмент: "chat":{"id": 123456789. 123456789- на месте этих цифр должен быть ID чата для переменной ChatID.

Изначально я думал создать на c# com компонент для VBA, с большим набором функций по работе с Telegram. Но нужен ли такой com-компонент? – я пока не решил. Так что этот вопрос тоже можно обсудить.

Показать полностью 3
22

Заполнение пустых ячеек в Excel

Имеется ячейка с числом, например 11. Ниже несколько ячеек пустые, потом 12 ну и так далее. Как сделать заполнение пустых ячеек числом, которое выше? Например, в первой ячейке 11, вторая пустая. Значит ставим туда 11. Третья тоже пустая, опять ставим 11. В четвертой ячейке стоит 12, значит в пятую тоже ставим 12. Ну и ограничить число строк, например чтоб заполнило так 10000 ячеек и стоп. Спасибо

20

Как вычленить почту в Гугл Док

Привет.
сейчас редактирую базу, и встретился с проблемой — необходимо разделить столбец с контактами (номера, почты и другая текстовая инфа) на два отдельных столбца: 1)номера+инфа и 2) почты.

Как вычленить почту в Гугл Док

Сам макрос, который вычленяет почту есть, но он нарушает порядок. Для примера: файл с тремя строчками. На первой строчке номер+почта, на второй пустая ячейка, а на третье номер+почта. Сам же макрос (в Экселе) после выполнения команды выдаёт две строчки с почтой. И почта с третьей строчки встаёт на вторую строчку, где нет изначально почты.

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

Постарался подробно объяснить ситуацию

Надеюсь кто-то понял и поможет в решении проблемы.

Показать полностью 1
19

ФНС и МногоДата

Камрады, думаю что многим будет интересно утром посмеяться... А так как тут и налоговая, и данные, которые в теории можно открыть и в Экселе, думаю кому-то будет интересно... Но напомню - ОНИ собирают наши налоги.. (потому еще смешнее)
В общем кто не в курсе - скоро ФНС будет заместо Википедии - все знать про всех и каждого (кому интересно - гуглируйте, инфы много, но "песня не об этом")...
В рамках создания того самого реестра в  ФНС начали переезжать некоторые базы данных. Допустим переехал общий реестр адресов РФ. Уточню - фамилий там нет, а вот адрес КАЖДОГО дома в РФ - есть. И это не Кадастр, там другая структура и смыслово база другая. И данные эти данные достаточно объемны + ну не на расхват это уж точно. Развернутая СУБД должна "на слух" под 50Гб весить, а чтобы с ней работать нужен уже другой стэк софта и железа....  Но случилось так, что мне как раз "в коллекцию не хватает", что-то я проникся системой "Открытые данные", и по работе СЛИШКОМ частно все это использую. Дождавшись утречка - открываю ссылочку, обратите внимание на РАЗМЕР, ну просто для понимания...

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

Тут чуть лирического отступления - в РФ (что немного странно, но правда) достаточно хорошо работает система Открытые Данные. То есть вот прям настолько, что если данные не подпадают под закон (какой-нибудь) - то они будут в интернетах и будут обновляться раз  в неделю.. И для тех, кто с ними работает - это просто ПРАЗДНИК, но вернемся у ФэНесе...
Открытые данные, 10гб база, файл в ВОРДЕ. С ССЫЛКОЙ.НА САЙТ ФНС. То есть я скачал файл в с сайта чтобы получить ссылку на сайт.. Окич, лезем дальше..

Про "может меняться IP" оставим, пустое... А вот "возвращает в формате Json".. Я от страха с интересом подумал что они на мидл-обработчике-ноSQL замутили 10гб архива с данными.. Потом полез читать описание. DBF... стоп... DBF?! БД написана в 1970х годах...  Кто с 1эсой работал - вот это ТО САМОЕ глючное говно, которое было в 1С вначале 2000х.. Ладно, пофигу, XML есть? Давайте его сюда. (за компанию посмотрел я на тот JSON - вопрос "А ЗАХУЙ им тут JSON?" я решил даже про себя задавать.. Ну оказалось JSON нам для JSONa, вот потому что...

Все, весь JSON... А ведь можно было бы ну там хотя бы ХЕШ АРХИВА? Не? Да и пес с ним - база как раз скача.. что?

Ладно, думаю может повезло и как раз на серваке у них поменялся айпишник в это время... Ставлю еще разик на скачивание, а так как открывать 10Гб я с локалки и не собирался, то сразу и
ssh
sudo get update
get upgrade
CURl https://fias.nalog.ru/DownloadUpdates?file=fias_xml.zip&amp;...

А курл мне и курлыкнул

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

П.С. Если кому интересно - как я ее все-таки скачаю - могу скинуть кусочек для ознакомления. На самом деле это может и исправить ситуацию с такими косорезами.. а может и нет, все равно интересно посмотреть)

Показать полностью 6
10

Нужен совет

Опытные пользователи excel, нужен ваш совет. Задача простая, но мне пока не под силу.
допустим: есть строка, в её ячейках числа от 0 до 20. Во второй строке мне нужна формула, которая будет показывать разницу между 10 и 20, но только при условии, что эта формула срабатывает, если в первой строке число, больше 10.
т.е., если в первой строке 10 и менее, то во второй 0, или пусто. Если в первой строке будет, например, 11, то во второй будет 1.

Отличная работа, все прочитано!