オフィス製品の中級者以降のTipsまとめ。MS Excel/Wordの関数やマクロ,OpenOffice.org Writer/Calcの使い方, Kingsoft Officeなど
オフィス製品に詳しくなるための,中級レベル以降のまとめ。
Microsoft Officeだけでなく,
無料で使えるOpenOffice.orgやLibreOffice,
またKingsoftなどの類似品にも対応している。
(1−1−1)Excel関数
中級者・上級者にステップアップ:
- Excelのハマりがちな便利関数を復習。 6つの中級関数で,セル参照と文字列操作。
- VLOOKUPを卒業する段階のExcel使いになると,以下の関数をたくさん使う。
- Excel関数の中級者になるためのリンク集
- エクセル関数の「中級者」「上級者」を 自信を持って名乗れるようになるためには, 下記のページを全部読んでマスターしておこう。
条件設定をうまく使う:
- Excel表で,VLOOKUP関数に複数条件を指定したいケースの対処法
- VLOOKUPに複数の条件を設定したいケース。 どう対処したらよいか。
- Excel関数で,空白セルを無視した「連番」を自動的に入力する方法 (シートの画面キャプチャ付き)
- Excelの関数で,条件を満たすセルだけに番号をふる方法。 条件を満たさない場合や空白セルの場合は,番号を付けないでスキップ
- Excel関数で,VBAマクロを使わずに,重複行レコードを検出して削除する方法。サンプルシートつき
- Excel関数で,シート上の行データの重複を検出し,削除したい。 ここで,重複しているかどうかの判定は,複数の列データを参照したい。 このような「重複検出」の処理を,VBAマクロを使わずに シート関数だけで実現するために,役立つサンプルを掲載。
日付の計算:
- Excelで特定の日付のx年y月後は,EDATE関数でx*12+y月後すればよい
- 「1ヶ月後」とか「1年1ヶ月後」の計算方法。
- Excelで,「今月」を表示する関数
- MONTH(TODAY()) でOK。
シートやセルの操作:
- Excel関数のメモ:外部ブックや別シートを参照する記法
- ブック名: [ ] で囲む シート名: ' ' で囲むか,# を付ける セル番地: ! を付ける 覚え方: シート名はSheetだからSharp(shが共通) 番地はbangをイメージして「!」(shebangが#!になるのと同じ発想)
- ExcelのHYPERLINK関数は,セル内で1つだけ記述可能。複数個は無理
- Excelでは,1つのセル内に1つのHYPERLINK関数しか使えない。 しかも,ハイパーリンク部分の直前などに文字列を連結してしまうと,ジャンプ先のURLもおかしくなって,正常にリンクとして機能しない。
- Excel・Calcで頻出の関数の使い方パターン「1セルずつずれながら順番に参照」。INDIRECT(ADDRESS(ROW))
- ExcelやCalcなどの表計算ソフトで,「大量のセル参照」をいちいち書くのが面倒な場合がある。 INDIRECT,ADDRESS,ROW の3つの関数を組み合わせて,簡単にセル参照できる。 この組み合わせは,よく使うので暗記しておこう。
(1−1−2)Excel VBA
計算処理:
- Excel VBAで,2つの日付を比較し,差分を計算する関数
- VBAで日付の間隔を求めるサンプルコード。 けっこう簡単に,日数を計算できる。
- Excelでセル内の「一部の文字列」や「特定の語句」のフォント・色変更は,VBAマクロで実現可能。関数では無理
- VBAマクロを使えば,セル内の文字色を「部分的に」変えることが可能。 関数だけでは無理
イベントやコントロール:
- Excel VBAでは,シートの印刷前後にイベントを設定可能
- シートの印刷の実行前と完了後のタイミングを検出して, VBAマクロで処理を埋め込む事が可能。
- Excel VBAで,ボタンを押すとファイル選択ダイアログ。選んだ画像をシート上に表示
- Excelシート上のボタンを押したら,ファイル選択ダイアログが開いて,画像を選択すると,シート上にその画像が表示される。 そういうマクロの作り方。
- Excelシート上にチェックボックスを設置して,セルの編集可・不可を切り替えよう
- Excel VBAで,シート上にチェックボックスを設け, チェックされている時だけ,特定のセルを入力可能にする方法。
Excel VBAを勉強するための動画:
- Excel VBAの基礎とTips, Eventの使い方について勉強できるYoutube動画
- Excel VBAの基礎とTips, Eventの使い方について勉強できる動画。(英語)
- Excel VBAで,ユーザーフォームとActive Xについて勉強できるYoutube動画
- Excel VBAで,ユーザーフォームとActive Xについて勉強できる動画。(英語)
(1−2)MS Word
写真入りのアルバムやレポートを作る:
- 画像を多数Wordに貼り付けてレポートを作る。デジカメ画像サイズを一括変更
- MS Wordに写真をたくさん並べて,アルバム風のちょっとしたレポートを作りたいとする。
(2−1)OOo Calc
VBAのようなBasicマクロ:
- OpenOffice.org Calcで,VBAに似たマクロ(Basic)の入門サイト集。シート上の定型処理を自動化する「OOo Basicマクロ」を初歩から学ぶ
- Excelの無料版ともいえる「Open Office.org Calc」の,マクロ機能に入門するためのサイト。 Excel VBAとほぼ同じコードが,フリーソフトであるCalc上でも動作する。 名前は「OpenOffice Basic」。
- OpenOffice.org Calcのセル内で,HYPERLINK関数だけでマクロを実行する方法 (表計算シート上にボタン塔を設置せずに,OpenOffice Basicを簡単に実行する)
- OOo Calcで,セル内のHYPERLINK関数だけでマクロを実行できる。
- OOo CalcのBasicマクロで,「値のある最後の行や列」を取得する方法。Excel VBAのEnd(xlDown), End(xlToRight)と同じ目的のサンプルコード
- Excel VBAでいう End(xlDown) ・ End(xlToRight) を, OpenOffice.org CalcのBasicマクロで実現した。 再利用可能なコード
- OOo CalcのBasicマクロで,セルの行・列番号を変換して,"A1"等のセル番地・アドレス表現文字列を取得する方法
- OpenOffice Basicマクロで, Calcのセルの座標を,「A1」などのアドレス表現(セル番地)に変換するサンプルコード。 つまり列番号をアルファベットにするということ。
- Ooo Calc Basicマクロで,ブックと同じフォルダ上でテキストファイルに書き込みするサンプルコード。シート上の情報をテキスト出力する最も簡単な方法
- OpenOffice.org CalcのBasicマクロで,テキストファイルに書き込みする一番簡単なサンプルコード。 テキストファイルは,ブックと同じフォルダ上に,自動的に新規作成される。
- Ooo Calc Basicマクロで,ファイルパスをフォルダパスに変換する関数のサンプルコード。Windows用のフルパス文字列から親ディレクトリのパスを抽出するOpenOffice.org用コード
- OpenOffice.org Calcのマクロで,ファイルパスをディレクトリパスに変換するコード。
- Ooo CalcのBasicマクロで,ブックの存在するフォルダのフルパスを取得する関数のサンプルコード。Excel VBAのThisWorkbook.Pathのように親ディレクトリを返す
- OpenOffice.org のCalcで,ブックの保存されているフォルダのフルパスを一発で取得する関数のサンプルコード。
- Ooo Calc Basicマクロで,シート内の特定セル領域をCSV出力するサンプルコード。ブックと同じフォルダ上にタブ区切りで複数データを書き出し
- シート内容をCSV出力するサンプルコード。 特定のシートの行・列領域を指定し, ブックと同じフォルダ上にTSV(タブ区切りCSV)形式で保存する。
- OOo Calc Basicマクロで,シート上の「セル値が変更」されたタイミングでイベントを実行する簡単な方法
- OpenOffice.org CalcのBasicマクロで,セル内容が変更(値が書き換え)されたタイミングでマクロを実行するサンプルコード。 セル内容の変更イベントをキャッチする簡単な方法がある。
- OOo Calc Basicマクロで配列を初期化し,動的に要素数を増やし,引数に渡すサンプルコード。実用的な配列プログラミングをマスター
- OpenOffice.org Calc の Basic マクロで,配列の実用的な操作方法をサンプルコード付きで解説する。 Excel VBAと同じように,配列を自由自在に使いこなせるようになろう。
セル内の値の見せ方・表示方法:
- OOo Calcで,セル内改行のシート関数は char(10) または char(13) でOK。Excelの改行コードと同じ
- 表計算ソフトのセル内で,関数を使って改行したい場合
- OOo Calcで,日付情報のセル値をTEXT関数で文字列に自由整形・変換する方法。書式コードの書き方はセルの書式を流用
- OpenOffice Calcで,日付を加工・整形した文字列で表示する方法。 セル関数で実現する。
- OOo Calcで,空白セル参照時の値ゼロ「0」を強制的に非表示にする方法。セルの書式コードではなくIF文で対処
- このゼロは邪魔だ。 不要なので,非表示にしたい。 こういう場合,セルの表示形式を設定すればよい
エラーの対処法:
- 【対処法】OOo Calcで保存できない「エラー ドキュメント〜の保存の際: 書き込みエラー ファイルに書き込みできませんでした」の解決策
- エラー ドキュメント **** の保存の際: 書き込みエラー ファイルに書き込みできませんでした。
- OOo CalcのCOMエラー「com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.」
- 原因は,開こうとしているCalcのファイルが存在しないこと
MS Excelと違ってCalcの不便な点:
- OpenOffice.org表計算「Calc」は,画像のトリミング・切抜きがExcelと比べ超不便。Draw経由でGUI操作可能に
- シート内に配置した画像や図のトリミング(切り抜き)。 上下左右からどれぐらい切り抜くかを,それぞれ数値で指定しなければならない。 なんてひどい仕様
- OOo Calcでは,複数セル範囲の値を一括で文字列結合するためにCONCATENATE関数を使えない。MS Office Excelとは異なる
- OpenOffice calcのCONCATENATE関数には,セル範囲を渡すことができない。
(2−2)OOo Writer
無料でPDF作成するために活用:
- ハイパーリンクを保持してPDF変換する方法は,PrimoPDFではなくWord2007やOOo Writerで出力すればよい
- PDFを作る時に,文書の内部にハイパーリンクを残したい,というケース
- OpenOffice.org Writerで日本語HTMLファイルを読み込む際,文字コードや文字化けの問題を防ぐ方法
- OpenOffice.orgの文書作成ソフトWriterで,HTMLファイルをインポート(読み込み)して開きたい
(3)Kingsoft Office
Kingsoft Officeの微妙な評判:
- Kingsoft Officeの問題点・デメリット・欠点。MS Officeと比較した場合の互換性など
- 最大の問題点・・・中国,ということ。 これだけで一巻の終わりである。
- Kingsoft製品は現在安全で,スパイウェア未検出だが,中国製なので怪しい。百度やJWord等,悪質なソフトのバンドルに注意
- キングソフトはちゃんとした製品を出している。 だが,中国製なので,レノボやバイドゥのような非常に危険な製品を出している危険性もあり,怪しいという覚悟はぬぐいきれない。