我需要解决以下问题:我使用位置编码文件。这些文件显示字符串中特定位置的字符。每行都是一条记录,行中字符的含义取决于其位置。为了调试和修复它们,我需要确保当前文件行上的光标位置。
大多数编辑器(包括 Notepad++)都会显示文件中的列位置。然而,尽管这很有用,但我希望让它更简单。
我希望编辑器能够以某种方式突出显示我的文件中的字符位置。
这是我的想法:使用Excel 2010每个单元格一个字符。
理想情况下,如果 Excel 允许我将文本粘贴到预先格式化的表格中,颜色,边界和标题列我本来可以解决我的问题。但我必须确保 Excel 接受粘贴,方法是将每个字符插入单元格,并在发现 CRLF 时转到下一行。
这确实是一个XY问题我希望我以最好的方式提出我的问题
- 问题 X:增强位置编码文件的可读性
- CTRL问题 Y:鉴于 Excel 可能是一个很好的盟友,我如何使用单个+将整个文件粘贴到每个字符一个单元格中V?
例子
由于在这个问题中发布真实数据确实很复杂,因此通用数据集可以(在文档中)表达如下:
- 每行构成一条记录
- 字符 0 是数据类型,字母数字
- 字符 1:8 是姓氏
- 9:15 字符是名字
- 16:30 是电话号码
- 字符 31:38 是 yyyyMMdd 格式的出生日期
- 填充字符是空格
- 行以 CRLF 结尾
示例“有效”记录(我手写)
0SMITH JOHN +13652145896 19780101\r\n
按照 Excel 示例,我可以在彩色列中显示这些数据,并轻松使用颜色/边框参考线编辑数据表
答案1
我非常注重“每个单元格一个字符”,我建议使用一个模板,其中 Sheet2:5 的 ColumnA 分别用 Sheet1! B:B 到 E:E 填充。然后按此方式分组到 Sheet2:5 B1 中的每个单元格中,=MID($A1,COLUMN()-1,1)
并根据需要横向和纵向复制。Sheet1 保留用于源数据:
答案2
以下公式似乎在以下情况下有效:显示数据集
本地化
=STRINGA.ESTRAI(INDIRETTO(CONCATENA("PASTEME!A";RIF.RIGA()));RIF.COLONNA();1)
手动国际化(请在英文 Excel 中更正函数名称)
=MID(INDIRECT(CONCATENATE("PASTEME!A",ROW())),COLUMN(),1)
现在我只需要将其复制到整个工作表并添加格式/边框/颜色(每个数据集中有数千条记录)
公式方法的问题在于,我不能轻易编辑数据集上的数据,但至少我清楚地知道在哪里搜索编辑以及数据集中可能存在错误的位置(或简单地“立即了解数据”)
答案3
最简单的方法是使用预先格式化的 Excel 工作表(模板)并使用该Data>From Text>Fixed Width
选项。这样您就可以将任何/所有字符放在自己的单元格中,并且可以从您喜欢的任何电子表格单元格开始您的范围。
如果这是一项重复的任务,我会使用 VBA 来稍微自动化一下这个过程,也许使用一个对话框来请求一个文件和一个指向插入的点,但其余的都自动完成。
至于您的 Y,我认为任何粘贴选项都无法CTRLV满足您的要求。