Excel 長年の宿敵退治

| コメント(0) | トラックバック(0)
このところ脳みその体操も兼ねて、ExcelのVBAに没頭しているのだが、それとは別に関数で、何年も分からないまま姑息な代替手法で凌いでいた問題の解決方法が分かった。
......と言って、そんなに大それた難しい問題ではなく、逆に「こんなに簡単なことが、どうして出来ないのだろう」と言うことで悩んでいた問題だ。

要するに検索条件が2つ、或いはそれ以上に有る場合に、その条件ごとの件数だとか金額の合計を求めたい、と言うこと。
多分皆さん、とっくに御承知のことで「何を今さら」的問題だと思うけど。
検索条件が1つの場合、例えば「1日付」の伝票の枚数や金額の合計、或いは「A商店」の伝票の枚数や金額の合計は、COUNTIF関数やSUMIF関数で簡単に求められる。
ところが、「1日付のA商店」の伝票や、「1日付のB商店」「2日付のA商店」等と、検索条件が2つになると、途端にその区別が分からなくなる。
AND関数やOR関数を使って、色々やってみるのだが、どうしてもうまく行かない。

「こんな単純なこと、分からないのは俺だけで、多分簡単な解決方法が有る筈なんだろうな」と思いながら、手がかりもなく特にネットで調べることもしないで、長年不細工な回避処理で凌いで来た。
今回少し本腰を入れて、この長年の宿敵退治をするべくネットで調べてみたら.........、アッサリ解決してしまった。

要するに、2つ、或いはそれ以上の条件が有る場合、それを全部、文字列として繋いでしまえば、一つの固有の条件として検索対象になるって訳だ。
例えば、「1日付」の「A商店」の伝票だったら、それを、演算子「&」か、関数「CONCATENATE」なんかで連結して「1A商店」にしてしまえば、「1B商店」「2A商店」等と区別できて、固有の検索条件にすることができる。

目 から鱗と言うか、分かってしまえば簡単なことで、確かに「何を今さら」的問題では有ったのだが、同時にこの問題をネット検索する中で、同じような疑問や質 問が沢山有り、その解決方法も、上記以外に色々有ることが分かって、私だけでなく、以外と古典的な疑問だったことも分かった気がして、なにはともあれ、良 かったよかったの「今日この頃」でした。

トラックバック(0)

トラックバックURL: http://y-ok.com/mt-tb.cgi/15

コメントする

このブログ記事について

このページは、が2009年8月14日 06:29に書いたブログ記事です。

ひとつ前のブログ記事は「団塊の世代」です。

次のブログ記事は「Excel2007、歳を隠す芸者の厚化粧、歳を隠す芸者の厚化粧」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

Powered by Movable Type 5.01