Home > Excel エクセルの使い方-関数/計算式-文字列操作

Excel エクセルの使い方-関数/計算式-文字列操作

スポンサード リンク
対象:Excel2003, Excel2007, Excel2010

「エクセルで頭部に円マークを付ける関数」
という検索が行われていました。

数値の前に円マークを表示する方法を探している方による検索でしょう。

もちろん、
関数を使う必要はまったくなく、多くの場合は関数を使わずに行うほうがいいことではありますが、どうしても関数を使って数値の前に円マークを表示したい方向けにその方法をご紹介しておきます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル CODE関数 あ 9250 とは」
という検索が行われていました。

CODE関数とは、引数に指定された文字列のうち、先頭の文字の文字コードを返す関数です。

例えばB1セルに「=CODE(A1)」という数式を入力しておいて、
A1セルに
「A」を入力するとASCIIコード「65」
「a」を入力するとASCIIコード「97」
がB1セルに表示されます。

このときA1セルに、「あ」を入力するとB1セルには「9250」と表示されます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

最近、RDB(リレーショナルデータベース)的な考えをしていない方の作ったExcelファイルに触れる機会があり、こういうファイルを扱うときに私と同じことをやりたいと考える方は少なくないだろうな、と感じることがありましたので記事にさせていただきます。

RDB的考えをする方なら、一つの列に複数の異なったタイプのデータを入れるということは、まず、しません。

しかし、RDB的考えをしない方の作ったExcelでは、RDB的考えをすれば絶対に別フィールドにするようなデータが一つのセルに入っているということもあります。

例えば、名称と電話番号が一つの列(セル)に入力されているというようなケースがよくあるのです。

そのExcelを何らかのシステム・プログラムなどから利用しようとした場合に、同じ列に入っている異なるデータを、別々の列にしたいという要望が出てきます。

その一つの解決策です。

一つの列に異なるデータが入力される場合でも、とりあえず改行は入れられていることが多いようですから、先頭から改行までを取得したり、一つ目の改行以降を取得する数式を作れば、同じ列に入れられた異なる種別のデータを別の列に分割するということが可能になります。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

Excel初心者の中には、[Alt]+[Enter]でセル内改行できることをご存じないために、スペースをたくさん入力することで文字を送って、改行されているように見せかけるということをしてしまう方がいらっしゃいます。

こんなデータを受け取ってしまった場合、その修正作業に時間が取られてしまいます。

万能というわけではありませんが、その修正作業を関数を使って楽にする方法がありますのでご紹介しておきます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

置換機能を使って、特定の文字以降を削除できることをご紹介しました。

似たようなことを求めてらっしゃる、
「エクセル スペース以降を消去 関数」
「excel 関数 文字列の空白以降を削除」
「空白以降の文字列を消すエクセル関数」
といった検索を見かけることもあります。

特定の文字以降の削除を関数で行う方法を探している方の検索です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で
「エクセル 文字数 カウント方法」
といった検索が行われていることがあります。

Excelで、セルに入力されている文字列の文字数をカウントする方法を探している方の検索です。

セル内に入力されている文字数をかぞえる、そのものズバリの関数がExcelにはちゃんと用意されています。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

MID関数とLEN関数を使って、左からn文字削除する方法をご紹介しました。

この件についてtwitterで
「自分はRIGHT関数を使っている」
といった内容のリツイートをいただきました。

Excelでは同じ結果を得るのに複数の方法が存在することはよくあることです。特に文字列を操作するような場合や、複数の関数を組み合わせるような場合には、多くの方法が考えられます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「Excel 文字列 1文字ずつ バラバラ」
「エクセルで文字列を1文字にずつに分解する方法」
といった検索をみかけることがあります。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

文字列長を調べるLEN関数と、左から指定された長さの文字を取得するLEFT関数を使った、右から(後から・末尾から)文字を削除する方法をご紹介しました。

この手の文字列操作は、いろいろな実装方法が考えられます。

