[[20080904215314]] 『<>』(yosiko) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『<>』(yosiko)
 関数やマクロのなどに使われています<>・・の意味を教えてください。
 例えば弥太郎さんがどこかで書いていたマクロの5行目とか
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dic As Object, i As Long, data As String, ky, tbl
    With Target
        If .Count > 1 Then Exit Sub
        If .Address <> "$A$2" Then Exit Sub
        Application.EnableEvents = False
        .Offset(, 1).Resize(Range("b" & Rows.Count).End(xlUp).Row,  2).ClearContents
        Set dic = CreateObject("scripting.dictionary")
    End With
    With Sheets("sheet1")

 Ms.Rin〜♪♪さんの使っていた関数の
 INDEX(Sheet1!$A:$A,SMALL(INDEX((Sheet1!$C$1:$C$20<>COLUMN(A1))*10^4+ROW($1:$20),),ROW(A1)))&""
 にある<>のことです。


 「等しくない」かな。
[[20030709085333]]『<>の意味』(ヒロ) 
をどうぞ〜
(かなれっと)

 おっと、かなれっとさんと衝突しましたが・・・。

 たとえば、A1セルに「10」と入っていた時
 =A1=10 で「A1セルは10と等しいか?」を調べる事が出来ます。
 =A1<>10では「A1セルは10と等しくないか?」が調べられます。

 =A1>10 は、「A1セルは10より大きいか?」
 =A1<10 は、「A1セルは10より小さいか?」
 がそれぞれ調べられますので、この二つが
 組み合わさっていると見ると 分かりやすいかもしれません。
 (A1セルの値が10より大きいか、10より小さい時、TRUEとなる。)

 (HANA)

かなれっとさん、HANAさんありがとうございます。
 ついでといってはなんですがSMALL(INDEX((Sheet1!$C$1:$C$20<>COLUMN(A1))*10^4+ROW($1:$20),),ROW(A1)))&""
 の関数で、ROWの使い方「(ROW($1:$20)」とその後ろの「,」の使い方が分かりません
 まだエクセルをはじめたばかりで、INDEXの使い方に抵抗も感じています。
 もしよろしければ関数の意味するもの教えていただくとありがたいのです。
 最後になりましたがMs.Rin〜♪♪さんの関数を勝手に使わせていただきすみませんでした。


 ROW($1:$20)は、指定された配列の行番号を返しています。{1;2;3;…;20}
 INDEX関数のヘルプから
 配列が 1 行または 1 列のみの場合、それぞれ行番号または列番号を省略することができます。
 配列が複数行および複数列で構成され、行番号または列番号のどちらか一方しか指定されていない場合、
 配列の中にある行または列全体の配列が返されます。
 ということなので、「,」以降の行番号を省略して行全体の配列を返していることになります。

 INDEX((Sheet1!$C$1:$C$20<>COLUMN(A1))*10^4+ROW($1:$20),) 
 Sheet1のC1からC20でCOLUMN(A1)「1」と等しくないものをTRUE、FALSEで返すと
 {TRUE;FALSE;FALSE;…;TRUE}ナドとなります。これに10の4乗「10000」をかけると
{10000;0;0;…;10000}となります。TRUEは1、FALSEは0として扱われます。
これに{1;2;3;…;20}を足すので、{10001;2;3;…;10020}がSMALL関数の範囲の中身となる、です。

 いつも感覚的に使っているので、言葉での説明に挑戦!してみましたが^^;
[[20080822112506]] 『データー入力表から集計表への振り分け』(MAKO)
 多少式は違うものの、上記にRinさんの説明を見つけたので参考になさってください〜
(かなれっと)

かなれっとさんありがとうございます。
 懇切丁寧なご回答感謝します。配列というのがいまいち理解しきれていないみたいです。
 また10000をかける意味はなんだろうと思ったりしましたが・・なんとなく式の意味は分かってきました。ありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.