「cell」タグアーカイブ

EXCEL2:INDIRECT攻略したい

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を参照しています。

EXCEL2:ゼロをとる

エクセルでワークシートのゼロ値を表示させない方法は、IF関数を使うなどいくつか御存じだと思いますが、ワークシート上に実際ゼロがある、と空白セルの見分けができなくなってしまいます。
実際に値があるセルなのに非表示にする場合、エクセルが消したゼロの値を忘れていない、という事をどのように知る事ができるでしょう。

たとえば、オプションの詳細設定で「ゼロ値のセルにゼロを表示する」のチェックボックスをオフにして、ワークシートのゼロ値を非表示にします。元々ゼロが入っていたセルを範囲選択すると、ステータスバーのオートカルクには、データの個数が「カウント」されています。COUNT関数を使っても同様の結果になります。

実際、ゼロ値が何処にあったのか、という場合は、「数式の表示」ボタン(ショートカットキー:Shift+Ctrl+@))で数式と同様に、ワークシートで非表示設定中のゼロ値が表示されるようになります。

別の手段でゼロ値を消す例に、条件付書式で[指定の値がゼロと等しい]場合に、フォントの色をセルの色と同色にすればよい、という考え方もあるかもしれません。この場合セル色を他の色に設定しない限りゼロ値が見えません。
通常のワークシートで、隠しておきたい数式の結果をわざわざフォント色を白に設定して、一見なにもやっていないように消してみせることが可能です。

EXCEL☆タイトル行を固定する

EXCELでデータ行数が多く、PC画面でスクロールして表の下方まで表示する場合に、表のタイトル行を固定すると見やすくなります。
表をスクロールしても、表の1行目がスクロールされないように設定します。

[表示]ー[ウィンドウ枠の固定]で操作します。

EXCEL画面で、固定したい行(表のタイトル行)の1行下の行を[行選択]して、[ウィンドウ枠の固定]

ちなみに「先頭行の固定」というメニューは、EXCELの1行目を固定しますので、表の見出しが1行目ならば[先頭行の固定]で構いません。

表の「タイトル行」「タイトル列」のどちらも固定したい場合は、固定したい行の1行下で、固定したい列の1列右、つまりデータがはじまる表の左上セルを選択して[ウィンドウ枠の固定]を設定します。

[ウィンドウ枠の固定]メニューをもう一度押すと、固定の設定が解除になります。

印刷する表のタイトル行を固定する場合は、設定画面が異なります。

印刷が1ページだけなら不要な設定ですが、複数ページのEXCEL表を印刷する場合に、2ページ目以降の同じ位置に表のタイトル行が表示されます。

[ページレイアウト]ー[ページ設定]で行います。

固定したいタイトル行を[行選択]して、[印刷タイトル]で表の見出し行を設定します。
[ページレイアウト]の[ページ設定]ー[印刷タイトル]ー[タイトル行]で、印刷タイトルを設定することができます。

印刷タイトルは、複数行選択することができます。

EXCEL◇リンク貼り付けのセル参照

A1セルの値を参照する

A1の値を、同じワークシートの他のどこかのセルで見たい場合、

セルをクリックしてアクティブにして、イコール記号(=)を入力

[A1]をクリックして[Enter]

別のシートで 、A1 の値を参照したい場合、

イコール記号(=) を入力

シートの切替え

「A1」クリックして[Enter]

[= Sheet1!A1 ]となります。

「リンク貼り付け」と同じことだと思いつくかもしれません。

A1のデータ値をどこか他のセルで参照したい場所にリンク貼り付けすると「=$A$1」となります。

別のシートにリンク貼り付けしても「= Sheet1!$A$1 」です。

いずれも、セルの値は同じですが、セルの数式が違っていますので、その後の操作には要注意です。

EXCEL◇同じ値なのに FALSE

EXCELの2シートで各々計算した値が、同じ金額(True)であればOK という数式を作成したのですが、今月、その数式ツールでFalse が表示されました。

求める値は、[請求金額]=[支払金額] でシート上は同じ値なので支払金額は決定で、支払OKなのですが、作成した判定の数式 が間違っているようです。何故、同じ値でFalse が表示されてしまったのか検証しなければなりません。

請求金額シートは、請求書を転記しているだけですが、支払チェックシートの方に長い数式が入っています。合計金額は小数点以下2位の値で、条件が等しい整数値になるように加工しています。ツールバーの「小数点表示桁上げ(小数点以下の桁数を増やす)」ボタンで小数点以下を表示させると1円未満の差がありました。

つまりセル上で整数値が表示されていても、EXCELは値の差を見つけて「値がちがう」と言ってきます。

判定する数式に、小数点以下の値を処理するINT関数、TRUNC関数をネストさせてもFalseが出ます。
=INT(数式)
引数が「数式」で、結果にたまたまTrue値が出てくるのかもしれませんが、判定の数式はいつも正確でなければ意味がありません。

INT関数をWeb検索したところ、
=INT(数値)
INT関数の引数は「値」と書かれていました。

数式の結果を、セルに値貼付けするか、テンキー入力しなおさなければ、判定の数式が正しくTrueを表示できないようです。