その他の方法をご紹介しておきましょう。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「エクセル 電話番号 -を非表示」
「エクセルでハイフンを表示しない方法とは」
といった検索がこのサイトで行われていることがあります。

「-」(ハイフン)の入った電話番号が入力されているときに、ハイフンを表示していない状態にする方法を探している方の検索です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

LEFT関数とLEN関数を使って文字列の右から(後ろから・末尾から)n文字削除する方法をご紹介しました。

このネタをご覧になった方が疑問を感じたのでしょうか
「エクセル 左からn文字削除」
という検索が行われていました。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

実務でExcelをデータベースツールとして使っていると、データの整理について様々な要望が出てきます。

「エクセルで後ろのn文字を削除する関数ってないのでしょうか?」
「エクセルで文字列の右側からn文字を削除するにはどうしたらいいのでしょう?」
といった要望です。

Excelでデータベースを作成するような場合にデータをキレイにする作業が出てきます。Accessにデータを取り込む前にExcelでデータの整理を行うといったことも行われます。

例えば、住所だけのフィールドが欲しいのに、入手できたデータはなぜか住所の後ろに郵便番号がくっついたものだったりするといったことがあります。このようなときに、後ろ・右からn文字を削除したいといった要望をいただくことになります。

単純に左からn文字取得したいのならLEFT関数、右からn文字を取得したいのならRIGHT関数を使えばいいのですが、文字列の右側からn文字・後ろからn文字を削除するといった関数は用意されていません。

ですが、いくつかの関数を組み合わせてやることで、右側からn文字・後ろからn文字削除することができます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

[セルの書式設定]ダイアログでユーザー定義書式を設定することで、関数の計算結果の前に文字を表示できることをご紹介しました。

他にも方法があるのでご紹介しておきます。

私個人としてはあまりおすすめしたくない方法なのですが、どちらかというとExcelにあまり慣れていない方にウケのいい方法です。

続きを読む

対象:Excel2000,Excel2002,Excel2003,Excel2007

ダブルクォーテーションを文字列として結合する方法をご紹介しました。

例えば、
「HAL 9000 said 」と「"Hello, World!"」を結合して
「HAL 9000 said "Hello, World!"」
と表示するのに
「= "HAL 9000 said " & """Hello, World!"""」
とする方法です。

ダブルクォーテーションが「"""」と3つもつながるところが、この方法の難点でしょう。Excelの数式を見慣れていない方などの場合、どの「"」が何の「"」なのかがわからなくなってしまうこともあるようです。

ダブルクォーテーションを「"""」と3つもつなげずに、ダブルクォーテーションを文字列として結合する方法がありますので、ご紹介しておきます。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

「エクセル & 意味」
「エクセル &記号 意味」
といった検索がこのサイトで行われていることがあります。

誰かが作ったExcelのワークシート内に「&」(アンパサンド・アンド記号)を使った数式があり、この「&」の意味を知りたいという方の検索でしょう。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

Excelでは、文字列連結演算子「&」やCONCATENATE関数で文字列を結合できることをご紹介しました。

この際、セル参照ではなく数式内で文字列を直接指定する場合、文字列を「"」(ダブルクォーテーション)で括る必要があります。

このことを知った方から
「ダブルクォーテーション自体を文字列として結合するにはどうしたらいいのでしょうか?」
といったご質問をいただくことがあります。

例えば、
B1セルに「HAL 9000 said 」
C1セルに「"Hello, World!"」
と入力しておいて
「=B1&C1」
という数式を入力すれば
「HAL 9000 said "Hello, World!"」
という文字列が表示されます。

これと同じことをセル参照を使わずに
「HAL 9000 said 」と「"Hello, World!"」を結合して
「HAL 9000 said "Hello, World!"」
と表示するにはどうしたらいいのか、というご質問です。

この質問をする方は、当然ながら
「= "HAL 9000 said " & ""Hello, World!""」
といった数式を試していることがほとんどです。

