![出於調試目的增強位置編碼的顯示,可能使用 Excel 每個單元格一個字符](https://rvso.com/image/1365836/%E5%87%BA%E6%96%BC%E8%AA%BF%E8%A9%A6%E7%9B%AE%E7%9A%84%E5%A2%9E%E5%BC%B7%E4%BD%8D%E7%BD%AE%E7%B7%A8%E7%A2%BC%E7%9A%84%E9%A1%AF%E7%A4%BA%EF%BC%8C%E5%8F%AF%E8%83%BD%E4%BD%BF%E7%94%A8%20Excel%20%E6%AF%8F%E5%80%8B%E5%96%AE%E5%85%83%E6%A0%BC%E4%B8%80%E5%80%8B%E5%AD%97%E7%AC%A6.png)
我有以下問題需要解決:我使用位置編碼檔案。這些檔案顯示字串中某些位置的字元。每一行都是一筆記錄,行中字元的意義取決於其位置。為了調試和修復它們,我需要確保當前文件行上的遊標位置。
大多數編輯器(包括 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達到你想要的效果。