goo blog サービス終了のお知らせ 

秋田でアクティブに活動

学習支援,無償学習塾,イベント運営,アプリ作成,趣味 … などの活動内容ブログです。

SDカードのファイル修復

2025-04-13 15:40:00 | 雑学
デジタルカメラに挿入しているSDカードをパソコンに接続し、フォルダ内を確認したところ、「USBC…」という文字化けしたようなファイル(以下、「エラーファイル」と表記)ができていました。ファイルサイズは約4GBでした。また、通常であれば、撮影した写真の画像ファイルがSDカード内の「DCIM\100CASIO」内に蓄積されていますが、ここには2024年12月下旬に撮影した写真のみ存在し、これよりも過去に撮影した写真が消滅していました。これらの状況より、SDカードに何らかの異常が発生して、過去の写真(画像ファイル)が結合されてエラーファイルが生成されたと推測されます。なお、エラーファイルは、ファイルのコピーやリネームができませんでした。


このような状況において、写真等を修復したい場合は業者に依頼するのが確実ですが、業者に依頼せずに自身で修復する方法を紹介いたします。ここでは、Microsoft社公式のファイル修復ツール「Windows File Recovery」をWindowsのパソコンにインストールし、Windows上でこのツールを用いて写真等を修復することとします。このツールは、エラーファイルを解析し、指定したフォルダ内に修復したファイルを出力するという処理を行います。



なお、ここで紹介した操作を行った際に、ファイル関連のトラブルが発生しても責任は負うことができません。自己責任の下で作業を行う際も、事前に本記事を最後までお読みいただきますようお願いします。また、写真の修復を確認できるまでは、SDカードのフォーマットを行わないようにしてください。

今回の事例における、この記事の要点です。
  • 全ての作業工程を無償で行うことができました。
  • 写真等を全て修復することができ、写真は画像ビューワーソフトで閲覧できるようになりました。
  • ただし、修復した写真のファイル名称は元どおりになりませんでした。(名称規則の相違により、デジタルカメラの液晶モニターでは修復した写真を再生できませんでした。)

Windows File Recovery を選んだ理由
  • 他のファイル修復ツールは、エラーファイルのサイズが一定以上になると有償版でしか修復できないものもあるが、このツールはこのような制限がなく無償で利用できるため。
  • Microsoft社が公式に提供しているため。

必要な機材など
  • 異常が発生している(修復したいファイルが格納されている)SDカード
  • SDカードリーダー(必要に応じて)
  • Windows10以降のパソコン
  • インターネット環境(Windows File Recovery のインストーラーをダウンロードする際に必要)

1.操作手順
はじめに、Windows File Recovery のインストーラーをダウンロードします。

窓の杜
https://forest.watch.impress.co.jp/library/software/winfr/

Microsoft公式サイト
https://apps.microsoft.com/detail/9n26s50ln705

インストーラーのファイル


インストーラーを実行して Windows File Recovery をインストールします。このような画面が表示されますので、指示にしたがって操作します。


異常が発生している(修復したいファイルが格納されている)SDカードをパソコンに接続します。接続後、エクスプローラーでこのように表示された場合は、SDカードはDドライブとなります。以下、SDカードはDドライブに割り当てられているものとして解説いたします。


Windows File Recovery を実行します。このツールを起動するとCUIの画面が表示されますので、コマンド入力して実行します。


コマンドの書式やパラメーターは以下のとおりです。

winfr 異常が発生しているドライブ 修復されたファイルの出力先フォルダパス [/モード] [/n スイッチ1 /n スイッチ2, …]

・異常が発生しているドライブ
異常が発生しているドライブを指定します。例えば、Cドライブならば「C:」、Dドライブならば「D:」と入力します。
今回の場合は、Dドライブ(SDカード)の「D:」を指定します。

・修復されたファイルの出力先フォルダパス
異常の解析により修復されたファイルを出力するフォルダパスを指定します。前述の「異常が発生しているドライブ」とは異なるドライブを指定する必要があります。例えば、「異常が発生しているドライブ」がDドライブならば、「修復されたファイルの出力先フォルダパス」にはDドライブ以外(Cドライブなど)を指定します。
今回の場合は、「C:\RecoveryFiles」とします。(「RecoveryFiles」は、Cドライブの直下に自分で作成したフォルダです。)

・モード
前述の「異常が発生しているドライブ」のファイルシステムに応じて指定します。「/regular」と入力するとNTFSのファイルを対象に修復し、「/extensive」と入力するとNTFSやFATなどの全ファイルを対象に修復します。この引数は省略可能で、省略した場合は「/regular」扱いとなります。
今回の場合は、SDカード内のファイルを復元するため「/extensive」を指定します。