「"Hello, World!"」を「"」で括って、「""Hello, World!""」とすればいいだろう、と考えることはとても自然なことといえます。

しかし、上記の数式を入力しようとすると、
「入力した数式は正しくありません。」
というメッセージが表示されて、入力できないのです。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

ExcelからCSV(Comma Separated Value)ファイルを作ろうと考えている方から、
「間にカンマを入れながらセルのデータを連結していくにはどうしたらいいでしょうか?」
といったご質問をいただくことがあります。

このサイトで、
「セルの文字を連結 間にカンマ」
といった検索が行われているのを見かけたこともあります。

2003までのExcelならメニュー[ファイル]−[名前を付けて保存]から、Excel 2007なら[Officeボタン]−[名前を付けて保存]−[その他の形式]をクリックして表示される[名前を付けて保存]ダイアログで、[ファイルの種類]−「CSV(カンマ区切り)」を選択することで、ExcelからCSV(Comma Separated Value)ファイルを作成することができます。

このような作業を面倒と感る方から先のようなご質問をいただくことがあります。

間に「,」(カンマ)を入れながらセルの文字を連結した状態を作成しておいて、そのセルをテキストエディタなどにコピペすればCSVになります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

2002以降のExcelなら[オプション]ダイアログの設定で、小数点記号と桁区切り記号を変更できることをご紹介しました。

この設定を行うことで、例えば、
 小数点を「,」
 桁区切りを「.」
にするといったことができます。

この設定変更を行ったExcelでは、すべて同じように小数点記号や桁区切り記号が変更されますが、実務では、同じExcelファイルのある部分では桁区切りを「,」(カンマ・コンマ)にして、別の部分では「.」(ドット・ピリオド)にしたい、あるいは、あるExcelファイルでは桁区切りを「,」にして別のファイルでは「.」にしたい、といった要望も出てきます。

こういった要望に対しては、[オプション]ダイアログでの設定変更では対応できませんので別の方法を考える必要があります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「日付をテキストデータに変換したいのですが・・・?」
「日付データを文字列データに変換するにはどうしたらいいのでしょうか?」
といったご質問をいただくことがあります。

Excelでは日時のデータを1900年1月1日を「1」として、1日経過するごとに1加算されるシリアル値(数値)として保持しています。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

最大公約数を計算するGCD関数を利用すると比を計算できることをご紹介しました。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

Excelで大量のデータをチェックしているような方から
「数値の桁数をカウントしたいのですが・・・?」
「数字の桁数を数えるにはどうしたらいいのでしょう?」
といったご質問をいただくことがあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

エクセルに小さいグラフやチャートを配置する7つの方法」というエントリが、はてなブックマークで人気になっています。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「&」演算子やCONCATENATE関数を利用すると、文字列の結合ができます。

このCONCATENATE関数をご存知の方から
「CONCATENATE関数を使ったときに改行したいのですが...?」
「CONCATENATE関数で文字列を結合するときに途中に改行を入れるにはどうしたらいいのでしょう?」
というご質問をいただくことがあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「セルの中にTabを入力したいのですが...?」
「エクセルでTab文字を入力することはできないのでしょうか?」
というご質問をいただくことがあります。

Excelでは[Tab]キーを押すと、アクティブセルの移動が行われます。

[F2]キーを押したり、セルをダブルクリックしたり、数式バーをクリックしたりして、セルの中にカーソルを入れた状態で[Tab]キーを押したとしても、アクティブセルの移動になります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「アルファベットの大文字と小文字を区別して等しいかどうかを判定するにはどうしたらいいのでしょうか?」
というご質問をいただくことがあります。

例えばA1セルとA2セルとを比較して、等しければ「○」等しくなければ「×」を表示するような場合、一般的には
「=IF(A1=A2,"○","×")」
といった計算式を入力します。

このとき、A1・A2セルとも「S」が入力されていれば「○」と表示されますし、A1セルに「S」・A2セルに「A」と入力されていれば「×」が表示されます。

