Gizport
1 回答
0
Share (facebook)
38
view
全般

=COUNT(INDEX(1/(MATCH(A1:A100,A1:A...

=COUNT(INDEX(1/(MATCH(A1:A100,A1:A100,0)=ROW(A1:A100)),0))

上の式は重複データを除く入力セルの個数を数える式なのですが
式の意味が分かりません(泣)
何故この式でこうなるのか・・・・
分かりやすく教えて下さい
Yahoo!知恵袋 5090日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
この手の配列数式は私も実は苦手の部類に入るのですが、(つうか大の苦手)
どうにかこうにか自分なりに理解する手立ては見つかりました。
コツは「配列数式はいっぺん全部バラしてみる!」です。

具体的に言いますと…

まず、実際にいくつか重複データを含む一覧をA列に作ってみます。
(面倒なので、30行くらいにしてみました)

①「MATCH(A1:A100,A1:A100,0)」の検証
B列に
=MATCH(A1,$A$1:$A$30,0)
と入力して、それを30行目までコピーしてみます。

②「ROW(A1:A100)」の検証
C列に
=ROW()
と入力して30行目までコピー
すると、行数がそのまま出てきます。

③「1/(MATCH(A1:A100,A1:A100,0)=ROW(A1:A100)」の検証
D列に
=1/(B1=C1)
と入力して30行目までコピー
すると、B列とC列が同じものについては「1」と表示され、
違うもの(=重複したデータ)には「#DIV/0!」と表示されました。

④「INDEX(1/(MATCH(A1:A100,A1:A100,0)=ROW(A1:A100)),0)」の検証
…この部分だけはバラけるのが不可能でした。
E列に「=INDEX($D$1:$D$34,0)」と入力してもD列と同じ答えが返ってくるので
違いが今ひとつ分からず。
これ単体というよりも、次のCOUNT関数の為の値範囲なのだろうと
勝手に推測。

⑤COUNT関数の検証
=COUNT(D1:D34)
で、エラーのセル(=重複データのセル)を除いた件数が求められました。

つまり「=COUNT(INDEX(1/(MATCH(A1:A100,A1:A100,0)=ROW(A1:A100)),0))」
という数式は上記の計算を全て1つの式の内で行っているわけです。

「配列数式」のなんたるかは下記のようなサイトの説明を参考にされるといいかなと。
http://home.att.ne.jp/zeta/gen/excel/c01p09.htm

個々の関数や数式が何を行って何を求め、それをどうやって集計しているのかは、
こんな感じで1つ1つバラバラにしてやることで理解することができました。

ご参考までに。
Yahoo!知恵袋 5088日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
62
Views
質問者が納得Alt+↓で、その列に入力してある項目を選択できますよ。 前提は、すでに○、×、△が列Aに入力済みであることです。 王道は、入力規則を使うがいいのでしょうけど、お手軽なのはこちらですね。 入力規則を使うと、新しい項目を追加するのが少し面倒なので、 ☆Altキーとカーソルキーの下を同時押しです。
4510日前view62
全般
78
Views
質問者が納得A100とかB200は1つのセルに入力しているのでしょうか。 足し合わせることを考えると、別のセルに入力しましょう。 Sheet1に元データ 1行目 A列1月・C列2月・・・ 2行目以降 A列記号・B列数値・C列記号・D列数値・・・ Sheet2で集計 B1に1月・C1に2月・・・ A2:A6にA・B・C・D・E B2セルに次式を入れて、縦横にコピーします。 =IF(COUNTIF(OFFSET(Sheet1!$A$2,,MATCH(B$1,Sheet1!$A$1:$X$1,0)-1,4),$A2),...
4512日前view78
全般
49
Views
質問者が納得作業列を利用すれば一般機能で十分可能です。 付図参照 B1=MID(A1,2,FIND(".",A1)-2) フィルハンドルをダブルクリック この列をキーに昇順ソートします。
4515日前view49
全般
61
Views
質問者が納得式を作る過程にて, テストをしやすくするため表記をかんたんにしてます ex. タイトル, 年月->エクセル標準のシリアル値, アイテム名 etc ◇表は画像の位置に置きましたので、実用には適宜、式のセル位置を変えて下さい ID,A6: =IF(ROW(A1)>COUNT($D$1:$H$1)*COUNTA($A$2:$A$3),"",OFFSET(A$2,ROUNDUP(ROW(A1)/COUNT($D$1:$H$1),0)-1,)) と入力し、↑A6の式を C6 ま...
4515日前view61
全般
43
Views
質問者が納得セルO1に「大根」、セルO2に「4月」と指定するとして、 P1=SUMIF(A2:A100,O1,OFFSET(A1,1,MATCH(O2,A1:E1)-1,100)) 上記でいかがでしょう? 1行目の4月、5月・・・とセルO2の「4月」は全角半角の間違いを防ぐために数字だけを入力するようにして、表示形式で「○月」とするのがいいと思います。
4529日前view43

取扱説明書・マニュアル

801view
http://fujifilm.jp/.../ff_a100_mn_j101.pdf
116 ページ5.56 MB
もっと見る

関連製品のQ&A