RIGHT:[[授業のページへ戻る>Lecture/InfoPrac2003]] *情報処理演習 第11回 -今回のテーマ「文字列関数」 --文字列関数を探して、計算式をつくれるようになる **前回までの課題の提出 [[こちらの連絡事項>../Info]]を見て、前回課題の提出状況を確認してください。 -まだ提出していない人は、課題を作成して提出してください。 -再提出するように指示があった人は、[マイドキュメント]にあるファイルの修正をして、提出用フォルダに再提出してください。 **今回の内容 前回は、日付/時刻関数を使って、誕生日までの時間を求めました。 また、一部文字列を操作する関数も利用しました。 今回は、文字列関数の中で、よく使われるもの、覚えておくと便利なものを中心に、実習します。最後に、名簿のデータを、文字列関数を使って、新しい表にします。 &ref(1210.xls,こちら(1210.xls)); を右クリックしてください。 &ref(./1210.xls,こちら(1210.xls)); を右クリックしてください。 「リンクを名前を付けて保存」や「対象をファイルに保存」を選んで、「マイドキュメント」に保存してください。 保存できたら、ダウンロードしたファイルを開いてください。 **文字列の操作 最初のシート「文字列関数」で、いくつかの文字列関数の使い方を覚えましょう。 #ref(excel00.png,80%) #ref(./excel00.png,80%) ***文字列を結合する [[前回>../10th]]でもやったように、文字列やセルの値の結合をしてみましょう。 文字列を結合するには、「&」記号やCONCATENATE関数を使います。 セルC4とC5に、それぞれ「私の名前は○○です。」(○○は自分の名前を入れる)と表示するようにしてみましょう。「私の名前」はC2セルに、「です。」はC3セルに入力されているので、これを利用しましょう。 「&」記号を使い方は、たとえば、次のような計算式の結果は「AAABBBCCC」や、(A1セルの内容が「木曜日」の場合)「明日は、木曜日です」となります。 文字列は「"」(ダブルクォーテーション)で囲っていることに注意してください。 = "AAA" & "BBB" & "CCC" = "明日は、" & A1 & "です" これを参考にすると、セルC4の計算式は次のようになります。 ○○には自分の名前を入力してください。 = C2 & "○○" & C3 次に、文字列やセルを結合する、''CONCATENATE''関数を使って、C5セルに計算式を入力しましょう。 -''CONCATENATE''(複数の文字列を結合して、ひとつの文字列にまとめる) --書式 : CONCATENATE(文字列1, 文字列2, ...) --引数 : 文字列1, 文字列2 : まとめたい文字列やセルの値(30個まで) +C5セルをクリックしてアクティブにします。 +「関数の挿入」ボタンをクリックします。 +利用する関数を選びます。~ 利用したい関数の分類を選んだあと、関数名を選びます。「関数の分類」から「''文字列操作''」か「すべて表示」を選び、「関数名」から「''CONCATENATE''」を選びます。「OK」ボタンをクリックします。 +次に、関数に与える引数を設定します。 ++「文字列1」の入力欄をクリックした後、C2セルをクリックします。 ++「文字列2」に、自分の名前を入力します。 ++「文字列3」の入力欄をクリックした後、C3セルをクリックします。 ++「OK」ボタンをクリックします。 それができたら、D4とD5セルに「来年まで、あと○日です。」と表示するようにしてみましょう。D4セルには「&」記号を、D5セルにはCONCATENATE関数を使ってください。 来年までの日数は、D2セルで計算式を入力して求めてください。 :ヒント|[[前々回>../9th]]で紹介した、DATE関数を使って来年の元日のシリアル値を求め、今日の日付は[[前回>../10th]]紹介したTODAY関数で今日のシリアル値を求め、その2つを計算します。 ***文字列の長さを求める C8〜C10のセルに入力されている文字列の長さを求めましょう。 文字列の長さ(文字数)を求めるには、''LEN''関数を使います。 -''LEN''(文字列の長さ(文字数)を返す) --書式 : LEN(文字列) --引数 : 文字列 : 長さを求めたい文字列やセルの値 まず、C8セルの長さを、D8セルに計算しましょう。 +D8セルをクリックしてアクティブにします。 +「関数の挿入」ボタンをクリックします。 +利用する関数を選びます。~ 利用したい関数の分類を選んだあと、関数名を選びます。「関数の分類」から「''文字列操作''」か「すべて表示」を選び、「関数名」から「''LEN''」を選びます。「OK」ボタンをクリックします。 +次に、関数に与える引数を設定します。 ++「文字列」の入力欄をクリックした後、C8セルをクリックします。 ++「OK」ボタンをクリックします。 = LEN(C8) 同じようにして、C9セルの文字列の長さをD9セルに、C10セルの文字列長さをD10セルに計算してください。 ***文字列を取り出す ある文字列から指定した長さだけ文字を取り出す関数があります。 ''LEFT''関数、''MID''関数、''RIGHT''関数を使います。 -''LEFT''(文字列の先頭(左側)から指定された数の文字を返す) --書式 : LEFT(文字列, 文字数) --引数 : 文字列 : 取り出す文字を含む文字列やセルの値 --引数 : 文字数 : 取り出す文字の数(文字列の先頭からの文字数) -''MID''(文字列の先頭から指定された数の文字を返す) --書式 : MID(文字列, 開始位置, 文字数) --引数 : 文字列 : 取り出す文字を含む文字列やセルの値 --引数 : 開始位置 : 取り出す文字の先頭の位置(もとの文字列の先頭の文字を1とする) --引数 : 文字数 : 取り出す文字の数 -''RIGHT''(文字列の末尾(右側)から指定された数の文字を返す) --書式 : RIGHT(文字列, 文字数) --引数 : 文字列 : 取り出す文字を含む文字列やセルの値 --引数 : 文字数 : 取り出す文字の数(文字列の末尾からの文字数) では、C13セルの「隣の客はよく柿食う客だ」という文字列から、 C14セルに「隣の客は」、C15に「よく柿食う」、C16セルに「客だ」というように、 それぞれLEFT関数、MID関数、RIGHT関数を使って文字を取り出してみましょう。 +C14セルをクリックしてアクティブにします。 +「関数の挿入」ボタンをクリックします。 +利用する関数を選びます。~ 利用したい関数の分類を選んだあと、関数名を選びます。「関数の分類」から「''文字列操作''」か「すべて表示」を選び、「関数名」から「''LEFT''」を選びます。「OK」ボタンをクリックします。 +次に、関数に与える引数を設定します。 ++「文字列」の入力欄をクリックした後、C13セルをクリックします。 ++「文字数」の入力欄に、取り出したい文字「隣の客は」の数である「4」を入力します。 ++「OK」ボタンをクリックします。 =LEFT(C13,4) +C15セルをクリックしてアクティブにします。 +「関数の挿入」ボタンをクリックします。 +利用する関数を選びます。~ 利用したい関数の分類を選んだあと、関数名を選びます。「関数の分類」から「''文字列操作''」か「すべて表示」を選び、「関数名」から「''MID''」を選びます。「OK」ボタンをクリックします。 +次に、関数に与える引数を設定します。 ++「文字列」の入力欄をクリックした後、C13セルをクリックします。 ++「開始位置」の入力欄に、取り出したい文字「よく柿食う」の「よ」の左端からの位置である「5」を入力します。 ++「文字数」の入力欄に、取り出したい文字「よく柿食う」の数である「5」を入力します。 ++「OK」ボタンをクリックします。 =MID(C13,5,5) +C16セルをクリックしてアクティブにします。 +「関数の挿入」ボタンをクリックします。 +利用する関数を選びます。~ 利用したい関数の分類を選んだあと、関数名を選びます。「関数の分類」から「''文字列操作''」か「すべて表示」を選び、「関数名」から「''RIGHT''」を選びます。「OK」ボタンをクリックします。 +次に、関数に与える引数を設定します。 ++「文字列」の入力欄をクリックした後、C13セルをクリックします。 ++「文字数」の入力欄に、取り出したい文字「客だ」の数である「2」を入力します。 ++「OK」ボタンをクリックします。 =RIGHT(C13,2) 同じようにして、D13セル、E13セルの文字列から、LEFT関数、MID関数、RIGHT関数を使って、次のように文字を取り出してください。 とくに、MID関数を使うときには、引数の「開始位置」の数字に気をつけてください。 -D13セル「東京特許許可局」から... --D14セルに、LEFT関数を使って「東京」を取り出す --D15セルに、MID関数を使って「特許」を取り出す --D16セルに、RIGHT関数を使って「許可局」を取り出す -E13セル「赤巻紙青巻紙黄巻紙」から... --E14セルに、LEFT関数を使って「赤巻紙」を取り出す --E15セルに、MID関数を使って「青巻紙」を取り出す --E16セルに、RIGHT関数を使って「黄巻紙」を取り出す ***文字でグラフを作る Excelでは、ふつうグラフを作るときには、「グラフウィザード」をします。 しかし、グラフを作るには少し手間がかかりますし、グラフを作るほどではない場合もあります。 そのような、数字ではなく見た目でデータを比較したいときには、 文字でグラフを作ると便利です。 ''REPT''関数を使うと、簡単に作成できます。 -''REPT''(文字列を指定された回数だけ繰り返して表示する) --書式 : RIGHT(文字列, 繰り返し回数) --引数 : 文字列 : 繰り返す文字列 --引数 : 繰り返し回数 : 文字列を繰り返す回数 B20セルに入力されている数字を使って、C20セルに横方向のグラフを作成しましょう。 +C20セルをクリックしてアクティブにします。 +「関数の挿入」ボタンをクリックします。 +利用する関数を選びます。~ 利用したい関数の分類を選んだあと、関数名を選びます。「関数の分類」から「''文字列操作''」か「すべて表示」を選び、「関数名」から「''REPT''」を選びます。「OK」ボタンをクリックします。 +次に、関数に与える引数を設定します。 ++「文字列」の入力欄を、「"*"」と入力します。 ++「繰り返し回数」の入力欄をクリックした後、B20セルをクリックします。 ++「OK」ボタンをクリックします。 =REPT("*",B20) 「*」がB20セルの数字の分だけ繰り返されているのが確認できます。 同じようにして、B21セルの数字をもとに、C21セルに横方向のグラフを作ってください。 また、B22とB23セルの数字を元に、C22とC23セルに横方向のグラフを作ってください。 ただし、グラフは百分の一のグラフとします。 :ヒント| 「百分の一のグラフ」とは、繰り返し回数を100で割るということです。 **名簿の処理 2枚目のワークシート「都道府県知事」を見てください。 これは、各都道府県知事の名前と、県庁の住所が入力されている表です。 次の説明を読んで、表を加工してください。 #ref(excel01.png,80%) #ref(./excel01.png,80%) ***氏名の作成 表では、名字と名前の漢字、ふりがなが2つに分かれています。 これを結合してください。 +L1に「氏名」、M1に「ふりがな」と入力してください。 +L2に、「高橋 はるみ」となるように、「&」記号やCONCATENATE関数を使って、B2、C2セルの値を結合してください。なお、名字と名前の間にはスペースを入れてください。 +M2に、「はかはし はるみ」となるように、「&」記号やCONCATENATE関数を使って、D2、E2セルの値を結合してください。なお、名字と名前の間にはスペースを入れてください。 +L2、M2の計算式ができたら、それぞれ、L48、M48セルまでコピーして、すべての都道府県知事の氏名、ふりがなを計算してください。 :ヒント| スペース(空白)は、" "("と"の間にスペースを入れる)です。半角文字でも全角文字でもかまいません。 ***郵便番号の作成 F列の郵便番号は「1234567」のようになっていますが、これをよく使われる「〒123-4567」の形式にしてください。 +N1に「郵便番号」と入力してください。 +N2に「〒060-8588」となるように、F2セルからLEFT関数とRIGHT関数を使って郵便番号を取り出し、「&」記号やCONCATENATE関数を使って結合してください。 +N2の計算式ができたら、N48セルまで計算式をコピーしてください。 :ヒント| 「〒」マークは、「ゆうびん」と入力して変換すれば、入力できます。 ***住所と長さの作成 都道府県と市に分かれている住所を結合します。 +O1に「住所」と入力してください。 +O2に、「北海道札幌市中央区北3条西6」となるように、G2とH2の内容を結合してください。 +O2の計算式ができたら、O48セルまでコピーしてください。 次に、住所の文字数を数えましょう。 +P1に「文字数」と入力してください。 +P2に、O2の住所の文字数を、LEN関数を使って計算してください。 +P2の計算式ができたら、P48までコピーしてください。 +最も文字数が多い住所(O列)の文字色を「赤」に、最も文字数が少ない住所(O列)の文字色を「青」にしてください。 ***電話番号の作成 電話番号が「123(456)7890」となっているので、「123-456-7890」というように変換しましょう。 +I列の列番号を右クリックし、「コピー」を選びます +Q列の列番号を右クリックし、「コピーしたセルの挿入」を選びます。 +I列の内容がすべてP列の右に挿入されます。 次に、Excelが持っている、「検索」と「置換」という機能を使います。 検索とは、シート全体や選択した範囲から、指定した文字や数式を探し出す機能です。 置換とは、検索で探し出した文字を別の文字に置き換える機能です。 では、置換機能を使って、Q列の「(」や「)」を「-」に置き換えましょう。 +Q列の列番号をクリックし、列全体を選択します。 +メニューバーから、「編集」→「置換」を選びます。 +「検索する文字列」に、これから置換したい文字「(」を入力します。 +「置換後の文字列」に、置換する文字「-」を入力します。 +「すべて置換」ボタンをクリックすると、すべての「(」が「-」に置き換わります。 +「閉じる」ボタンをクリックしてください。 #ref(excel02.png,nolink) #ref(./excel02.png,nolink) 同じようにして、「)」を「-」に置き換えてください。 ***知事の年齢の計算 各都道府県知事の生年月日がありますので、これをもとに都道府県知事の今年の年齢を計算してください。 ''DATEDIF''関数を使います。DATEDIF関数は、Excelの関数の一覧にはありませんが、便利な関数です。 -''DATEDIF''(指定された期間内の日数、月数、または年数を返す) --書式 : DATEDIF(開始日, 終了日, 単位) --引数 : 開始日 : 期間の最初の日付 --引数 : 終了日 : 期間の最後の日付 --引数 : 単位 : "Y"で年数、"M"で月数、"D"で日数を表示する (例) =DATEDIF("2003/12/10", "2003/12/31", "D") (結果は21) +R1に「知事の年齢」と入力してください。 +R2に、DATEDIF関数で求めてください。単位は"Y"を使ってください。 +R2セルに「49」という計算結果が表示されます。 +R2セルの計算式をR48セルまでコピーします。 ***年齢のグラフ 最後に、S列に、REPT関数を使った、文字による年齢のグラフを作成してください。 +S2に、REPT関数を使って、年齢の半分の大きさのグラフを作成してしてください。 繰り返す文字列は、なんでもかまいません(*でも※でも)。 --ヒントは、「年齢の半分の大きさ」とは「R2」の半分ということです。 +S2にグラフができたら、S48までコピーしてください。 ここまでできたら、[[課題の説明>../11thExercise]]にすすんでください。 |