最大字符数然后溢出到下一个单元格

最大字符数然后溢出到下一个单元格

创建数据库时,单元格最多只能容纳 250 个字符,输入数据时我希望第一个单元格最多允许 250 个字符,当我继续输入其他字符时,我希望它自动溢出到下一个相邻单元格,直到再次达到 250 个字符,然后再次溢出到下一个相邻单元格。我为此建立了三列。

答案1

确实有一种方法没有什么特殊的(没有宏或其他非...早期学习...功能):使用两张纸。

Sheet 1您输入数据、将其键入或粘贴到单元格中时,Sheet 2您就会获得对输入的数据起作用的公式。公式将简单地获取条目Sheet 1并根据需要对其进行划分。完成后,无论是批量还是全部,您都必须执行一项或两项操作。您将使用将公式转换为值Paste|Special|Values,然后处理空单元格(如果您的数据库需要 true,NULL's则 Excel 中存在“空白”)。我假设您需要第二个 — 如果不需要,只需使用公式的核心。

因此,单元格Sheet1!A2已输入数据。单元格A2:C2上将Sheet 2有分开的数据。您将测试核心公式的预期结果是否为空白,并返回如果为空白则永远不会发生的结果。我将在公式中使用简单的“PPP”,但您可以使用更高的 Unicode 字符,或者使用旧的 128-255 代码来绘制边框。

A 列仅获取:

=LEFT(Sheet1!A2,250)

B列得到:

=MID(Sheet1!A2,251,250)

第 3 列得到:

=MID(Sheet1!A2,501,250)

请注意,第 3 列未使用,RIGHT()因为查找要使用的字符数会比此处的简单方法更复杂。这种方法之所以有效,是因为它MID()不关心是否存在 501 个字符,也不关心之后是否存在 250 个字符。如果不存在,则返回空白,而不是错误。所以保持简单,是吗?

每个都需要包装在一个IF()测试中,以查看是否返回空白,如果是,则分配唯一值,如果不是,则保留结果。例如,第 1 列:

=IF(LEFT(Sheet1!A2,250)="","PPP",LEFT(Sheet1!A2,250))

对所有三列使用相同的技术。如果您希望实际使用的行下方的所有内容都为空白(对于三个容易检查的列来说毫无意义,但也许有一天您会对 320 列这样做),则将其全部包装在另一个中,IF()以查看相应的单元格是否Sheet 1为空。您返回的内容可能很复杂,有很多可能性,但如果您不介意返回唯一值,您可以将这两个值合并IF()'s为一个,以测试AND()两个条件之一。如上所述,也可以采取其他一些有用的方法。

所以...现在您有了数据,Sheet 2并且可以根据需要很好地拆分它们。Copy并将Paste|Special|Values其作为数据而不是公式,然后Search and Replace在框中使用唯一值,而实际上没有指定任何内容Replace来创建真正的空白,以便在导入后获得真正的空白NULL's

当然,应该把公式准备好放在某处(Sheet 3也许),以便下次使用时重新粘贴到原来的位置。

最后,进行导入。

只需几个简单的公式,使它们成为值,使空白的单元格变成真正的空白,就完成了。

相关内容