2017-11-06 8 views
-6

私はいくつかのエンティティIDを保存し、それらを非常に特殊な方法でフォーマットする必要があるソフトウェアから作業しています。私は可能な限り具体的にしようとします。フォーマットセルの内容

各セルの長さは6桁でなければなりません。

最初の数字はアルファベットまたは数字のいずれかです。

2桁目、3桁目、4桁目は数字でなければなりません。

5桁目と6桁目は英字のみです。

私は次のIDのいくつかを持っている(と私は何のように見えるためにそれらを必要とする)(代わりに - 空白のため)例えば:

G11R(G-11R-)、J6R(J6Rを - )、I6AR(I-6AR)、1516B(1516B-)、414(-414--)。

私はこのようなことをどこから始めるべきか分かりません。私はフォーラムを検索しましたが、私はあなたがこれを何と呼んでいるかについても確信していません。

どのようなヘルプでも、正しい方向にちょうど良い点があれば大歓迎です。

おかげ

+0

あなたのIDの空白を削除しようとしていますか? –

+0

@pokemon_Man OPが望んでいることは、与えられたものが前面にある '()'の中にあるものです。 –

+0

いいえ、私は記述した形式に一致するスペースを追加しようとしています。 A =アルファベット、N =数値、E =のいずれかの場合は、ENNNAAのような形式で入力する必要があります。だから私は "G11R"を持っている場合、私はGと1の間にスペースを追加し、 "G 11R"を得るためにRの後のスペースを追加する必要があります。 –

答えて

0

私は式でそれを行うことができるかどうかを確認したかったので:

=LEFT(IF(OR(ISERROR(--LEFT(A1)),AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)-AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)=3),LEFT(A1)," ") &REPT(" ",MAX(2 - (AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)-AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)),0)) & RIGHT(MID(A1,AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1),AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)-AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)+1),3) & MID(A1,AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)+1,LEN(A1))&"  ",6) 

enter image description here

だけを示すために、私は-で式中のすべてのスペースを置き換えます。

enter image description here

+0

ホーリー・カウ・スコット!!!それは非常に長い式ですが、うまくいきます! –