つらつら Excel VBA

私の備忘録です。

関数

Choose関数

CHOOSE(インデックス、値1、値2、、、)インデックスは整数で1から指定する。指定した~番目の値が返る。 Excel2003では29個、Excel2007以降では254個まで。値部分にSUMとか式を入れ込んだりして複雑なものが作れる。 'エクセル数式 =CHOOSE(4, "A", "B", "C"…

乱数と確率

エクセルの乱数は疑似乱数。セルに以下の数式を入れると出る。 =RAND() '0~1の間で乱数を生成 以下、VBA用。シード値については触れません。 Sub Test1() Randomize '乱数ジェネレータを初期化 Debug.Print Rnd '0~1の間で乱数を生成 End Sub 整数用の乱数…

曜日

日曜日~土曜日。1~7の数値に対応。セルに以下の式を入力。曜日や数値が出せる。 =TEXT(NOW(),"(aaa)") '(日)~(土) =TEXT(NOW(),"aaaa") '日曜日~土曜日 =WEEKDAY(NOW()) '1~7 セルの書式設定のユーザー定義でも出せる。aaa、(aaa)、ddddなどを設定。 VB…

TEXTJOIN関数

できるだけ楽に県名の配列を用意したい。 ネットで県のリストを探してExcelのA1にコピペ、TEXTJOIN関数で繋げる。 =TEXTJOIN(""",""",TRUE,A1:A47) 'TEXTJOIN関数の結果 北海道","青森県","岩手県","宮城県","秋田県","山形県","福島県","茨城県","栃木県","…

小計と合計(SUBTOTAL関数)

SUBTOTAL関数を除けて合計を出してくれる!小計とか出しやすい!SUBTOTAL(パラメータ,参照範囲) パラメータは1~11、101~111が入る。9か109が合計。違いは調べてません。 平均、最大、最小、カウント、いろいろできるらしい。以上。

複数条件付きMAX(古)

新めのExcelにはmaxifsという便利な関数があるので、そちらを使いましょう。古めのExcelのやり方を書きます。 こんな感じ。配列数式なのでShift+Ctrl+Enterで確定。 データ例が少なくてMAXの意味が無い・・・分かればヨシ! 以上。

INDEXとMATCH便利

以下の表では、最大単価をつけたヤツの担当名と果物名を出してます。 =INDEX(A2:C22,MATCH(MAX(C2:C22),C2:C22,0),2) これで鈴木を出せます。末尾の2を1に変えればぶどうも出ます。 MAXで最大値の850を検出して、MATCHで850はどこにあるかを探して行を返し、…

InstrRev関数

後ろから探して、前から数える