タグ

ブックマーク / www.asahi-net.or.jp/~ef2o-inue (7)

  • 計算式(条件集計(件数))

    となります。 戻る 先頭に戻る セル範囲内のデータがない件数 COUNTBLANK関数を使う。 データが登録されていない件数は、COUNTBLANK関数を使います。 ここでの問題は、COUNTA関数の裏返しです。 ※R1C1参照形式の場合は となります。 戻る 先頭に戻る 値を判断して件数をカウントする。 COUNTIF関数を使う。 ゼロを除外したい場合は、COUNTIF関数を使います。 COUNTA関数では、ゼロが入ったセルもカウントしてしまい、「24」とカウントされていましたが、 COUNTIF関数ではゼロが入ったセルは除外されます。 しかし、マイナス値が入ったセルはこの集計には入りません。しかも、「"<>0"」としてしまうとゼロが入ったセル以外が全てカウントされ、「39」となってしまいます。 しかも、この逆の件数を求めようと、「"=0"」で求めると、「1」となってしまいます。 ※R1

    計算式(条件集計(件数))
  • VBA基本(これが解ると、他シートや他ブックの参照もできる。)

    個々の記述はマクロの記録でよく出てきますね。 「オブジェクト」「メソッド」「プロパティ」などというと何やら難しいことを覚えなければならないのか、と構えてしまうかも知れません。 ですが、これらはマクロの記録で記録されるコードに既に頻繁に使われているもので、知らずに使っているのです。記録されたままで済んでいるならそれでも良いかも知れませんが、 コードに手を入れるようなことがあるなら、ある程度は頭にいれておいた方が良いと思います。 Excelの場合「オブジェクト」は、Excel自身や、ワークブック、ワークシート、セルやセル範囲、さらには貼り付けたテキストボックスや画像など、単純な変数以外の全てに近いものを指します。「オブジェクト」は広義であって、実際に使用する場合は「オブジェクト」の中の「何」かを明示して宣言します。 オブジェクト型変数 古い話ですが、Excel95までは、これらは「Object

  • 計算式(A1参照形式とR1C1参照形式の表記の違い。)

    列の見出し表示が「A,B,C」ではなく「数字」になってしまった! などと、Excelが壊れてしまったように問い合わせてくる方が時々いますが、A1参照形式(列をA,B,C・・・で表記する通常の形式)は、Excelのデフォルトであり、ほとんどの人がこの形式で計算式などを作っていると思いますから不思議なことではありません。 でも、皆さんにはもっとExcelを知って使いこなしていただきたいので、最初のうちに「絶対参照」と「R1C1参照形式」について説明することにしました。 「R1C1参照形式」は一般的なものではありません。 当サイトでは、計算式やVBAを作成・開発する側の方への説明として、「R1C1参照形式」を結構多用し、半ばお勧めしています。 ですが、Excelでは「A1参照形式」がデフォルトであり、一般ユーザーでは「R1C1参照形式」そのものを知らないケースも非常に多く見られます。 このことか

  • VBA基本(Functionプロシージャ)

    ここまで「VBA」では、「Subプロシージャ」だけにしか触れていませんでしたが、もう一つ「Functionプロシージャ」というものがあります。 Functionプロシージャは、「Callステートメント」でも呼び出せますが、通常は「関数」として利用するものです。つまり、それ自体にデータ型を指定することができ、戻り値を持ちます。 '*************************************************************************************************** ' Functionプロシージャサンプル Module1(Module) ' ' 作成者:井上治 URL:https://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!] '*****************************

  • VBA応用(Excelが認知している最終行を取得する。)

    データが登録されている最終行を取得するのは、何通りかの方法があります。 Excelが認知しているセル情報を取得する方法 「SpecialCells」メソッドを使います。 '*************************************************************************************************** ' 最終行の取得サンプル① Module1(Module) ' ' 作成者:井上治 URL:https://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!] '*************************************************************************************************** '変更日付 Rev 変更履歴内容-

    NSTanechan
    NSTanechan 2014/02/14
    “ カッコ内の定数指示子はVBEでこのように列挙表示されるので、簡単に指定ができます。内容は「最終セル」の他、「コメントのセル」「計算式のセル」”
  • VBA応用(CSV形式テキストデータの読み込み:カンマ数不定版)

    結局は、行単位で読み込んで、カンマ位置で分解する方法です。 読み込み自体は、この章の最初の「テキストデータの読み込み」と同じ方法なので新しい説明はありませんが、1つの「手段」として考えてみて下さい。 しかし、「なぜ、そんなに難しいコードになるのか」などと質問がありました。データの「精度」についての苦労を知らない方だとは思いますが、単にSplit関数を使ってカンマで分離させる方法ではダブルクォーテーションで囲われた文字列中にカンマが出現した場合、おかしな結果になってしまうのです。 「セル内での改行」や「セル内にカンマ」がある状態で読み込めるサンプルを用意しました。 このページの方法では先に改行までを1件(1行)のデータとして扱っているので、 1件(1行)のデータ中でさらにセル内改行がある場合には対応はできませんでした。 Excelでは「セル内での改行」や「セル内にカンマ」がある状態でCSV

  • VBA応用(CSV形式テキストデータの書き出し)

    メリットはテキスト形式の出力と同じです。 ここでも、古くからのBASICの記述方法と、FSO(FileSystemObject)を操作する方法で、テキストファイルに書き出す方法を解説します。 ワークブックの保存でもCSV形式テキスト(カンマ区切り、*.csv)がありますが、文字列項目をダブルクォーテーションで囲ったり、シートの一部(例えば見出しを除くなど)を出力することはできません。 ここでの方法はいわばExcelの標準と言える出力形式で、FSO(FileSystemObject)の方は個別にレコードを編集するので形式の選択も自在です。 CSV形式テキストファイルは、その形式の「単純さ」からかシステム間のデータ受け渡しに利用されることがよくあります。ですが、一般の利用者は「CSV形式」=「仕様が単一で確立している形式」という誤解があると思います。 現実にこの問題に直面している人もこのページ

  • 1