・スイッチ
前述の「異常が発生しているドライブ」内の修復したいファイルの条件を指定します。「/n 」に続けてパスや検索キーワードを入力すると、修復するファイルを絞り込むことができます。ワイルドカード「*」を利用することも可能で、例えば「/n *.jpg」と指定すると、拡張子が .jpg のファイルのみを修復することができます。この引数は省略可能で、省略した場合は「異常が発生しているドライブ」内の全ファイルが修復対象となります。また、複数の引数を指定することができます。
今回の場合は、「D:\DCIM」の直下にあるエラーファイルを修復したいため「/n DCIM\」を指定します。

以上を踏まえ、「winfr D: C:\RecoveryFiles /extensive /n DCIM\」とコマンド入力し、Enterキーを押して実行します。


処理内容の確認が表示されます。問題ないようでしたら y を入力して実行し、中止したい場合は n を入力します。


y を入力して処理を実行すると、異常の解析が始まります。




今回の場合は、約4GBのエラーファイルを含んでおり、解析が完了するまでに約30分かかりました。

異常の解析が完了すると、次にファイルの修復が始まります。異常の解析が始まったときに、指定した「修復されたファイルの出力先フォルダパス」の直下に「Recovery_YYYYMMDD_hhmmss」(「YYYYMMDD_hhmmss」は処理日時)というフォルダが自動作成されますが、その内部に修復されたファイルが順次出力されます。


今回の場合は、この処理が完了するまでに約10分かかりました。

ファイル修復後、全体の処理が完了します。


「修復されたファイルの出力先フォルダパス」の内部を確認すると、修復されたSDカード内の写真(画像ファイル)が出力されたことを確認できました。また、SDカードには、デジタルカメラで撮影した動画も格納されていましたが、こちらも修復されました。


ただし、修復されたファイルは、元々の名称ではなく、写真(画像ファイル)は「2007_11_04 11_56_04.jpg」のように撮影日時に因んだ名称となりました。これにより、画像ファイルの名称規則の関係で、私が所有しているデジタルカメラでは、液晶モニターで修復した写真を再生することができませんでした。名称規則に適合するように名称を変更すると、修復した写真を再生できるようになりました。(デジタルカメラの液晶モニターで修復した写真を再生したい場合は、Cドライブなどに出力された修復ファイルをSDカードに移動する必要があります。)
修復されたファイルのプロパティを確認すると、作成日時や更新日時は修復処理が行われた日時となりましたが、撮影日時はデジタルカメラで写真を撮影した当時の日時が保持されていました。




SDカード内のエラーファイルはそのままの状態ですので、写真等の修復を確認できましたら、必要に応じてSDカードをフォーマットします。


2.あとがき
SDカードに蓄積された写真等を全て修復することができ、一連の操作を全て無償で行うことができました。もし、ファイル名称も元どおりにしたい場合は、他のファイル修復ツールを利用する必要がありますが、ファイル名称が異なっても差し支えないようでしたら、Windows File Recovery を利用することも検討してよいと思います。


出典
窓の杜 Windows File Recovery

Excel VLOOKUP関数

2023-05-14 17:30:00 | 雑学

1段目:左から順に
 キュアスカイ (ひろがるスカイ!プリキュア)
 キュアプレシャス (デリシャスパーティ♡プリキュア)
 キュアサマー (トロピカル~ジュ!プリキュア)
 キュアグレース (ヒーリングっど♥プリキュア)
2段目:左から順に
 キュアスター (スター☆トゥインクルプリキュア)
 キュアエール (HUGっと!プリキュア)
 キュアホイップ (キラキラ☆プリキュアアラモード)
 キュアミラクル (魔法つかいプリキュア!)
3段目:左から順に
 キュアフローラ (Go!プリンセスプリキュア)
 キュアラブリー (ハピネスチャージプリキュア!)
 キュアハート (ドキドキ!プリキュア)
 キュアハッピー (スマイルプリキュア!)


Excelには「VLOOKUP関数」(VLOOKUP/読み方:ブイルックアップ)という関数があります。「垂直の」を意味する「vertical」の V と、「~を調べる」を意味する「look up」を組み合わせた造語で、表の縦方向にデータを検索し、一致した値と同じ行にあるデータを抽出して返す関数です。本記事では、「VLOOKUP関数」の使用方法を紹介いたします。