また、A1セルに「S」・A2セルに「s」が入力されているときも「○」が表示されます。

論理演算子の等号では、大文字・小文字の区別を行わないのがExcelの仕様です。

しかし、実務上は、大文字と子文字とを区別して判定したいということもあります。

A1セルに「S」・A2セルに「s」が入力されているときに「×」と表示させたいケースです。

このようなときにいただくご質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

PHONETIC関数を使うと、ふりがなを表示することができます。

まあまあ、便利な関数ではあるのですが、PHONETIC関数の仕様をしっかり理解していない方から、
「PHONETIC関数が使えなくなったのですが...?」
「PHONETIC関数でふりがなが表示できないのですが...?」
というご質問をいただくことがあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「アルファベットをランダムに表示させたいのですが、どうすればいいのでしょうか?」
というご質問をいただいたことがあります。

実装方法はいくつかありますが、基本的にはある一定の範囲のランダムな数値を発生させ、それに対応するアルファベットを表示させる、という考え方をすればこのご質問は解決できます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「特定の文字の数だけをカウントしたいのですが...?」
「セルの中に指定した文字が何個あるのかを調べるには、どうすればいいのでしょう?」
というご質問をいただくことがあります。

例えば、A列に住所データが入力されているような住所録を管理しているときに、「市」という文字がいくつ含まれているのかを、B列に表示させたいといったご要望をいただいたことがあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelでは、「&」演算子やCONCATENATE関数を使って文字列の結合ができることをご紹介しました。

この方法を知った方からは、
「文字を結合するときに改行を入れるにはどうすればいいのでしょう?」
というご質問をいただくことがあります。

A1セルに「東京都」
B1セルに「新宿区」
と入力されているときに
C1セルに「=A1&B1」という計算式を入力すれば
「東京都新宿区」
と表示されます。

これを
「東京都
新宿区」
という表示にしたい、というご質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

idea*idea」さんで、ウルトラシンプルなグラフを作成する方法の、続編がエントリーされています。

この中のガントチャートは、へ〜っという感じのテクニックですが、全角の固定ピッチフォントを使うことで、日付も入れたより見やすいガントチャートを作れるように感じます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelを使ってデータベースを作成している方から、いただく質問があります。

「ひらがなをカタカナに変換したいのですが...?」
「ひらがなをカタカナにする関数は何ですか?」
といったご質問です。

例えば複数のデータベースをマージした場合に、氏名や住所などのふりがなに、ひらがなとカタカナが混在してしまったようなときにこの質問をいただくことになります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

CHAR関数とROW関数を使って、アルファベットをオートフィル入力する方法をご紹介しました。

「=CHAR(ROW()+64)」という計算式をA1セルに入力してオートフィルしたわけですが、A11セルから連続したアルファベットを入力しようとした場合、「=CHAR(ROW()+54)」とROW関数に加算する数値を変更しなければならないのが、ちょっと厄介な点です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

余分なスペースを削除するTRIM関数についてご紹介しました。

ただし、TRIM関数は先頭と末尾にあるスペースは全て削除してくれますが、文字列の間にあるスペースは一つだけ残すという仕様である点に注意が必要です。

実務ではむしろ、すべてのスペースを削除したいということの方がありがちです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

実務では、他のシステムから出力したデータをExcelで利用するといったことがあります。

こういった場合に、出力元のシステムによってはデータの後にスペースが入っていることもあったりするため、
「Excelで余分なスペース・空白を削除するにはどうすればいいのか?」
といったご質問につながっていきます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

IF関数が使えるようになった方から、よくいただく質問があります。

IF関数であいまい検索はできないのでしょうか?
IF関数であいまいな条件指定はできないのでしょうか?

この疑問を感じたことがない方にはわかりにくい質問だと思いますが、IF関数の第1引数・論理式に「*」(アスタリスク)などのワイルドカードを利用した指定はできないのか?という質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

