Excel:非表示行を含めずに集計(カウント)する方法

Excelで非表示行を含めずに集計したい場合はSUBTOTAL関数を使用すると便利です。

フィルタで絞ったり、グループ化して一部範囲行を非表示にして現在表示されている行のみ集計したい場合などで有用となる関数です。

SUBTOTAL関数の書式

  • =SUBTOTAL(集計方法,参照1,[参照2]…)
  • 第1引数の集計方法には1~11のコード値か101~111のコード値を指定出来ます。3桁のコード値を指定する事で非表示行を含めずに集計することが可能になります。
    Function_num
    (非表示行を含む)
    Function_num
    (非表示行を含めない)
    関数
    1101AVERAGE
    2102COUNT
    3103COUNTA
    4104MAX
    5105MIN
    6106PRODUCT
    7107STDEV.S
    8108STDEV.P
    9109SUM
    10110VAR.S
    11111VAR.P

SUBTOTAL関数の使用例

  • 下記サンプル(テーブル)ではC列は通常のSUM関数、D列をSUBTOTAL関数で集計しています。全ての行を表示している場合はどちらも値は同じとなります。D8セルには「=SUBTOTAL(109,[金額2])」を入力します。
  • グループ化した分類=①の行を非表示にしてみると以下の様に分類=②の行のみの集計値がD列に表示されているのが確認出来ます。
  • 他にもフィルタで商品=Aのみ表示すると商品=Aの集計のみD列に表示されているのが確認出来ます。

 

SQL:xx日後、xxヶ月後、xx年後などの日付を取得する方法

SQLでsysdateなどの日付型へ加算、減算してxx日後、xxヶ月後、xx年後を求める方法をメモしておきます。

xx秒後、xx秒前を求める方法

クエリー(SQL)例

  • システム日付の30秒後と30秒前を取得する例です。

実行結果

 

xx分後、xx分前を求める方法

クエリー(SQL)例

  • システム日付の5分後と5分前を取得する例です。

実行結果

 

xx時間後、xx時間前を求める方法

クエリー(SQL)例

  • システム日付の2時間後と2時間前を取得する例です。

実行結果

 

xx日後、xx日前を求める方法

クエリー(SQL)例

  • システム日付の1日後と1日前を取得する例です。

実行結果

 

xxヶ月後、xxヶ月前を求める方法

クエリー(SQL)例

  • システム日付の1ヶ月後と1ヶ月前を取得する例です。ADD_MONTHS関数は1/31の1ヶ月後は2/28となるように上手く月末日を調整してくれます。

実行結果

 

xx年後、xx年前を求める方法

クエリー(SQL)例

  • システム日付の1年後と1年前を取得する例です。ADD_MONTHS関数に12の倍数を指定することで年単位での加減算が可能となります。

実行結果

Oracle:最大プロセス数や最大セッション数を変更する方法

Oracleでのセッションやプロセス数には上限があり、それを超えてしまうとデータベースにアクセス出来ずに予期せぬエラー(ORA-12519)が発生するなどの不具合が発生してしまいます。

Oracleで最大プロセス数や最大セッション数は初期化パラメータを管理しているSPFILEに定義されています。変更前にSPFILEのバックアップを取得しておくのをオススメします。

SPFILEの配置場所

Oracle DB 18cの場合の例です。

  • 配置位置:[ORACLE_HOME]/database/SPFILE[ORACLE_SID].ORA
    (例)C:\ORACLE\WINDOWS.X64_180000_db_home\database\SPFILEORCL.ORA

最大プロセス数、最大セッション数の変更方法

  1. 最初に「V$SYSTEM_PARAMETER」から現在の最大プロセス数と最大セッション数の設定値を確認します。「V$SYSTEM_PARAMETER」はインスタンスに現在有効になっている初期化パラメータ情報を示します。

  2. 次にALETER文でプロセス数の上限を変更します。
  3. SPFILEの変更はOracleを再起動しないと適用されないため、Oracle DBを再起動します。
    詳細は「Oracle Database(Oracleサーバ)の再起動(停止・起動)手順」参照
  4. 再度プロセス数とセッション数を確認すると上限が変更されているのが確認出来ます。セッション数は明示的に変更しなくてもプロセス数の変更に比例して上限が増えます。

Excel:本日の日付を表示する方法

Excelで本日の日付を表示するにはTODAY関数を使用すれば簡単に表示出来ます。

TODAY関数はパソコンの内部時計から現在日付を取得して表示する関数となります。

TODAY関数を使用して本日の日付を表示する例