1.VLOOKUP関数の構文
VLOOKUP関数の構文は以下の通りです。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

・検索値
下記「範囲」の1列目から検索する文字列を指定します。

・範囲
上記「検索値」の文字列を検索したり、結果データを抽出したりする対象範囲を指定します。

・列番号
上記「範囲」のうち、何列目のデータを抽出するのかを指定します。「範囲」内の最も左の列を1として、そこから1列ずつ右に移動した列位置を 2,3,4 … とします。

・検索方法
上記「検索値」を近似一致で検索する場合は TRUE、完全一致で検索する場合は FALSE を指定します。この引数は省略可能で、省略した場合は TRUE(近似一致)となります。本記事では、FALSE(完全一致)指定でVLOOKUP関数を使用するものとします。

Excelシート上でVLOOKUP関数を入力すると、次のように表示されます。



2.VLOOKUP関数の使用例
例として、このようなシートがあるとします。


B列に、歴代の主人公プリキュアが入力されています。B25セルに任意の主人公プリキュアを入力して、これを表のB列から検索し、該当する行のD列にある番組名をC25セルに表示するとします。例えば、B25セルに「キュアハート」と入力した場合は、C25セルに「ドキドキ!プリキュア」が表示されるようにします。

C25セルに、VLOOKUP関数を入力します。下記のVLOOKUP関数の構文に当てはめていきます。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

「検索値」には、任意の主人公プリキュアを入力するセル「B25」を指定します。この値を、「範囲」の1列目から検索します。

「範囲」には、表の範囲「B4:E23」を指定します。注意点として、「検索値」の値を検索する列が「範囲」の1列目となるようにします。また、検索対象としたい行が全て含まれるようにします。抽出したい値(この例では番組名)の列も「範囲」に含まれるようにします。

番組名は「範囲」のうち最も左の列から数えて3列目にあることから、「列番号」には「3」を指定します。

入力内容
=VLOOKUP(B25, B4:E23, 3, FALSE)



B25セルに「キュアハート」と入力すると、「範囲」のB列から「キュアハート」を探し、B14セルの「キュアハート」に一致します。


VLOOKUP関数を入力したC25セルには、表の「キュアハート」と同じ行にある番組名「ドキドキ!プリキュア」が表示されました。


「検索値」に一致する値が複数含まれている場合は、該当行のうち、最も上にある行の値が抽出されます。例えば、B25セルに「キュアドリーム」と入力すると、B19セル,B20セルの「キュアドリーム」に一致して、番組名はそれぞれ「Yes!プリキュア5GoGo!」と「Yes!プリキュア5」が該当しますが、これらのうち最も上にある行の「Yes!プリキュア5GoGo!」が抽出され、C25セルに表示されます。




また、「検索値」に一致する値が存在しない場合は、エラーとなります。例えば、B25セルに「キュアミルキー」と入力すると、B列に「キュアミルキー」が含まれていないため、C25セルに「#N/A」と表示されます。




もし、「#N/A」になる場合に「該当なし」と表示したい場合は、「IFNA関数」を用いて、「#N/A」エラー発生時に代わりに表示する値を指定することができます。

入力例.
=IFNA(VLOOKUP(B25, B4:E23, 3, FALSE), "該当なし")



C25セルには、「該当なし」と表示されました。


上記の例では番組名を抽出しました。もし、放送開始年を抽出したい場合は、放送開始年は「範囲」のうち最も左の列から数えて4列目にあることから、「列番号」には「4」を指定します。

入力内容
=VLOOKUP(B25, B4:E23, 4, FALSE)



C25セルには、表の「キュアハート」と同じ行にある放送開始年「2013」が表示されました。


「範囲」が4列のときに、「列番号」に1~4以外の値を指定した場合は、エラーになります。例えば、
=VLOOKUP(B25, B4:E23, 7, FALSE)
のように「列番号」に7を指定した場合は、次のように参照エラーになります。




大量のデータの中から対象の値を目視で探すことは、困難且つ作業ミスにつながります。VLOOKUP関数を用いることで、抽出元に大量のデータがあっても、正確に対象の値を抽出することができます。検索条件や抽出対象を変更しても、即座に結果に反映されます。