複数のセルに入力されているデータを連結して一つのセルに表示させる方法をご紹介しました。

文字列同士をつなげるのならば問題ないのですが、例えば日付データと文字列を連結しようとするとちょっと問題が起きます。

たとえばA1セルに「2005年8月31日」といった日付が入っているときに、「="有効期限:" & A1」とすると、「有効期限:38595」という表示なってしまいます。「=CONCATENATE("有効期限:",A1)」としても結果は同じです。

そう、日付が実は数値だからです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

CELL関数の第1引数に「"filename"」を指定することで、「絶対パス名+[ファイル名]+シート名」を取得し、そこからFIND関数・LEN関数・RIGHT関数を使ってシート名をセルに表示させる方法をご紹介しました。

似たようなことですが、
「ワークブック名を表示させるにはどうすればいいのでしょうか?」
「ファイル名をセルに表示させたいのですが...?」
というご質問をいただくこともあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

複数のセルに入力されている文字列を、一つのセルに表示させたいということがあります。

例えば住所録で、
A1セルに「東京都」
B1セルに「新宿区」
と入力されているときに、これらをまとめて
C1セルに「東京都新宿区」
と表示させたいというようなケースです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

セルにワークシート名を表示させるにはどうすればいいのでしょう?
Excelをお使いの方からときどきいただく質問です。

VBAがわかる方だと、アクティブなWorkSheetオブジェクトのNameプロパティを取得するユーザー定義関数をコーディングしてしまうところでしょうが、ワークシート関数だけを使ってシート名をセルに表示することも可能です。

続きを読む

対象:Excel

半角→全角・全角→半角へ変換する関数をご紹介しました。

似たようなケースで、
アルファベットの大文字を小文字にしたい
小文字を大文字に変換したい
という要望も、ときどきいただきます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

半角を全角にするにはどうすればいいのですか?
全角文字を半角文字に変換するのは何という関数を使えばできますか?

よくいただく関数についての質問です。

このサイトの検索ログをチェックしても、
「Excel 半角を全角に」
「全角を半角にする関数」
「全角半角変換 関数」
といった検索をしてらっしゃる方を見かけます。

続きを読む

対象:Excel97, Excel2000, Excel2002, Excel2003

このサイトでExcelのグラフについてのネタをいくつかご紹介してきましたが、グラフ機能を使わずに関数を使って簡単な横棒グラフを作ることができるのはご存知でしょうか。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

住所録のようなデータベースで、住所が1つのフィールドにまとまっているときに、FIND関数とLEFT関数を使って住所から県名だけを取得する方法をご紹介しました。

この方法では、「東京都」「北海道」「京都府」「大阪府」を取り出すことはできないので、どうすればいいのかとご質問をいただきました。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

[Alt]+[Enter]キーを使ったセル内での改行は実務ではよく使われます。
見易さを考慮すると便利な機能ですが、たとえばExcelで簡単なデータベースを作っていたのだけれど、管理しきれなくなってきたのでExcelから何らかのリレーショナルDBにデータを移行しよう、というような場合にこのセル内改行が邪魔になることも少なくありません。

続きを読む

対象:Excel
数値を漢数字で表示させるための書式設定を以前ご紹介しました。 実は同じようなことができる関数も存在しています。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelで住所が入力されているセルから県名だけを取り出す方法をご紹介しました。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Accessで住所フィールドから県名だけを取り出す方法をご紹介しました。

Excelでも
「県名だけ抽出したいのですが...?」
「住所から県名だけを取り出すにはどうしたらいいのでしょう?」
というご質問をいただくことがあります。

続きを読む

対象:Excel97, Excel2000, Excel2002, Excel2003

Excelにもフリガナをふる機能があることは既にご紹介しましたが、関数を使ってフリガナを表示させることもできます。

続きを読む

Home > Excel エクセルの使い方-関数/計算式-文字列操作

search

このページの上部へジャンプ