MS Excel: необходимо автоматически заполнить 3-символьное значение, где некоторые значения являются постоянными, а другие нет

3

Я хотел бы автоматически заполнить (если возможно - с удовольствием сделаю по-другому) строку, имеющую шаблон, показанный здесь: I1A, I1B, I2A, I2B, I3A, I3B,… В более информативном выражении первый символ - это буква I второй символ содержит числа, начинающиеся с 1, но каждый повторяется дважды, а третий символ чередуется между буквой А и буквой В. Я понятия не имею, как это сделать, поэтому я ищу помощи. Спасибо!

Бонни Н.П.
источник
Является ли автозаполнение столбцов одной строки или строк одного столбца?
fixer1234

Ответы:

3

Этот метод работает для множества проблем.
Мы собираемся взять каждую из трех позиций символов в виде столбца, а затем объединить все из них в четвертый столбец - одно поле.

Первый столбец [= "l"] или любой постоянный символ
- просто добавьте пару символов "l" в последовательных строках.
- Выберите два или более и перетащите вниз на
маркер заполнения (квадратная точка в правом нижнем углу поля выбора) Второй столбец [= 1,1,2,2,3,3, ...]
- Перетащите цифру 1 в каждая из первых двух строк данных
- третья строка, задайте формулу, равную первой строке, плюс одну
четвертую строку, задайте формулу, равную второй строке.
Выберите ТОЛЬКО третью и четвертую строки строки и перетащите маркер заполнения вниз.
Третий столбец [= A, B, A, B ...]
- введите A и B в первую и вторую строки данных, а затем снова в третью и четвертую строки данных
- выберите все четыре и перетащите маркер заполнения вниз.
Четвертый столбец [I1A, I1B, I2A, I2B, I3A, I3B ...]
- объединить остальные три столбца
- перетащите заливку вниз.

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

Преимущества:
- Как только вы отсортируете несколько строк, вы можете просто перетащить заполнить это до конца света. На самом деле, вы можете поиграть с перетаскиванием всех четырех столбцов одновременно, но вам нужно будет найти правильную «высоту» выделения, чтобы начать перетаскивание (вероятно, с четырех), и правую начальную строку.
- Эти простые формулы позволяют легко понять, что происходит, и изменять по мере необходимости для новых задач.
- Этот метод живет в вашей голове, а не в определенном списке где-то.
Недостатки:
- Занимает несколько столбцов, которые могут потребовать промежуточную версию вашего листа, если вещь там упакована.

Хаакон Даль
источник
1

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

Альтернатива 1

Этот подход рассматривает предыдущие ячейки, чтобы выяснить, что нужно. Поскольку шаблон основан на двух ячейках, вам необходимо ввести первые две ( I1Aи I1B). Введите эту формулу в следующую ячейку.

Если перейти: если первые две ячейки - А1 и В1, то это будет в С1:

="I" & IF(MID(A1,2,1)=MID(B1,2,1),1,0) + MID(B1,2,1) & RIGHT(A1,1)

Если идти вниз: если первые две ячейки - А1 и А2, то это будет A3:

="I" & IF(MID(A1,2,1)=MID(A2,2,1),1,0) + MID(A2,2,1) & RIGHT(A1,1)

При этом используются строковые функции для извлечения символов, которые изменяют, корректируют их и соединяют части обратно (амперсанды объединяют части). Первый символ является постоянным.

Для второго символа он смотрит, было ли число (средний символ) одинаковым для двух предыдущих ячеек. Если так, пришло время добавить 1. В противном случае это остается прежним.

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

Если у вас есть формула в третьей ячейке, вы можете скопировать ее по мере необходимости. Способ 1 не волнует, где на листе вы положили его.

Альтернатива 2

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

Число в середине увеличивается 1за каждые два столбца (или строки). Функция COLUMN дает вам номер столбца (A = 1, B = 2 и т. Д.). Функция Row делает то же самое для номера строки. Если вы начинаете со столбца A (или строки 1), у вас уже есть правильный начальный номер. Если этот шаблон начинается в более позднем столбце (или строке), вам нужно будет вычесть на 1 меньше номера столбца (или строки), чтобы получить начальное значение 1. Деление на 2 и округление повторяют значение для двух столбцов ( или строки), затем увеличивается.

Если перейти: если вы начинаете в столбце A, эта часть формулы будет иметь вид:

ROUND(COLUMN()/2,0)

Если вы начнете, скажем, в столбце C (3-й столбец), формула будет выглядеть так:

ROUND((COLUMN()-2)/2,0)

Если идти вниз: если вы начнете со строки 1, эта часть формулы будет иметь вид:

ROUND(ROW()/2,0)

Если вы начнете, скажем, в строке 3, формула будет:

ROUND((ROW()-2)/2,0)

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

Письмо на конечном чередуется, так что вы можете основывать , что на нечетной VS. даже столбец (или строку) числа.

Если перейти: если вы начинаете в нечетном столбце, этот кусок будет:

IF(MOD(COLUMN(),2)=0,"B","A")

Если начальный номер столбца четный, это будет:

IF(MOD(COLUMN(),2)=0,"A","B")

Если идти вниз: если вы начинаете в нечетном ряду, этот кусок будет:

IF(MOD(ROW(),2)=0,"B","A")

Если начальный номер строки четный, это будет:

IF(MOD(ROW(),2)=0,"A","B")

Функция MOD дает вам остаток после деления номера столбца (или строки) на 2. Номер столбца (или строки), который является четным, будет иметь остаток от 0нечетного 1. Таким образом, вы выбираете последовательность «A» и «B» на основе этого. Для сводного примера ниже я покажу нечетную версию.

Соединение это дает вам:

Если перейти через:

="I" & ROUND(COLUMN()/2,0) & IF(MOD(COLUMN(),2)=0,"B","A")

Если идти вниз:

="I" & ROUND(ROW()/2,0) & IF(MOD(ROW(),2)=0,"B","A")

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

fixer1234
источник
оба работают правильно, это выглядит просто, но немного сложнее. Идеальный 10 ☺
Раджеш С
1

Во-первых, поставьте только 1, оставьте пустую ячейку под ней, 2, оставьте пустую клетку ниже, как это

image1

Теперь выберите эти 4 ячейки и копируйте их так долго, как хотите, чтобы ваши числа были сгенерированы.

Это даст вам 1, 2, 3, 4 ... с пробелом в 1 пустую ячейку между

Во-вторых, в столбце рядом с 1 введите = "I" & A1 & "A", где A1 - это ячейка, имеющая 1.

в строке ниже, где вы ввели формулу выше, введите = "I" & A1 & "B",

по сути, это будет в ячейке рядом с пустой ячейкой ниже 1

Ячейка B1 теперь будет иметь I1A (первая формула выше) Ячейка B2 теперь будет иметь I1B (вторая формула выше), вот так

image2

Выберите B1: B2, скопируйте вниз до места, где вы заполнили 1,2,3, ... в первом шаге

Ваш столбец B будет иметь ваш список.

image3

Файл Excel, в котором это сделано

VSRawat
источник
1
Работает в Excel, но LO Calc не такой умный. +1, хотя это не обязательно будет работать в других таблицах.
fixer1234
ОП пометил microsoft-excel, поэтому он хочет найти решение только для MS Excel. Если он или кто-то хочет другую электронную таблицу, они скажут об этом, и тогда я посмотрю, что можно сделать.
VSRawat
1
Ответы не только для ОП. Для электронных таблиц всегда хорошо, если решение будет работать для пользователей других распространенных "совместимых" электронных таблиц. Не каждое решение будет. Если кто-то обнаружит, что решение не будет работать в другом приложении (или если автор знает об этом), хорошо указать это в ответе или в комментарии, чтобы избавить читателей от разочарования, пытаясь заставить его работать в другом приложении. Тем не менее, вопрос помечен Excel, и это работает для Excel. Пользователи других приложений не всегда могут воспользоваться каждым решением. :-)
fixer1234
1
Я согласен, поэтому я проголосовал за это. Там нет ничего плохого в вашем ответе. Моя точка зрения заключалась лишь в том, что целью сайта является база знаний о решениях, чтобы другие, кроме ОП, могли делиться ими. Люди склонны считать, что «совместимые» приложения (Excel, LO Calc, Google Sheets и т. Д.) Идентичны, поэтому они ожидают, что любое решение будет работать в любом приложении. Они не всегда. Когда мы осознаем, что решение не будет работать с «совместимыми» приложениями, будет любезно отметить его, чтобы пользователи этих приложений не теряли время и не жаловались, что оно не работает (и, возможно, понизило голос), и тогда другие пользователи тратят время на выяснение причин. :-)
fixer1234
1
Не по этому вопросу, но я сделал это по другим. Google Sheets не по теме; лучше для всех, если вопрос будет размещен на правильном сайте, поэтому ответы будут работать для этого приложения. Многие решения работают в разных приложениях, некоторые - нет. Если вопрос точно помечен, это не проблема для ОП. Основная проблема заключается в том, что пользователи других приложений видят решение для работы с электронными таблицами и ожидают, что оно будет работать для них. Это не «тяжелая задача», потому что мы обычно не пытаемся найти универсальное решение. Решение, что это такое. Но если мы знаем, что это не совместимо, любезно отметить это.
fixer1234