3.XLOOKUP関数について
「Excel for Microsoft365」や「Excel 2021」には、「XLOOKUP関数」があります。この関数は、基本的な処理動作はVLOOKUP関数と同じですが、VLOOKUP関数よりも機能性が向上されています。
例えば、VLOOKUP関数は、検索値を必ず検索範囲の1列目から検索する仕様ですが、XLOOKUP関数は、検索値を任意に指定した範囲内から検索することができます。また、検索値に一致する値が存在しないとき、VLOOKUP関数は#N/Aエラーとなり、必要に応じてIFNA関数などを併用してエラー対策を行う必要があります。XLOOKUP関数は、代わりに表示する値を指定することができるため、特にIFNA関数などを併用しなくてもよいです。
「Excel 2019」以前のバージョンでは、XLOOKUP関数に対応されていないため、使用できません。


4.あとがき
VLOOKUP関数は、対象のデータを抽出したいときに非常に便利な関数です。大量のデータの中からでも正確にデータを抽出することができるため、積極的に活用していきたいです。 .


出典
Microsoftサポート VLOOKUP関数
Microsoft Excel VLOOKUPとは? 関数の使い方を徹底解説
窓の杜 XLOOKUP関数はもう常識! VLOOKUP関数から切り替えるべき理由

Excel LAMBDA関数

2023-04-30 16:30:00 | 雑学

ひろがるスカイ!プリキュア (左から順に)
キュアウィング 
キュアスカイ 
キュアプリズム 


「Excel for Microsoft365」にて、新しく「LAMBDA関数」(LAMBDA/読み方:ラムダ)が追加されました。Excelには、SUM関数やAVERAGE関数などの既存の関数がありますが、これらと同等の関数を自作して、繰り返し使用することができます。作成した関数は、ブック全体で使用できます。本記事では、「LAMBDA関数」の使用方法を紹介いたします。


1.LAMBDA関数の構文
LAMBDA関数の構文は以下の通りです。

=LAMBDA([パラメーター1, パラメーター2, …,] 計算)

・パラメーター
セル参照、文字列、数値など、作成したLAMBDA関数に渡す値を指定します。任意の文字列を設定し、この値が変数となり下記「計算」に使用されます。最大で253個のパラメーターを入力できます。 この引数は省略(なしにすることも)可能です。

・計算
関数の結果として実行して返す数式です。この引数は必須で、必ず引数の最後に指定します。

例えば、=LAMBDA(●, ▲, ■, ★) という数式を作成した場合は、●,▲,■ の各パラメーターを用いた計算式を★に記述して、★の計算結果をセルに表示する、という処理が行われます。括弧内の最後の1つがセルに表示される計算式となり、それ以外がその計算に必要なパラメーターとなります。Excelシート上でLAMBDA関数を入力すると、次のように表示されます。



2.LAMBDA関数を使用しない場合(従来の方法)
例として、このようなシートがあるとします。


関数を作成して、長さの単位インチ(inch)の値を、その右隣のセルにセンチメートル(cm)に変換して表示するとします。なお、1inchは2.54cmであることから、inchの値を2.54倍すればcmに変換することができます。
B3セルのinchの値をcmに変換してC3セルに表示する場合は、カーソルをC3セルに合わせてから、数式バーに「=B3*2.54」と入力します。


C3セルには「2.54」と表示されました。


この方法は、同じ数式を他のセルにも使用したい場合に、数式が煩雑ならば入力ミスが発生しやすいです。


3.LAMBDA関数の例1
先述した「2.LAMBDA関数を使用しない場合」と同じシートを用いて、inchをcmに変換します。今度は、LAMBDA関数を用いて変換します。
cmの値を求めるには、inchの値によってその値が決まることから、cmの値をパラメーターとしたLAMBDA関数を作成します。B3セルのinchの値をcmに変換してC3セルに表示するには、カーソルをC3セルに合わせてから、数式バーに次のように入力します。

=LAMBDA(inch, inch * 2.54)(B3)

inchの値を受けるパラメーターを「inch」としました。(別の名称にしてもよいです。)LAMBDA関数では、B3セルの値が inch に渡されて、inch * 2.54 の計算結果をC3セルに表示します。




数式を入力すると、C3セルには「2.54」と表示されました。


LAMBDA関数は「名前の定義」とともに使用することにより、繰り返し使用可能な関数を定義することができます(参考記事:Excel 名前の定義)。この関数に「cm変換」という名前を定義するとします。
メニューバーの[数式]-[名前の定義]を選択して[新しい名前]を表示します。


[名前]に「cm変換」と入力します。
[参照範囲]に「=LAMBDA(inch, inch * 2.54)」(LAMBDA関数の閉じ括弧まで)と入力します。
[OK]ボタンで確定します。


これにより、「cm変換」という関数が定義されました。この「cm変換」を使用して、2inchをcmに変換した値をC4セルに表示します。カーソルをC4セルに合わせてから、数式バーに「=cm変換(B4)」と入力します。


