• ベストアンサー

エクセルにて 

エクセルにて  ある数値の五桁目が0の時だけ違う値に置き換えるような関数を教えてください。 たとえば A1のセルに 00001と入力した場合 B1のセルに 五桁目が0の時 20001 となるようになるような関数です。 ただし五桁目が0以外の場合たとえばA0001の場合はそのままA0001を返すようにしたいです。 置き換えられるのはあくまで五桁目だけです。 SUBSTITUTEやREPLACEを使用してやってみましたがうまくいきません。 関数で出来るかもわかりません宜しくお願いします。

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

  • ベストアンサー
  • chuchuo
  • ベストアンサー率45% (99/217)
回答No.3

=if(left(a1,1)="0","2"&MID(a1,2,LEN(a1)-1),a1) でどう。 ただし 全セル文字列書式

dosucoi
質問者

お礼

今回はじめてOKWaveを使用しました。 皆さんの素早い対応驚きと感動でした。 一番シンプルな式で私の行いたいことができましたので ベストアンサーに選ばせていただきました。 皆様ありがとうございました。

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

その他の回答 (3)

  • laputart
  • ベストアンサー率34% (288/843)
回答No.4

B1に =IF(MID(A1,LEN(A1)-4,1)="0",LEFT(A1,LEN(A1)-5) & "2" & MID(A1,LEN(A1)-3,4),A1) とします。 但し、A1の文字列の長さが5未満の場合エラーになります。 解説  LEN(A1) は A1の文字列の長さを得る関数 LEFT(A1,N) はA1の文字列の左からN個を抽出する MID(A1,N,M)はA1の文字列の左からN番目からM個を抽出する関数 です。 またA1が文字列以外の場合エラーになります

すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

すみません。最後の式を間違えてました。 > A1のセルに 00001と入力した場合 A1のセルの書式は何ですか?(文字列/数値を書式"00000"で整形?) > B1のセルに 五桁目が0の時 20001 となるようになるような 例示の場合の '2'はどうやって受けとりますか? > 置き換えられるのはあくまで五桁目だけです。 A1のセルは必ず5桁?4桁や6桁の場合がありますか? 6桁の場合の5桁目も置き換え対象ですか? まずはセルB1に 式[=IF(AND(LEN(A1=5,LEFT(A1,1)="0"),"2"&MID(A1,2,4),A1)] を設定してみて、いろいろ調整してください。

すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> A1のセルに 00001と入力した場合 A1のセルの書式は何ですか?(文字列/数値を書式"00000"で整形?) > B1のセルに 五桁目が0の時 20001 となるようになるような 例示の場合の '2'はどうやって受けとりますか? > 置き換えられるのはあくまで五桁目だけです。 A1のセルは必ず5桁?4桁や6桁の場合がありますか? 6桁の場合の5桁目も置き換え対象ですか? まずはセルB1に 式[=IF(AND(LEN(A1=5,LEFT(A1,1)="0"),"0"&MID(A1,2,4),A1)] を設定してみて、いろいろ調整してください。

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

関連するQ&A