• ベストアンサー

同じ文字の省略

現在、Excelで決算の資料を作っているのですが、型番号が重複しているもの例えば、 LA 58 LA 59 LA 60 などLAが重なって分かりにくいので、LAの部分を簡単に省略する方法などがありましたら教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

LA58などのLAの部分をEXCEL関数で、どう判別するかが問題です。 数字とそれ以外を分けるという発想で良いのではと思うが、質問はあいまい。 この切り出す関数は相当難しいのだ。 別の空き列に =LEFT(A2,MIN(FIND({"0","1","2","3","4","5","6","7","8","9"},A2&"0123456789"))-1)  と入れる 例 データ A列  空き列 abx12 abx LA567 LA fght23 fght s1235 s LA58 LA LA62 LA LA1 LA ここで A7:C9 C列は結果 とすると LA58 LA LA58 LA62 LA 62 LA1 LA 1 C列C7の式は =IF(B7=B6,REPT(" ",LEN(B7))&SUBSTITUTE(A7,B7,""),A7) このように複雑になる。 条件付書式でやるとしてもこの数式が顔を出す。 だから関数ではあきらめたほうが良いだろう。 VBAならプログラムは複雑になっても、シートの表に出ない形でやれるが。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

1つのセルの中に「LA58」のように一つの言葉で記入してあっては,簡単な自動化の方法はありません。 #マクロを勉強して頑張って処理すればまぁなんとかなるかも?という具合ですが,それでもキチンと考えて作らないとたとえば2つ目の「LA59」は一つ上の「LA58」と「LA5」まで同じなので「9」だけ表示,みたいな頓珍漢になります あなたがアタマで考えている「同じ」と「同じではない」をもうちょっとキチンと整理して,たとえば型番の記号で「LA」の部分と「58」の部分で分けて良いなら,その2つに型番記号を分けて2つのセルに分離して書き込むような準備をすれば,エクセルの条件付き書式などを使って簡単に省略表示もできます。 参考: ALT+F11を押す 現れたシートに下記をコピー貼り付ける sub macro1()  dim h as range  dim i as long  for each h in range("A2:A" & range("A65536").end(xlup).row) 'A列に型番の場合  for i = 1 to len(h.text)  if isnumeric(mid(h, i, 1)) then  exit for  end if  next i  if left(h.text, i -1) = left(h.offset(-1).text, i -1) then  h.characters(1, i -1).Font.colorindex = 2  end if  next end sub ファイルメニューから終了してエクセルに戻る マクロを実行する

すると、全ての回答が全文表示されます。

関連するQ&A