C4セルには「5.08」と表示されました。


定義した関数「cm変換」は、パラメーターが1つ(inch)必要な関数として定義しました。そのため、この関数を呼び出すときに、パラメーターの個数が1つではない場合は、エラーになります。




また、内部では数値計算を行っているため、パラメーターに数値でない(数値と認識されない)値を指定してもエラーになります。




LAMBDA関数を基にして定義した関数は、SUM関数などと同様の操作感で使用できます。また、関数を定義することにより、数式部分が「cm変換」のような簡素な見た目となります。同じ数式を他のセルにも使用したい場合に、中身の数式が煩雑でも「cm変換」と入力すればよいため、入力ミスを減らせます。


4.LAMBDA関数の例2
例として、このようなシートがあるとします。


関数を作成して、税抜価格(円)と税率(%)に応じて、税込価格(円)を表示するとします。税込価格は、税抜価格と税率の2つの値によってその値が決まります。このことから、これら2つの値をパラメーターとしたLAMBDA関数を作成します。

ドーナツをテイクアウトするときの税込価格(税率8%)をD5セルに表示するには、カーソルをD5セルに合わせてから、数式バーに次のように入力します。

=LAMBDA(税抜価格, 税率, ROUNDDOWN(税抜価格 * (100+税率)/100, 0))(C5, 8)

税抜価格と税率の値を受けるパラメーターをそれぞれ「税抜価格」,「税率」としました。(別の名称にしてもよいです。)LAMBDA関数では、C5セルの値,8(定数値)がそれぞれ 税抜価格,税率 に渡されて、ROUNDDOWN(税抜価格 * (100+税率)/100, 0) の値をD5セルに表示します。なお、税額は1円未満切り捨てとなることから、ROUNDDOWN関数を用いて「ROUNDDOWN(x,0)」のようにして1未満の値を切り捨てます。(FLOOR関数を用いて「FLOOR(x,1)」のようにしても切り捨てできます。)




数式を入力すると、D5セルには「151」と表示されました。


この関数に「税込価格」という名前を定義するとします。先述した「3.LAMBDA関数の例1」と同様に、メニューバーの[数式]-[名前の定義]を選択して[新しい名前]を表示します。

[名前]に「税込価格」と入力します。
[参照範囲]に「=LAMBDA(税抜価格, 税率, ROUNDDOWN(税抜価格 * (100+税率)/100, 0))」と入力します。
[OK]ボタンで確定します。


これにより、「税込価格」という関数が定義されました。この「税込価格」を使用して、ドーナツをイートインするときの税込価格(税率10%)をE5セルに表示します。カーソルをE5セルに合わせてから、数式バーに「=税込価格(C5, 10)」と入力します。


E5セルには「154」と表示されました。



5.LAMBDA関数 範囲を渡す
LAMBDA関数のパラメーターには、次のようにセルの範囲を渡すこともできます。

例.
=LAMBDA(金額,SUM(金額))(C3:C5)

C3~C5セルの各値がパラメーター「金額」に渡されて、SUM関数によりこれらの合計値が表示されます。





6.LAMBDA関数 パラメーターなし
通常は使用することがないと思われますが、次のようにパラメーターをなしにしてLAMBDA関数を作成することもできます。

例.
=LAMBDA(7)()



固定で7が表示されます。



7.LAMBDA関数 再帰呼び出し
LAMBDA関数は、再帰呼び出しができる仕様です。再帰呼び出しとは、ある関数が、その処理内で自身の関数を呼び出す手法のことです。
例として、文字列全体で初めて30文字以上になるまで、任意の文字列の右側に「プリキュア」の文字列を付加し続ける関数を、LAMBDA関数の再帰呼び出しを用いて作成するとします。作成した文字列をC2セルに表示し、C2セルの文字数をC4セルに表示するようにします。これを実現するにはREPT関数(指定文字列を指定回数分繰り返す関数)などを用いる方がより適切と思われますが、ここでは再帰呼び出しを行う例として紹介いたします。


この関数に「ADDPRECURE」という名前を定義するとします。先述した「3.LAMBDA関数の例1」と同様に、メニューバーの[数式]-[名前の定義]を選択して[新しい名前]を表示します。

[名前]に「ADDPRECURE」と入力します。
[参照範囲]に「=LAMBDA(value, IF(LEN(value)>=30, value, ADDPRECURE(value & "プリキュア")))」と入力します。
[OK]ボタンで確定します。


これにより、「ADDPRECURE」という関数が定義されました。
任意の文字列を受けるパラメーターを value としました。(別の名称にしてもよいです。)LEN関数は、文字列の文字数を返す関数です。valueの文字数を測定して、もしその文字数が30文字以上ならば、その値を返します。そうでなければ(30文字未満ならば)、valueの右側に「プリキュア」を付加した文字列を作成して再び ADDPRECURE を呼び出します(再帰呼び出し)。文字列が30文字以上になるまで、文字列の右側に「プリキュア」を付加して ADDPRECURE を呼び続けます。



カーソルをC2セルに合わせてから、数式バーに「=ADDPRECURE(B2)」と入力します。


C2セルには「プリキュア」を付加した文字列が表示され、文字列全体で31文字となりました。



8.LAMBDA関数の数式を他バージョンのExcelで参照すると...?
ある1つのExcelファイルを、複数のメンバー(コンピュータ)で編集することがあると思います。例えば、Aさんが「Excel for Microsoft365」にてLAMBDA関数の数式を作成して、Excelファイルを保存します。Bさんのコンピュータには「Excel for Microsoft365」ではなく「Excel 2019」(LAMBDA関数未対応のバージョン)がインストールされており、Aさんが保存したExcelファイルを編集します。このように、LAMBDA関数の数式を含むExcelファイルを、「Excel 2019」などのLAMBDA関数未対応のExcelで編集する場面は、実際に起こり得ると思います。
「Excel for Microsoft365」で作成したLAMBDA関数の数式が、「Excel 2019」ではどのように表示されるのかを検証しました。先述した「3.LAMBDA関数の例1」で作成した数式を比較します。

「Excel for Microsoft365」で作成した数式です。



「Excel 2019」では、これらの数式はそれぞれ次のように表示されます。



数式の表示に相違が生じているものの、「Excel 2019」でも計算結果(2.54,5.08)が正しく表示されます。


ただし、「Excel 2019」にてこの数式を編集するとエラーが発生し、計算結果が表示されなくなります。


「Excel 2019」にて、LAMBDA関数の数式を変更しないように編集したり、そのExcelファイルを保存したりするのは、問題ありません。


9.まとめ
本記事では、Excelの「LAMBDA関数」を紹介いたしました。LAMBDA関数は、自作した数式が煩雑になっても簡素な形にまとめることができ、繰り返し使用できることが強みだと思います。現時点では、「Excel for Microsoft365」のみの機能のため、使用できる環境は限定的です。今後、他バージョンのExcelにもLAMBDA関数が実装されることに期待したいです。


出典
Microsoftサポート LAMBDA関数

Excel 名前の定義

2023-04-02 23:40:00 | 雑学
Excelには、セルや関数に名前を定義して、その名前を用いて値を参照する機能があります。そのセルの用途を端的に示した名前を定義することにより、どんなセルを参照しているのかを明確にすることができます。本記事では、「名前の定義」の使用方法を紹介いたします。


1.1個のセルに名前を定義する。

<比較:名前の定義を使用しない場合>
下図のように、B3セルに「りんご」という値が格納されているとします。


カーソルを他のセル(下図ではB5セル)に合わせてから、数式バーに「=B3」と入力すると、そこにB3セルの「りんご」という値を表示することができます。




B3セルに名前を定義する方法を例示します。

<方法1>
B3セルに「商品」という名前を定義します。はじめに、カーソルをB3セルに合わせてから、名前ボックスに「商品」と入力します。


これにより、B3セルに「商品」という名前が定義されました。

カーソルを他のセル(下図ではB5セル)に合わせてから、数式バーに「=商品」と入力すると、このセルにB3セルの「りんご」という値を表示することができます。ブック内の他シートからも、「商品」の値を参照できます。




<方法2>
B3セルに「商品」という名前を定義します。はじめに、カーソルをB3セルに合わせてから、メニューバーの[数式]-[名前の定義]を選択して[新しい名前]を表示します。




[名前]に「商品」と入力してOKボタンで確定すると、B3セルに「商品」という名前が定義されます。


こちらの方法では、[範囲]にて、定義した名前を使用できる範囲(ブック全体 または 特定のシート)を指定できます。


2.複数個のセルに名前を定義する。

<比較:名前の定義を使用しない場合>
下図のように、C4~C6セルに各商品の価格が格納されているとします。


カーソルを他のセル(下図ではB8セル)に合わせてから、数式バーに「=SUM(C4:C6)」と入力すると、そこに各商品の合計金額を表示することができます。




