Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
29.03.2024, 11:03:33

Войти
Добавляйтесь в нашу группу ВКонтакте - будьте в курсе всех новых событий сайта, узнавайте первым обо всех акциях и новых статьях!
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по работе в Google-таблицах
| | |-+  Распределить поровну данные из одного столбца по трем другим
Страниц: [1]   Вниз
Печать
Автор Тема: Распределить поровну данные из одного столбца по трем другим  (Прочитано 2775 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« : 14.03.2023, 09:23:57 »

Добрый день!
В таблице есть столбец со списком ФИО, требуется распределить данные из этого столбца поровну в три других столбца (на скриншоте примерно изобразила). И важно, чтобы при разделении он не учитывал пустые ячейки и ячейки с формулами. Я знаю, как задать чтобы считал только ячейки с данными, но не знаю формулу разделения на столбцы и как использовать совместно эти формулы. Подскажите, пожалуйста, есть ли формула для этого?
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #1 : 14.03.2023, 10:36:26 »

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

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« Ответ #2 : 14.03.2023, 11:13:36 »

Благодарю за ответ! Ссылка на таблицу https://docs.google.com/spreadsheets/d/1BThewfrwtzAyAPudnGKG3GNpj7liU_fEd5LgM4mbVjk/edit?usp=sharing (часть данных я из нее по понятным причинам удалила, но они и не нужны). Мне нужно чтобы из столбца А листа "ФИО" фамилии+имена распределились на лист "распределение" по трем столбцам поровну. При этом диапазон был не только на заполненные ячейки, а на 200 ячеек: А2:А202 (так как эта таблица будет использовать в дальнейшем как шаблон и список может быть до 200 человек), поэтому и важно, чтобы пустые ячейки в подсчете при распределении не учитывались.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #3 : 14.03.2023, 12:07:24 »

Проверьте в файле по своей ссылке формулы в столбцах H:J. Обращаю внимание - они отличаются.
Исходные диапазон задан для строк 2:1000. При необходимости - расширить.
Первый столбец:
=if(row(A1)<=int(COUNTIF($A$2:$A$1000;"*? *")/3)+1;index($A$2:$A$1000;row(A1));"")
второй:
=if(H2<>"";index($A$2:$A$1000;row(A1)+COUNTIF($H$2:$H$1000;"*? *"));"")
опирается на первый(для простоты), поэтому если имена столбцов поменяются - надо будет везде H заменить на нужное имя столбца.
Третий:
=if(H2<>"";index($A$2:$A$1000;row(A1)+COUNTIF($H$2:$I$1000;"*? *"));"")
так же опирается на столбец H, но помимо него еще и на I: $H$2:$I$1000. Это тоже важно. Здесь должны быть указаны первые два столбца, в которые был выведен результат.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« Ответ #4 : 14.03.2023, 13:01:36 »

Спасибо вам большое! Вы волшебник! А есть другой способ вас отблагодарить (я не зарегистрирована в электронных кошельках)?
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #5 : 14.03.2023, 13:08:55 »

А есть другой способ
Способ есть, необходимости нет Улыбка Рад, что решение помогло.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« Ответ #6 : 14.03.2023, 18:05:49 »

Ну как же нет, любой труд должен быть вознагражден. Если надумаете - напишите, пожалуйста, как я могу вас отблагодарить. Вы мне оооочень помогли. Я уже перенесла формулы себе в табличку рабочую, поправила по индексам ячеек, все работает! Еще раз спасибо!
Записан
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« Ответ #7 : 10.04.2023, 12:04:03 »

Здравствуйте! При дальнейшей работе с таблицей выяснилось, что формула работает некорректно (при большем или меньшем количестве фамилий он последние фамилии пропускает). Полагаю, что это связано с делением на 3 и округлением. Пробовала сама добавить туда округление в большую сторону, но ничего у меня не вышло Грустный Буду благодарна, если и в этот раз поможете мне (таблица таже, по ссылке ранее. Я там вручную добавила еще имена, видно, что он их игнорирует).
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #8 : 11.04.2023, 09:36:54 »

Нет, проблема в другом совершенно. Формула работает корректно. Просто она опирается при подсчете строк на наличие именно двух слов(т.е Имя Фамилия), т.к. в столбце А у Вас идет объединение двух столбцов с обязательным пробелом. Если слово только одно - формула игнорирует некоторые значения, что логично. Изначально в столбцах были и имя и фамилия объединенные пробелом, на этом и был основан алгоритм формулы. А когда Вы руками ввели просто слова(без пробела на конце) - то формула и дала сбой, т.к. не ожидала такого поведения.
Если изменить формулу в столбце А на такую: =(C2&ЕСЛИ(D2<>"";" "&D2;""))
то можно подменить немного формулы вывода. В это формуле условие:
COUNTIF($A$2:$A$1000;"*? *")
записать так:
COUNTIF($A$2:$A$1000;"?*")
в файле поправил.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« Ответ #9 : 11.04.2023, 13:23:12 »

Спасибо, что возитесь со мной и моей задачкой. Так тоже получается не совсем верно  Плачущий в первых двух столбцах на три фио больше в каждом, чем в третьем, а важно, чтобы поровну (даже если число не делится на 3, то максимально равно. Например: 85 ФИО: по 29, 28, 28 в столбцах 1, 2, 3, соответственно). Можно сделать такое?
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #10 : 12.04.2023, 09:55:23 »

Прям вот именно так - не подскажу, некогда этим заниматься.
Попробуйте формулу в столбце Н заменить на такую:
=ЕСЛИ(СТРОКА(A1)<=ОКРУГЛВВЕРХ(СЧЁТЕСЛИ($A$2:$A$1000;"?*")/3;0);ИНДЕКС($A$2:$A$1000;СТРОКА(A1));"")
Распределять будет более предсказуемо и ровно, но все равно не 29, 28, 28. А скорее 29, 29 и 27. Вся проблема в том, что для прям такого распределения необходимо заранее вычислять разницу между предпоследним и последним столбцом.
В общем немного доработал формулы - смотрите детальнее в файле. По столбцам от H до J формулы такие:
  • H: =ЕСЛИ(СТРОКА(A1)<=ОКРУГЛ(СЧЁТЕСЛИ($A$2:$A$1000;"?*")/3;0);ИНДЕКС($A$2:$A$1000;СТРОКА(A1));"")
  • I: =ЕСЛИ(И(H2<>"";СТРОКА(A1)<=ЦЕЛОЕ((СЧЁТЕСЛИ($A$2:$A$1000;"?*")-ОКРУГЛВВЕРХ(СЧЁТЕСЛИ($A$2:$A$1000;"?*")/3;0))/2));ИНДЕКС($A$2:$A$1000;СТРОКА(A1)+СЧЁТЕСЛИ($H$2:$H$1000;"?*"));"")
  • J: =ЕСЛИ(H2<>"";ИНДЕКС($A$2:$A$1000;СТРОКА(A1)+СЧЁТЕСЛИ($H$2:$I$1000;"?*"));"")
« Последнее редактирование: 12.04.2023, 10:11:53 от Дмитрий Щербаков(The_Prist) » Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Мария050288
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 8


Просмотр профиля
« Ответ #11 : 12.04.2023, 13:27:07 »

Огромное-приогромное спасибо!!! Теперь все работает как надо!
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru