[PR]ネットとスマホ まとめておトク!

文字列の先頭の文字以外の他の文字を返すExcelの関数があったら教えて下さい。
文字数がばらばらなので、RIGHTとかは使えません。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

=right(a1,len(a1)-1)


とするのはいかがでしょう
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2007/02/13 22:59

強引ですが、下記でも可。


=SUBSTITUTE(B1,LEFT(B1,1),"",1)
でも、結構使えるかも。
頭2文字を消したいなら、
=SUBSTITUTE(B1,LEFT(B1,2),"",1)
で済むし...
    • good
    • 0
この回答へのお礼

ありがとうございます!勉強になります!

お礼日時:2007/02/13 23:04

>文字数がばらばらなので、RIGHTとかは使えません。


#1に既回答ですが、使えますよ。
関数を使うとき、普通の使い方では、決まった数値を扱うが、それを
変動する数(内容)でも、使えるようにできないか、どうすればできるか、考えるのが、関数利用の巾を広げる課題です。
(1)知ってる関数の数を増やす(本題ではRight,Mid,Replace,Len)
(2)固定して考えていた部分を変化しても使えるようにする
(2)は関数の組み合わせに(通常。関数の中(引数)で関数を使う)なります。
(3)ほかの関数でもできないか(Mid、Replaceの例)
(蛇足)
>RIGHTとかは使えません。
質問するときは「RIGHTは使えますか」とした表現にしておいたほうが良い。本件ではその該当ではないが、関数では質問者の予想外の方法で回答が出ている場合が結構ある。
    • good
    • 0
この回答へのお礼

ありがとうございます!
関数の組み合わせっていう発送は頭に無かったので・・・
蛇足の箇所も次に質問する時に参考にします。

お礼日時:2007/02/13 23:03

それでは自分はLEFT関数で。



ごめんなさい。無理でした。
代わりに REPLACE関数で
 =REPLACE(A1,1,1,"")
    • good
    • 0
この回答へのお礼

REPLACE関数は知りませんでした。
勉強になります!
ありがとうございます!

お礼日時:2007/02/13 23:05

Mid関数でもできます。


=MID(A1,2,200)
200でも、何でもかまいません。短すぎるのは困りますが・・・
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2007/02/13 23:00

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル 文字の先頭4文字だけを切り出す関数

ひとつのセルに「5125 ソーセージ」というように管理番号と品名を入力している物に対して、先頭の4文字だけ別のセルに切り出す関数を知りたいです。
エクセルのヘルプ機能で一通り調べてみたのですが、見つからず関数の上手な見つけ方もご教示いただければ幸いです。

Aベストアンサー

Left関数でどうでしょう?

Qエクセルで文字列の右から4文字を削除してセルに表示したい

明けましておめでとうございます。宜しくお願いします。
エクセルの文字表示で、A列(A1~A20)に文字数の違う文字列が20行程入力されています。それを、A列(A1~A20)のセルに入力されてされている文字列から4文字だけ削除して、B列(B1~B20)に表示(入力)したいのですがどうすればいいのでしょうか?
例えば、A列(A1~A20)のセルにそれぞれ「今年は2008年です。etc.」とか「今年は2008年1月3日です。etc.」、、、など文字数の違った文字列が入力されているセルの右から4文字分「etc.」だけ削除してB列(B1~B20)に「今年は2008年です。」とか「今年は2008年1月3日です。」というふうに表示(入力)したいのです。テキストを読んでMID関数で出来るかなと思ったのですが、MID(文字列の、何文字目から、何文字分)というもので、文字列の左から何文字目を先頭に、何文字分を表示ということで、私のやりたい事の逆なのです。いい方法を教えて下さい。

Aベストアンサー

=MID(A1,1,LEN(A1)-4)
では?

QExcel 文字列の前後に、特定の文字を付加したい

Excelで、ある列に不規則な文字列がならんでいます。
その文字列の前後に、いっせいに好きな文字を付加したいのです。
例えば、「AAA」という文字列の前後に
「BBBACCC」といったように
AAAといった文字列にBBBやCCCと一斉に付加したいです。
AAAはアルファベットや日本語等さまざまなのですが、
どうすればいいでしょうか?
教えてください。

Aベストアンサー

& で繋ぎます。

A1 セルの文字の前後に、ABC と DEF を付けたいなら、
別のセルに下記のような式を入れます。

="ABC" & A1 & "DEF"

Qエクセル 数字の前の「00」を消す方法

エクセル初心者なので、行き詰ってしまいました。
どうか、簡単な方法を教えてください。
コード「001234」「001235」「001236」・・・と6桁になっている数字の前2桁「00」を
消して4桁にしたいのです。
置き換えで「00」を、なくすことを考えたのですが、コードが「001200」や「000012」などの
場合全ての「0」も消えてしまいます。
前の「00」のみを消す方法があったら教えてください。
どうぞよろしくお願いいたします。

Aベストアンサー

試しにマクロを作ってみました。
最初はダミーデータでテストして、よければ使ってみてください。
対象セル範囲を選択しておいて、マクロを実行してください。

Sub test()
  Dim c As Range
  For Each c In Selection
    If Len(c.Value) = 6 Then
      c.Value = Right(c.Value, 4)
    End If
  Next
End Sub

セルの書式設定が「文字列」なら大丈夫ですが
そうでない場合、000012 が 12 となります。
その場合は
c.Value = "'" & Right(c.Value, 4)
としてください。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qvlookup関数で検索値を含む文字列を検索する方法

vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。
 よろしくお願いします。

Aベストアンサー

=VLOOKUP("*"&D1&"*",A:C,3,FALSE)

QEXELで文字列の先頭に文字を挿入したい(置換)

EXEL2003です。
セルに文字列が並んでいます。
それの先頭にある文字を挿入するにはどうしたらよいのでしょうか?
「置換」で先頭とか、末尾を指定する方法がありますか?
よろしくお願いします。

Aベストアンサー

#01です。変換したい文字列のセル範囲が決まっているなら、#02さんの方法で補助セルに変換して、その結果を「コピー」→「値として貼りつけ」で書き戻す方法が良いと思います。

もしシート中の全ての「文字列」が入っているセルの先頭に「ある文字」を挿入するなら、以下のマクロになります。

Sub Macro4()
Dim r As Range
 For Each r In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 2)
  r.Value = "ある文字" & r.Value 'この行を修正
 Next r
End Sub

また「文字列」だけではなく「数値」も同様にするなら、SpecialCells(xlCellTypeConstants, 2)の数字を2→3に変更してください。

末尾に「ある文字」をつけたいのなら
r.Value = r.Value & "ある文字"
に変更してください。

マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はALT+F8を押して、マクロ名を選択します

マクロで変換した結果はUNDOで戻せませんので、シートはコピーしてから試してくださいね。

#01です。変換したい文字列のセル範囲が決まっているなら、#02さんの方法で補助セルに変換して、その結果を「コピー」→「値として貼りつけ」で書き戻す方法が良いと思います。

もしシート中の全ての「文字列」が入っているセルの先頭に「ある文字」を挿入するなら、以下のマクロになります。

Sub Macro4()
Dim r As Range
 For Each r In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 2)
  r.Value = "ある文字" & r.Value 'この行を修正
 Next r
End Sub

また「文字列」だけで...続きを読む

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q文字列(セル)から一部の文字だけ削除する方法

質問させて頂きます。

エクセル等で下記のような編集をしたいと考えております。

A列      A列
12345     123
67890     678
01234  ⇒  012
56789     567
98765     987

ようは、右側の2文字などを指定して削除をする方法です。

少し説明が分かり辛いかもしれませんが、もし、分かりましたら、ご教授いただければ、幸いです。

どうぞ、宜しくお願い致します。

Aベストアンサー

右側の2文字を削除するなら、セルA1に文字が入っているとき
=LEFT(A1,LEN(A1)-2)
とすれば、取り出せます。
「LEFT」関数は文字列の左側から指定文字数分取り出す関数。
「LEN」関数は、指定文字列の長さを計算してくれる関数です。
なので、左側から「文字数-2」文字取り出せば質問のとおりになります。


人気Q&Aランキング

おすすめ情報