・以下の例ではB2セルへ「=TODAY()」を入力して本日の日付を表示しています。

DBeaver:テーブルに登録済のレコードをinsert文形式に変換して取得する方法

データベースのクライアントソフトのDBeaverには便利な機能がいくつもありますが、その内の機能の一つにテーブルに登録済のレコードをinsert文形式に変換して取得出来る機能があります。

開発などでIT環境などに登録済のデータをlocal環境へデータコピーしたい場合などに使える便利な機能の一つです。SQL形式(insert文)以外にもCSVやHTML、XML形式などにも変換出来るので様々な用途に応用可能となります。

DBeaverで登録済のレコードをinsert文形式に変換してい取得する方法

  1. コピーしたいテーブルのデータを表示してinsert文へ変換したいレコードを選択します。
  2. 右クリックして「高度なコピー」⇒「Copy as SQL」を選択するとinsert文形式でのコピーは完了です。
  3. 以下の様にコピーした内容を貼り付けてみるとinsert文形式へ変換されているのが確認出来ます。

 

QRコードをGoogle Chromeで簡単に作成する方法

WebブラウザのGoogle Chromeを利用するとQRコードが簡単に作成出来るので作成手順をメモしておきます。

Google ChromeでQRコードを簡単に作成する方法

  1. QRコードを作成したいサイトをChromeで開きます。
  2. サイトが表示されたら右クリックして「このページのQR コードを作成」を選択します。
  3. QRコードが表示されるのでURLに問題なければそのまま「ダウンロード」ボタンを選択するとpng形式でQRコードが保存されます。
  4. 保存したpngファイルを開くと以下の様にQRコードが保存されているのが確認出来ます。

Excel:フラッシュ フィル機能でデータを自動入力する方法

Excel2013から追加されたフラッシュ フィル機能はデータ入力に法則性があるとそれに沿って自動入力してくれる機能です。これまで関数や区切り文字などでウィザードを使用して分割表示させていたものを一瞬で入力出来るようになります。

フラッシュフィル機能の使用例

  1. 以下の様にAセルへ氏名を入力します。
  2. 次に姓と名を分けて2行目へ入力します。
  3. B列のセルを選択して「ホーム」タブ ⇒ 「フィル」 ⇒ 「フラッシュ フィル」を選択します。
  4. 以下の様にB列へ自動で姓のみ入力されているのが確認出来ます。
  5. 同様にC列を選択してフラッシュフィルを実行すると以下の様にC列にも名のみ自動で入力されます。

SQL:NULLの判定方法

SQLに慣れてない頃だとnullを判定する際は「xx = null」などと書いてしまいがちですが、SQLでNULLを判定するには「xx is null」 or 「xx is not null」と記載します。

使用例

サンプルテーブル

「GOODS」

NULLのデータを抽出する例

クエリー(SQL)

実行結果

NULL以外のデータを抽出する例

クエリー(SQL)

実行結果

Excel:作成した表をテーブル化して作業効率化する方法

Excelの基本用途は表作成ですが、表の作成段階でテーブル化しておくことで作業効率化出来るのでメモしておきます。

作成した表をテーブル化して作業効率化する方法

Excelで以下のような表を作成すると集計行や列を追加したり見出しの色を変えて見やすくし、行ストライプ表示(しましま表示)にして見栄え良くして。。など手作業で色々と装飾系にも気を使って追加すると地味に面倒な作業ですが、表の初期作成段階でテーブル化することでそれらの作業を自動で実行してくれるので作業効率を上げることが出来ます。

  1. 最初にテーブル化したい範囲を選択して「ファイル」タブの「テーブル」を選択します。
  2. テーブルの作成画面が表示されるので見出し行がある場合は「先頭行をテーブルの見出しとして使用する」へチェックして「OK」ボタンを選択します。
  3. 以下のように見出し行の色分け、行ストライプ表示、フィルタリングが自動で設定されているのが確認できます。
  4. 作成したテーブルを選択すると以下のように「デザイン」タブが表示されて、他にもスライサーの挿入や集計行の追加、テーブルデザインの変更などテーブル操作の作業が実行しやすくなるため作業効率化出来ます。

 

SQL:SELECT時にCASE文で条件指定する方法

SQLではSELECT時などにCASE文を入れる事で「IF-THEN-ELSE式」を記載することも出来ます。

使用例

サンプルテーブル

「GOODS」

クエリー(SQL)

  • 以下の例ではCASE文でGOODS_CODEが特定の値と一致した場合、NAME列に文字列を付与してTEST列として出力しています。

出力結果