INDIRECTという風変わりな関数に興味があります。二次的な、という意味を持つINDIRECTは、間接的にセル参照する機能を持つ検索関数で、二次関数ではなく、OFFICE Onlineサポートサイトでは、INDIRECT関数は「指定される文字列への参照を返す」と書かれています。
つまり、INDIRECT関数の引数の括弧には、=INDIRECT(A1)などとセル番地が入ることになると思います。A1セルに、表のどこか「セル番地」を文字列で入力しているとき、INDIRECT関数は、引数の参照セルに書かれたセル番地のデータを参照しています。
普通セル参照といえば、A1の値を参照するB1セルに =A1 と入力しますが、
INDIRECT関数の参照元で =A1とすると、数式ですので結果はエラーになります。参照元は文字列で、引数のように「セル番地」を入力するという事です。
また、SUM関数と組み合わせて、セル範囲の合計を計算します。
=SUM(INDIRECT(A1))
A1に、B1:B10 と引数の様に入力したセル範囲の合計値を表示します。
このセル範囲に名前を定義すると、A1に名前で置き換えた選択範囲を計算します。
あるいは、「指定される文字列への参照を返す」ので =INDIRECT(“A1”) と解説している教本の方が多いです。
“A1” と表記するときは、引数が文字列のことですので、A1セルの内容をそのまま参照しています。A1セルが文字列でなくても、数値でも、数値は数値としてそのままA1セルの値が参照されるようです。
参照元表は別シートでも、開いている別ブックでも可能という事です。
=INDIRECT(“A1”) の場合、セルの絶対参照のように、行列にコピーしてもA1を参照しています。
エクセルでワークシートのゼロ値を表示させない方法は、IF関数を使うなどいくつか御存じだと思いますが、ワークシート上に実際ゼロがある、と空白セルの見分けができなくなってしまいます。
実際に値があるセルなのに非表示にする場合、エクセルが消したゼロの値を忘れていない、という事をどのように知る事ができるでしょう。
たとえば、オプションの詳細設定で「ゼロ値のセルにゼロを表示する」のチェックボックスをオフにして、ワークシートのゼロ値を非表示にします。元々ゼロが入っていたセルを範囲選択すると、ステータスバーのオートカルクには、データの個数が「カウント」されています。COUNT関数を使っても同様の結果になります。
実際、ゼロ値が何処にあったのか、という場合は、「数式の表示」ボタン(ショートカットキー:Shift+Ctrl+@))で数式と同様に、ワークシートで非表示設定中のゼロ値が表示されるようになります。
別の手段でゼロ値を消す例に、条件付書式で[指定の値がゼロと等しい]場合に、フォントの色をセルの色と同色にすればよい、という考え方もあるかもしれません。この場合セル色を他の色に設定しない限りゼロ値が見えません。
通常のワークシートで、隠しておきたい数式の結果をわざわざフォント色を白に設定して、一見なにもやっていないように消してみせることが可能です。
EXCELでデータ行数が多く、PC画面でスクロールして表の下方まで表示する場合に、表のタイトル行を固定すると見やすくなります。
表をスクロールしても、表の1行目がスクロールされないように設定します。
[表示]ー[ウィンドウ枠の固定]で操作します。
EXCEL画面で、固定したい行(表のタイトル行)の1行下の行を[行選択]して、[ウィンドウ枠の固定]
ちなみに「先頭行の固定」というメニューは、EXCELの1行目を固定しますので、表の見出しが1行目ならば[先頭行の固定]で構いません。
表の「タイトル行」「タイトル列」のどちらも固定したい場合は、固定したい行の1行下で、固定したい列の1列右、つまりデータがはじまる表の左上セルを選択して[ウィンドウ枠の固定]を設定します。
[ウィンドウ枠の固定]メニューをもう一度押すと、固定の設定が解除になります。
印刷する表のタイトル行を固定する場合は、設定画面が異なります。
印刷が1ページだけなら不要な設定ですが、複数ページのEXCEL表を印刷する場合に、2ページ目以降の同じ位置に表のタイトル行が表示されます。
[ページレイアウト]ー[ページ設定]で行います。
固定したいタイトル行を[行選択]して、[印刷タイトル]で表の見出し行を設定します。
[ページレイアウト]の[ページ設定]ー[印刷タイトル]ー[タイトル行]で、印刷タイトルを設定することができます。
印刷タイトルは、複数行選択することができます。
A1セルの値を参照する
A1の値を、同じワークシートの他のどこかのセルで見たい場合、
セルをクリックしてアクティブにして、イコール記号(=)を入力
↓
[A1]をクリックして[Enter]
別のシートで 、A1 の値を参照したい場合、
イコール記号(=) を入力
↓
シートの切替え
↓
「A1」クリックして[Enter]
[= Sheet1!A1 ]となります。
「リンク貼り付け」と同じことだと思いつくかもしれません。
A1のデータ値をどこか他のセルで参照したい場所にリンク貼り付けすると「=$A$1」となります。
別のシートにリンク貼り付けしても「= Sheet1!$A$1 」です。
いずれも、セルの値は同じですが、セルの数式が違っていますので、その後の操作には要注意です。
EXCELの2シートで各々計算した値が、同じ金額(True)であればOK という数式を作成したのですが、今月、その数式ツールでFalse が表示されました。
求める値は、[請求金額]=[支払金額] でシート上は同じ値なので支払金額は決定で、支払OKなのですが、作成した判定の数式 が間違っているようです。何故、同じ値でFalse が表示されてしまったのか検証しなければなりません。
請求金額シートは、請求書を転記しているだけですが、支払チェックシートの方に長い数式が入っています。合計金額は小数点以下2位の値で、条件が等しい整数値になるように加工しています。ツールバーの「小数点表示桁上げ(小数点以下の桁数を増やす)」ボタンで小数点以下を表示させると1円未満の差がありました。
つまりセル上で整数値が表示されていても、EXCELは値の差を見つけて「値がちがう」と言ってきます。
判定する数式に、小数点以下の値を処理するINT関数、TRUNC関数をネストさせてもFalseが出ます。
=INT(数式)
引数が「数式」で、結果にたまたまTrue値が出てくるのかもしれませんが、判定の数式はいつも正確でなければ意味がありません。
INT関数をWeb検索したところ、
=INT(数値)
INT関数の引数は「値」と書かれていました。
数式の結果を、セルに値貼付けするか、テンキー入力しなおさなければ、判定の数式が正しくTrueを表示できないようです。
A列の表タイトル行1行目のA1が空白セルのままなら「ID」とか「No」にせず「0(ゼロ)」を入力して、A列に0から連番、フィルドラッグ、連続データで一括、入力しておきます。データ加工やオートフィルタで並べ替えしたあとでも、タイトル行が迷子にならず元表に戻れます。
After ”Excel Workshop Trial”