• ベストアンサー

EXCEL文字列操作

いつもお世話になっています。 EXCELの文字列操作に関してですが、右から任意の文字を表示させないことは可能でしょうか? 右から2文字を表示させない場合 1000 → 10 100  → 1 2001 → 20 5556 → 55 桁数が同じならLEFT関数で対応できるのですが、桁数が違うので上手くいきません。 ご教授願います。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

いや、LEFT関数でいいですよ。 =LEFT(A1,LEN(A1)-2) 文字数が2文字以下だとエラーするので、そういう場合があるときは IFあたりを使ったハナ薬が必要ですけど。

TRIPLE-G
質問者

お礼

ありがとうございます。 私はまだまだ関数を使いこなせていませんね。 助かりました。

その他の回答 (6)

回答No.7

表示だけでしたら、セルの書式設定→ユーザー定義で  [#]、[Ctrl]+[J]、[#]、[#] の順に入力。 ※[Ctrl]+[J]のところで入力内容が消えたようになりますが、かまわず  以降の [#]、[#] を入力してください。 さらに、「折り返して全体を表示する」にチェックを入れます。 ※セル高を若干調整する必要があるかも知れません。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.6

◆こんな式でもいいのでは =LEFT(A1,MAX(0,LEN(A1)-2)) または、 =REPLACE(A1,MAX(1,LEN(A1)-1),50,)

TRIPLE-G
質問者

お礼

ありがとうございます。 私はまだまだ関数を使いこなせていませんね。 助かりました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

次の数式は如何でしょうか。 =IF(LEN(A1)>2,LEFT(A1,LEN(A1)-2),A1)

TRIPLE-G
質問者

お礼

ありがとうございます。 私はまだまだ関数を使いこなせていませんね。 助かりました。

  • lele00
  • ベストアンサー率29% (74/250)
回答No.4

こんな方法もあります。 =SUBSTITUTE(A1,RIGHT(A1,2),"")

  • s_end
  • ベストアンサー率41% (176/425)
回答No.3

元の文字列がA1セルに入っているとして・・・ =LEFTB(A1,LENB(A1)-2) 解説 LENB(A1) とはセルA1の文字列長が不定なのでLENB関数で文字列長を調べます。 LENB(A1)-2とはその文字列から2文字分少なくするので-2します。 LEFTB(A1,LENB(A1)-2)とは、A1セルの文字列の左側から、上記で求めた文字数(不定長文字列-2文字)だけ取り出し表示せよ、ということです。 お分かりでしょうか? 文字列が半角、全角入り混じっていないならばLENB関数の代わりにLEN関数、LEFTB関数の代わりにLEFT関数でも結構です。 まだ他にもやり方はあると思います。

TRIPLE-G
質問者

お礼

ありがとうございます。 私はまだまだ関数を使いこなせていませんね。 助かりました。 少し理解に時間がかかりましたがなんとか理解できました。

回答No.1

> 桁数が同じならLEFT関数で対応できるのですが、桁数が違うので上手くいきません。 RIGHT関数というのがありますよ。(^^;;