
詳しい方教えてください。
Excel(Home and premium)、条件付き書式で下記の式が書かれてあったのですが、どのような意味でしょうか。
=countif(indirect(address(row(),column())),"(例)*")
既に退職している前任者が作成したもので、どのような意図で書かれたのかも確認出来ず。。。
こういう時はとりあえず、意味はわからないけど、使い続けるのが上手く仕事をこなしていくコツでしょうか。
調べるとエラーなど見つけてしまい、ドツボにはまるだけのような気もしたりして。。。
No.2ベストアンサー
- 回答日時:
INDIRECT関数は使う機会がある関数だと思いますよ。
質問のADDRESS関数の使い方をすることは少ないかもしれませんが、
INDIRECT関数は参照したセル内にある文字列を元に別のセルの値を
求めたいときに使うことが多いからです。
例えば、シート名が月名になっているシートにある値を求めるとき、
月表示があるセルを参照してシート名として利用するなどですね。
こちら↓は暇があったら読んでみると面白いかもしれません。
https://aka-aca.com/indirect-01/
https://aka-aca.com/address-01/
https://aka-aca.com/offset-01/
No.4
- 回答日時:
ご質問者が掲示された数式
=countif(indirect(address(row(),column())),"(例)*")・・・・・・①
のADDRESS関数はセル番地を返す関数です。address(row(),column())とすると自分自身のセル番地を絶対参照形式の文字列で返します。INDIRECT関数はセル範囲やシートの参照を文字列で指定できる関数ですので、indirect(address(row(),column()))の部分は他の回答者さんの回答どおり、自分自身のセルの値という意味になります。
COUNTIF関数は範囲内の条件に合致しているセルの数を数える関数です。「"(例)*"」の*アスタリスクはワイルドカードと呼ばれるもので、何らかの文字列を代替できます。文字数は0以上でよいので、例えば「(例)」「(例)1.」「(例)gooで・・・」などのいずれも「(例)*」に含まれることになります。
つまり、この数式は、自分自身セルの値を参照し、「(例)」という文字列から始まっていたらCOUNTIF関数の値が1になるという数式です。
条件付き書式に記述する数式は、条件に合致しているとき「TRUE」、合致しないとき「FALSE」を返すものにする必要がありますが、条件付き書式中の数式の結果が1は「TRUE」、0は「FALSE」と見做されるので、COUNTIF関数の対象範囲が自分自身のセル1つである以上、結果は0か1なので「TRUE」「FALSE」のいずれかになるということになります。
従って、①は
=countif(indirect(address(row(),column())),"(例)*")=1・・・・・・②
という数式と同じ意味ということになります。
なお、ご質問と直接関係はありませんが、どなたも「揮発性関数」について触れないので、触れておきます。
INDIRECT関数は「揮発性関数」です。揮発性関数は、参照先にかかわらず(つまり、自分自身のセルの値に変更がなくても)、シート上のどこかのセルが再計算されたり、ブックが開かれるたびに、常に再計算を行う関数です。
このため、揮発性関数を多用すると、システム負荷が大きくなり、いわゆる「EXCELが重たい」という状態になります。
以下のURLでも「揮発性関数の控えめな利用」を促しています。
https://learn.microsoft.com/ja-jp/office/client- …
どうしてもINDIRECT関数を使わないと処理できないという場合はともかく、使わなくて済む方法(代替数式など)があるなら、そちらを選択すべきかも知れません。
このご質問の場合も、条件付き書式の適用範囲を選択した状態で、
条件付き書式⇒新しいルール⇒指定の値を含むセルだけを書式設定⇒「次のセルのみを書式設定(O)」と表示されている下のドロップダウンリストで、「特定の文字列」を選択⇒右隣りのドロップダウンリストで「次の値で始まる」を選択⇒右隣りのボックスに(例)を入力【または、既に(例)の文字列が入力されているセル番地を指定】⇒書式ボタンを押す⇒反映させる書式を設定⇒OKを押す⇒OKを押す
とすることで、INDIRECT関数を使わずに同様の処理が可能です。
No.3
- 回答日時:
回答ではありません、が質問してくれた貴方にありがとう!です。
普通は ADDRESS関数を、
=ADDRESS(ROW(),COLUMN())
のような形で使うことはありませんが、
=COUNTIF(INDIRECT(ADDRESS(ROW(),COLUMN())),"(例)*")
のような形で、[条件付き書式]の条件式としてなら使えるッ!に感動しました。私もこれから、使って行こうと思います。
「既に退職している前任者」の方は、Excel の鉄人だったと推察しています。機会があればその方によろしくお伝えください。m(_._)m
回答ありがとうございます。
前任者はExcelの達人だったのですね。。。
私は未だに式がり回できていません。。
Address(ROW(),COLUMN())
で、現在のセルを参照し、INDIRECT関数でそこに記載されているセル番地の内容を表示する、でしょうか。。。。
もっと勉強します。
No.1
- 回答日時:
簡単に説明すると、ADDRESS(ROW(),COLUMN())で条件付き書式の
セルを絶対参照にし、INDIRECT(ADDRESS(ROW(),COLUMN()))に
することで、セル内容を取得します。
=COUNTIF(INDIRECT(ADDRESS(ROW(),COLUMN())),"(例)*")と
すると、(例)*がワイルドカードを使っているので、文字列先頭に(例)
の有無を調べて、あれば条件と一致するので書式設定されるのです。
=ADDRESS(ROW(),COLUMN())は、条件付き書式では循環参照には
ならないのでエラー表示されずに済みますが、通常のセル内の数式に
使うと循環参照にのエラーになります。
ROW()またはCOLUMN()のどちらかを離れたセルを参照すれば、理解
できるようになります。
https://www.ceodata.com/excel-address-function/# …
回答ありがとうございます。
参照リンク、とても参考になりました。
Indirect関数やoffset関数始めて知りました。
私ならVlookとかで使ってしまいそうです。
Indirect関数などは、上級者なら頻繁につかうのでしょうか。。。
自分がIndirect関数やoffset関数を扱いこなしている場面が想像出来ず。
まだまだ勉強が足りないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excel 知恵を下さい。 下記表は、例です。本来の表のデータ量は、1000件以上あります… A列:
Excel(エクセル)
-
Excelの関数詳しい方お願いします。
Excel(エクセル)
-
excelで同日を除いて数えたい
Excel(エクセル)
-
-
4
Excelで2つの条件のうちどちらかにあてはまるときの数式を教えてください。
Excel(エクセル)
-
5
Excelにて、下記のようなデータを月だけ変えて下にドラックしていきたいです。どうすれば良いですか?
Excel(エクセル)
-
6
エクセルのソート方法について
Excel(エクセル)
-
7
エクセルで重複しない組み合わせの出し方
Excel(エクセル)
-
8
勤務表の中抜け集計の関数を教えてほしいです。
Excel(エクセル)
-
9
関数を教えてください。
Excel(エクセル)
-
10
エクセルデータ。容量を減らすにはどうしたらいい?
Excel(エクセル)
-
11
Excel シートに画像が貼ってあり、クリックすると入力シートにジャンプする機能
Excel(エクセル)
-
12
余計なお世話的な「入力規則」?対策は?
Excel(エクセル)
-
13
エクセルの技(関数?)を教えてください。
Excel(エクセル)
-
14
Excelについて
Excel(エクセル)
-
15
エクセル 住所間の通勤時間
Excel(エクセル)
-
16
Excelで日数の関数がうまく出せません。
Excel(エクセル)
-
17
Excelで過去の最大値より大の場合、塗りつぶすには
Excel(エクセル)
-
18
Excelで数式またはマクロを使用してできるか教えてください。
Excel(エクセル)
-
19
エクセルの遅刻計算について
Excel(エクセル)
-
20
Excelのスキル
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
(Excel VBA)and,orについて
-
5
倍数(1.5倍、2倍)が分からな...
-
6
1W程悩んだ という言葉の意味
-
7
スカしてるとはどういう意味で...
-
8
現に慎む・厳に慎む
-
9
吸光光度計のAbsと K*Absはそれ...
-
10
「気負うことはないよ」ってど...
-
11
浪花節ってどういう意味ですか?
-
12
レポートの評価でAとA'の違いは?
-
13
(*´∀`*)の意味は?
-
14
マンゴーチャンクのチャンクっ...
-
15
molto ritの意味を教えてください
-
16
「巡り合い」 「邂逅」 「遭...
-
17
以上~未満でその数を含む物とは
-
18
be alrightどういう意味ですか...
-
19
隔月と隔週の正しい意味を教え...
-
20
即ハメって何なんですか?
おすすめ情報
公式facebook
公式twitter