[ ホーム | 一覧 | 検索 | 最終更新 | ヘルプ ] [ 新規 ]

KAWANO's PukiWiki Plus! - Lecture/InfoPrac2003/11th の変更点

Top > Lecture > InfoPrac2003 > 11th
AND OR
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Lecture/InfoPrac2003/11th へ行く。

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]]にすすんでください。

メニュー

  • トップ
  • 授業
  • PukiWiki Log
  • Install Log
  • 道具箱
  • セキュリティ情報
  • RSSアンテナ

大学関係リンク

  • Webメール
  • 健康システム学科
  • 情報メディアセンター
  • 兵庫大学

今日の5件
  • FrontPage(33)
  • Lecture/CompPracC32005/10th(1)
  • Lecture/CompPracC2005/8th/example(1)
  • Lecture/CompPracR2004/11th(1)
  • Lecture/CompPracC2006/11th(1)
最新の5件
2016-04-08
  • Lecture/timetable_2016
  • Lecture
  • FrontPage
2015-09-30
  • Lecture/timetable_2015
2015-04-04
  • MenuBar

total: 4130
today: 1
yesterday: 1
now: 10


リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
http%3A%2F%2Fhs-www.hyogo-dai.ac.jp%2F~kawano%2F%3FLecture%25252FInfoPrac2003%25252F11th
Founded by Minoru Kawano.
Powered by PukiWiki Plus! 1.4.7plus-u2-i18n. HTML convert time to 2.279 sec.
Valid XHTML 1.1