C4~C6セルのまとまりに名前を定義する方法を例示します。

<方法1>
C4~C6セルのまとまりに「各商品の価格」という名前を定義します。はじめに、カーソルをC4~C6セルに合わせてから、名前ボックスに「各商品の価格」と入力します。


これにより、C4~C6セルのまとまりに「各商品の価格」という名前が定義されました。

カーソルを他のセル(下図ではB8セル)に合わせてから、数式バーに「=SUM(各商品の価格)」と入力すると、このセルに各商品の合計金額を表示することができます。ブック内の他シートからも、「各商品の価格」の値を参照できます。




<方法2>
C4~C6セルのまとまりに、その列見出しに当たるC3セルの「価格」という名前を定義します。はじめに、カーソルをC3~C6セルに合わせてから、メニューバーの[数式]-[選択範囲から作成]を選択して[選択範囲から名前...]を表示します。


今回の場合は、「上端行」にチェックを入れてOKボタンで確定します。


「上端行」を指定したことにより、セルの指定範囲(C3~C6セル)の2行目~下端行(C4~C6セル)に対して、その列の上端行(C3セル)に格納された「価格」という名前が定義されます。 


<方法3>
前述した「1.1個のセルに名前を定義する。」 の <方法2> と同様に、[新しい名前]から入力する手順でも名前を定義することができます。


3.数式に名前を定義する。
①②ではセルに名前を定義しましたが、数式に対しても名前を定義することができます。
下図のように、各セルに数字が格納されており、E列にその左3列のセルの合計値を表示するとします。(例えば、E3セルには、B3~D3セルの合計値を表示するようにします。)


この「左3列のセルの合計値」を求める数式に、「左3列の合計」という名前を定義する方法を例示します。

カーソルをE3セルに合わせてから、メニューバーの[数式]-[名前の定義]を選択して[新しい名前]を表示します。


[名前]に「左3列の合計」と入力して、「参照範囲」に「=SUM(B3:D3)」と入力します。


B3:D3 は、E3セルから見てその左3列のセルとなるようにします。OKボタンで確定すると、数式に「左3列の合計」という名前が定義されます。

カーソルをE3セルに合わせてから、数式バーに「=左3列の合計」と入力すると、E3セルにB3~D3セルの合計値を表示することができます。




名前を定義した数式には、演算に必要なセルの位置関係を保持しています。そのため、E4やE5セルの数式バーに「=左3列の合計」と入力しても、その左3列のセルの合計値を表示することができます。




数式を作成する際は、その都度、演算に必要なセルの位置が異なる場合が多いと思います。そして、名前の定義に登録された数式を使用する際は、演算の結果に影響を与えるセルの位置関係を確認する必要があります。そうなると、わざわざ名前の定義を使用せずに、その都度数式を作成したり、作成した数式をオートフィルで複製したりする方が効率的であると思います。
話は変わりますが、「Excel for Microsoft365」にて、新しく「LAMBDA関数」(LAMBDA/読み方:ラムダ)が追加されました。この関数は少し特殊で、上記のように作成した数式を「名前の定義」とともに使用することで、その利便性を引き出すことができます。 


4.定義した名前の一覧を確認する。
メニューバーの[数式]-[名前の管理]を選択して[名前の管理]を表示します。


定義した名前の一覧が表示されます。作成した名前を編集,削除することもできます。



5.まとめ
本記事では、Excelの「名前の定義」の使用方法を紹介いたしました。合計値や平均値を算出するなどの理由により、参照される頻度が高いセルがある場合は、このセルに名前を定義することにより、セルの参照先を明確にしながらExcel文書を作成できます。これは、文書作成時の誤りを減らすことにもつながると思います。「3.数式に名前を定義する。」に記述したLAMBDA関数について、別の記事で紹介する予定です。

物理 等加速度直線運動について

2020-09-26 22:03:00 | 雑学

ハピネスチャージプリキュア!
左:キュアラブリー
右:キュアプリンセス

ある物体が、一直線上を常に同じ速度で動く運動を等速直線運動といいます。下の図では、速度 7m/s で等速直線運動しています。動いている物体に対して外力がはたらいていない場合に、等速直線運動が実現します。


時間に対する速度の変化の割合のことを加速度といいます。単位は m/s2 などです。一直線上を常に同じ加速度で動く運動を等加速度直線運動といいます。下の図では、1秒毎に速度が 2m/s ずつ増えているため、加速度 2m/s2 で等加速度直線運動しています。物体に一定の力がはたらき続けている場合に、等加速度直線運動が実現します。


