詳しい方教えてください。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- Excel(エクセル) A、B、C・・・AA、ABと連番でふりたい、調べても式の意味がわからずパニックになってしまう 1 2023/01/23 19:17
- Excel(エクセル) Excelでこの式の意味をおしえていただけますでしょうか、またどのように理解したらいいのでしょうか 3 2022/11/18 00:11
- Excel(エクセル) substitute関数についての質問です 3 2023/06/21 11:57
- Excel(エクセル) Excel この数式の意味を教えて頂けませんか? 5 2022/12/31 10:25
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- Excel(エクセル) Excelで東証のカレンダーを作りたい 6 2022/12/30 20:55
- Windows 10 どうしたらパソコンに詳しくなれる?? 5 2022/04/04 19:09
- CGI VBAで条件から範囲を指定して色を塗る方法を知りたいです 1 2022/06/30 16:05
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・遅刻の「言い訳」選手権
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
倍数(1.5倍、2倍)が分からな...
-
molto ritの意味を教えてください
-
好きな人と通話していて、じゃ...
-
VB6のAttribute VB_Nameの意味...
-
レポートの評価でAとA'の違いは?
-
現に慎む・厳に慎む
-
みなさんの周りで『O型に見える...
-
オタク用語?の〇〇ムーブとは...
-
(*´∀`*)の意味は?
-
遊びに誘ったら「全然いいんだ...
-
「いったん」と「いちど」の違い
-
スカす の意味
-
他方当事者 とは、どう言う意味...
-
虚につけ込む
-
平家物語 木曽の最期の しばら...
-
よろずの意味はすべてのと言う...
-
日局 乾燥減量についての質問です
-
よくTikTokで見る03や06とはど...
-
話の最後でよく耳にしますが、...
-
月がめっちゃ綺麗って言うライ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
molto ritの意味を教えてください
-
倍数(1.5倍、2倍)が分からな...
-
レポートの評価でAとA'の違いは?
-
現に慎む・厳に慎む
-
好きな人と通話していて、じゃ...
-
スカす の意味
-
普通に可愛いというのは10点中...
-
オタク用語?の〇〇ムーブとは...
-
よろずの意味はすべてのと言う...
-
1、「それからというもの」はど...
-
虚につけ込む
-
Googleマップのところどころに...
-
右傾化と左傾化ってどういう意...
-
他方当事者 とは、どう言う意味...
-
恋愛
-
また明日って 普通にまた明日会...
-
語句の意味について ※急いでま...
-
スカしてるとはどういう意味で...
-
『とほさざるなきなり』の意味...
-
教育的な文章で使われる「弾力...
おすすめ情報