我想自动填充(如果可能的话 - 很乐意用另一种方式)具有以下所示模式的行:I1A、I1B、I2A、I2B、I3A、I3B……更具体一点,第一个字符是字母 I,第二个字符包含从 1 开始增加的数字,但每个数字重复两次,第三个字符在字母 A 和字母 B 之间交替。我不知道该怎么做,所以我正在寻求帮助。谢谢!
答案1
此方法适用于多种问题。
我们将三个字符位置中的每一个作为一列,然后将所有这些位置连接成第四列 - 一个字段。
第一列 [="l"] 或任何常量字符
- 只需在连续的行中放入几个“l”字符即可。
- 选择两个或更多并向下拖动填充柄(选择框右下方的方点)
第二列 [= 1,1,2,2,3,3,...]
- 在前两个数据行中分别放置一个数字 1
- 第三行,设置公式使其等于第一行加一
- 第四行,设置公式使其等于第二行
- 仅选择第三行和第四行条目并向下拖动填充柄。
第三列 [=A,B,A,B...]
- 在第一和第二个数据行输入 A 和 B,然后在第三和第四个数据行中再次输入
- 选择所有四个并向下拖动填充柄。
第四列 [I1A、I1B、I2A、I2B、I3A、I3B ...]
- 连接其他三列
- 向下拖动填充。
还有其他方法可以做到这一点,但这种方法完全可以重复使用,而且听起来适合问题的严重程度。
优点:
- 一旦你对几行进行排序,你只需拖动填充即可,直到世界末日。事实上,你可以尝试一次拖动所有四列,但你必须找到正确的“高度”来开始拖动(可能是四),以及正确的起始行。
- 这些简单的公式使理解正在发生的事情和根据新任务的需要进行修改变得微不足道。
- 这种方法存在于你的头脑中,而不是在某个定义的列表中。
缺点:
- 占用几列,如果东西塞满了,可能需要你的工作表的中间版本。
答案2
这里有几种方法。问题不清楚您是要将公式复制到单行的列中,还是复制到单列的行中。我将展示这两种方法。
方案 1
此方法会查看前面的单元格以确定需要的内容。由于模式基于两个单元格,因此您需要输入前两个(I1A
和I1B
)。在下一个单元格中输入此公式。
如果穿过:如果前两个单元格是 A1 和 B1,则这将进入 C1:
="I" & IF(MID(A1,2,1)=MID(B1,2,1),1,0) + MID(B1,2,1) & RIGHT(A1,1)
如果下降: 如果前两个单元格是 A1 和 A2,则这将进入 A3:
="I" & IF(MID(A1,2,1)=MID(A2,2,1),1,0) + MID(A2,2,1) & RIGHT(A1,1)
它使用字符串函数提取变化的字符,对其进行调整,然后将各部分重新组合在一起(使用 & 符号连接各部分)。第一个字符是常量。
对于第二个字符,它会查看前两个单元格的数字(中间字符)是否相同。如果是,则需要添加1
。否则保持不变。
由于最后一个字符每隔一个单元格重复一次,因此它只使用前两个单元格的值。
在第三个单元格中输入公式后,您可以根据需要将其复制到任意位置。方法 1 不关心您将其放在工作表的哪个位置。
方案 2
这种方法使用一些算术技巧来计算出每个单元格中的内容。
这数字中间的1
数值每两列(或行)增加 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)
我将在下面的整个公式中展示简单版本;如果您从不同的列(或行)开始,只需替换调整后的版本。
这信在末尾交替出现,因此您可以根据奇数或偶数列(或行)号来判断。
如果穿过:如果你从奇数列开始,那么这部分将是:
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")
在第一个单元格中输入适当的版本,然后根据需要将其复制到或向下复制到任意数量的单元格。
答案3
首先,只输入 1,在其下方留一个空白单元格,2,在其下方留一个空白单元格,像这样
现在选择这 4 个单元格,并复制你想要生成的数字
这将为您提供 1、2、3、4......中间有 1 个空白单元格
其次,在 1 旁边的列中输入 ="I"&A1&"A",其中 A1 是包含 1 的单元格。
在输入上述公式的下面一行中输入 ="I"&A1&"B",
实际上,这将出现在 1 下方空白单元格旁边的单元格
单元格 B1 现在将具有 I1A(上面的第一个公式)单元格 B2 现在将具有 I1B(上面的第二个公式),如下所示
选择 B1:B2,向下复制直到你在第一步中填写 1,2,3,... 的位置
您的 B 列将有您的列表。