縦軸に物体の速度v,横軸に時間tをとった座標上に、それぞれの運動の様子をグラフに表すと次のようになります。このグラフのことを「v-tグラフ」といいます。等速直線運動はt軸に対して平行な直線となり、等加速度直線運動は斜めの直線となります。



1.v-tグラフと移動距離の関係
v-tグラフにおいて、グラフとt軸に囲まれた部分の面積(下の図では三角形の部分)は、その物体の移動距離を表します。積分(微小要素を累計して全体量を求めていく演算)と同様の手法を用いて、そのようになる理由を解説致します。


はじめに、上のグラフの三角形を崩して、次のようなグラフを考えるとします。これは、
● 0~5秒の間は速度5m/s
● 5~10秒の間は速度10m/s
で運動したことを意味します。


10秒間で移動した距離は、

(0~5秒の間に進んだ距離)+(5~10秒の間に進んだ距離)
=5〔m/s〕×5〔秒〕+10〔m/s〕×5〔秒〕
=75〔m〕

のようにして算出することができます。下の図のようにグラフとt軸に囲まれた部分に長方形を作り、その形状に着目すると、この計算式の
● 5〔m/s〕×5〔秒〕 の部分は赤色長方形の面積
● 10〔m/s〕×5〔秒〕 の部分は橙色長方形の面積
● 総和の 75〔m〕 の部分は各長方形全体の面積
にそれぞれ一致します。この例では、グラフとt軸に囲まれた部分の面積は、移動距離の値に等しくなります。


次に、グラフの刻み幅を小さくして、次のようなグラフを考えるとします。これは、
● 0~2秒の間は速度2m/s
● 2~4秒の間は速度4m/s
● 4~6秒の間は速度6m/s
● 6~8秒の間は速度8m/s
● 8~10秒の間は速度10m/s
で運動したことを意味します。


10秒間で移動した距離は、

(0~2秒の間に進んだ距離)+(2~4秒の間に進んだ距離)+(4~6秒の間に進んだ距離)+(6~8秒の間に進んだ距離)+(8~10秒の間に進んだ距離)
=2〔m/s〕×2〔秒〕+4〔m/s〕×2〔秒〕+6〔m/s〕×2〔秒〕+8〔m/s〕×2〔秒〕+10〔m/s〕×2〔秒〕
=60〔m〕

のようにして算出することができます。下の図のようにグラフとt軸に囲まれた部分に長方形を作り、その形状に着目すると、この計算式の
● 2〔m/s〕×2〔秒〕 の部分は赤色長方形の面積
● 4〔m/s〕×2〔秒〕 の部分は橙色長方形の面積
● 6〔m/s〕×2〔秒〕 の部分は黄色長方形の面積
● 8〔m/s〕×2〔秒〕 の部分は緑色長方形の面積
● 10〔m/s〕×2〔秒〕 の部分は青色長方形の面積
● 総和の 60〔m〕 の部分は各長方形全体の面積
にそれぞれ一致します。この例でも、グラフとt軸に囲まれた部分の面積は、移動距離の値に等しくなります。


グラフの刻み幅をさらに小さくした場合も上記と同様に、グラフとt軸に囲まれた短冊状の長方形全体の面積が移動距離となります。そして、短冊状の長方形全体の形状が、先ほどの三角形のグラフに限りなく近づいていきます。


このことから、グラフの形状が三角形(に限りなく近い図形)の場合は、三角形の面積として求めたものが移動距離と考えることができます。グラフの形状が台形の場合や、曲線を含む場合においても、同じことがいえます。
以上より、グラフとt軸に囲まれた部分の面積は、物体の移動距離を表していることが示されました。


2.等加速度直線運動に関する関係式
物体が初速度,加速度で等加速度直線運動しているとします。


:速度



:初速度



:加速度



:時間



:移動距離
として、v-tグラフ上にこれらの数量を表すと次のようになります。


時間がt経過したときの速度vは次の式で表されます。


前述のとおり、グラフとt軸に囲まれた部分の面積が移動距離を表しています。この図形を点線の箇所で2つに分けて面積すなわち移動距離を算出すると、時間がt経過したときの移動距離xは次の式で表されます。


上記2式よりtを消去すると、次の式が得られます。



3.あとがき
ここで紹介した内容は、物理の運動に関する重要事項です。これを応用して自由落下運動や水平投射,斜方投射などを考えていくことができます。


<お問い合わせ>
このブログの管理者へのお問い合わせは、こちらからお願い致します。