パソコンカレッジ スタッフのひとりごと

パソコンスクールのスタッフが、
初心者から上級者まで役立つ情報をお伝えします。

あれ?計算結果が間違っている?

2009-10-30 09:01:07 | エクセル
生徒さんが、キツネにつままれたような顔をして相談してきました。

「先生、エクセルも間違えることがあるんですね。」

「? どういうことですか?」

「それが、先生、計算結果が間違ってるんですよ。」

「どういう風に?」

「まあ、とにかく見てくださいよ。ほら。」


・・・という訳で、見せてもらいました。





確かに、E列5行目や、E列7行目の値は、間違ってますよね。

Excelは、壊れてしまったのでしょうか?

いやいや、結論を出すにはまだ早いですよね。

「Excelが間違えているかどうかは、まだ分かりませんよ。」

「どうしてですか?」

「外見と中身は、違うことがあるんですよ。人間だってそうでしょ?」

「はあ?」

「つまり、表示されている値と、本当の値は違うことがあるんですよ。
Excelは、表示形式をいろいろ指定することができますからね。
さあ、一緒に見てみましょう。」

数値の入力されたセルを右クリックして、セルの書式設定を選ぶと、ダイアログボックスが表示されます。





「現在は、数値という分類が選択されていて、小数点以下の桁数は0になってますね。
これを、標準という分類に変更してみましょう。すると、本当の値が見えるんですよ。」

「ぜひ見せてください。」

「ほら、ご覧ください。これが正体ですよ。」





「え、重量の値には小数点以下があったんですか。気付かなかった。」

「Excelは、正しく計算していたんですね。ただ、小数点以下を非表示にすると、四捨五入が行われるので、間違った計算に見えるんですね。」


「いやあ、恐れ入りました。エクセルさん、ごめんなさい。」

「大丈夫。エクセルは怒ってなんかいませんよ。ハッハッハ」

めでたし、めでたし。



だい
コメント
この記事をはてなブックマークに追加

ページをまたいだ長い表に見出しをつける(Word)

2009-10-29 09:04:16 | ワード
おはようございます。

今日はWordの便利技をご紹介しましょう。

昨日私は、地区のある会員さんの名簿を作成していました。

3ページにわたる表なので、各ページの先頭に見出しをつけ、そのあと名前の入力漏れをチェック。

あらあら漏れてる漏れてる。

データを追加すると、各ページの見出しがずれるじゃありませんか。

サンプルは2ページです↓





もぉ・・面倒くさいなぁ

はっそういえば・・

Wordには表がページをまたがってしまう時、表の先頭に

自動的に列見出しを挿入する機能があったじゃぁないですか(*^_^*)

しばらく使っていないと忘れてるもんですねぇ・・

表の見出しは先頭ページだけでOK



Word2002/2003は表内にカーソルを置いて「罫線」メニュー→「タイトル行の繰り返し」をクリック

2007は表内にカーソルを置いて「表ツール・レイアウト」→「データグループ」→「タイトル行の繰り返し」をクリック





はい(*^_^*)できあがり

これでデータを増やしても、列見出しがズレる心配は

ありません。Wordが自動で調整してくれますからね(*^_^*)



mihoりん
コメント (2)
この記事をはてなブックマークに追加

C:\WINDOWS\SYSTEM32\ntoskrnl.exe・・・で起動できない

2009-10-28 08:14:31 | WindowsXP・Vista・Windows7
生徒さんが、ノートPCを持って現れました。

「先生、パソコンの電源を入れると、変なメッセージが出るんです。」


早速、ノートPCの電源を入れてみる。

すると、すぐに、黒い画面に以下のメッセージが表示されました。


C:\WINDOWS\SYSTEM32\ntoskrnl.exe が存在しないか壊れているため Windows が起動できません。
上記のファイルをインストールしてください。



なるほど、これは困った事態だな、と思いながら、僕は近くにいたみほりんに言いました。

「みほりん、ntoskrnl.exeをキーワードにして、ネットで情報を探してくれ。」

「先生、また、かっこつけちゃって。自分でやればいいのに。」

「まあ、いいじゃないか。俺より入力速いんだから、すぐに調べてよ~」

そんな訳で、調べてもらった結果、Microsoftのサイトに情報がありました。


"ntoskrnl.exe が存在しないか壊れている" と表示されて Windows XP を起動できない場合の対処方法


この情報の通りに対処して、無事に治りましたとさ。


なお、入念な聞き込み調査で判明したことですが、パソコンの終了時に、Windows Updateが始まったそうです。
本来は、それが終了するまで電源を切ってはいけないのですが、生徒さんは、ついつい待ち切れずに、電源を切ってしまったそうです。

仮定の域を出ませんが、それが原因で、今回の症状が現れたのかもしれませんね。



だい
コメント (4)
この記事をはてなブックマークに追加

必須入力の部分に色を付けて強調する(Excel)

2009-10-26 10:25:28 | エクセル
おはようございます。

今日もExcelをお勉強しましょう(*^_^*)

書類などの記入漏れをふせぐために、またまた条件付き書式の登場です。

これも以前生徒さんと一緒にお勉強した内容です。

このようにExcelで作成した書類の必須入力部分に背景色を付けておいて↓



入力すると・・↓



背景色が元に戻ります。

いいでしょう(^v^)

条件付き書式の設定方法は

必須入力のセルを選択



2002/2003は「書式」→「条件付き書式」

2007は「ホーム」タブ→「スタイル」グループの「条件付き書式」→「新しいルール」

→「数式を使用して、書式設定するセルを決定」を選択

このように数式を入力し↓「書式」ボタンで背景色を設定する。



ここで使用しているISBLANK関数は、引数に指定したセルの値が空白だったら「True」を返す関数です。



選択したセル1つ1つに条件付き書式が設定され、空白の時は背景色を水色にしています。

(*^_^*)できあがりです。

mihoりん
コメント (7)
この記事をはてなブックマークに追加

データベース関数の紹介(DSUM関数)

2009-10-23 11:04:51 | エクセル
今日は、エクセルの関数をご紹介します。

エクセルには、データベース関数があり、これが、なかなか便利なんですよ。
今日は、その中のDSUM関数を取り上げます。

DSUM関数:
データベースのレコードで指定されたフィールド (列) を検索し、条件を満たすレコードの合計を返します。


さて、以下のような表(データベース)があるとしましょう。




さて、商品分類が「ボディケア」の金額の合計はいくらになるでしょうか?

DSUM関数を使うと、このリストをソート(並べ替え)することなく、簡単に答えを求めることができます。


それでは、やってみましょう。


今回は、別シートに答えを出します。
また、データベースは、「商品一覧表」というシートにあるものとします。


まず、検索するフィールド名(商品分類)を入力し、その下に、「ボディケア」と入力します。
これが、検索条件となります。
任意のセルに入力してかまいませんが、必ずフィールド名の直下に商品分類名を入力してください。
仕込みはこれでオーケーです。

そして、答えを出したいセルに、関数を設定します。
今回は、D3に答えを出します。

以下のように入力します。

=DSUM(商品一覧表!B3:H23,7,Sheet1!B2:B3)





第1引数:データベースのセル範囲
第2引数:合計を出すフィールドの番号(左から何列目か)
第3引数:検索条件範囲

これで、合計が出るのですよ。簡単ですね。

さて、他の商品分類、たとえば「ダイエット食品」の合計を求めるには、どうしたらいいでしょう。
そうです。検索条件範囲の、分類名を、「ダイエット食品」に変更するだけなのです。自動的に、合計金額が更新されます。






1回がんばって設定してしまえば、あとは、楽ちんですね。関数、ありがとう。



だい
コメント (1)
この記事をはてなブックマークに追加

宛名を変えて自動的に連続印刷する方法-その2-(Excel2000以降)

2009-10-21 14:01:59 | ExcelVBA
今日は前回(宛名を変えて自動的に連続印刷する方法)の続きです。


さて、前回の最後に書きましたが、連続印刷の場合、プリンタによっては、一度に大量のデータを送りつけられると
エラーとなって印刷できない危険性があります。

そんなリスクを回避するために、コードを追加します。
以下のように変更してください。


Sub 連続印刷()
    Dim i As Integer
    Dim LastRow As Integer
    Const UNIT As Integer = 5
    
    Worksheets("発注書").Select
    
    With Worksheets("名簿")
        LastRow = .Range("A65536").End(xlUp).Row
        For i = 2 To LastRow
            If i Mod UNIT = 0 Then
                MsgBox "一定数印刷されたらOK押してね"
            End If
            Range("A4").Value = .Range("A" & i).Value
            ActiveSheet.PrintPreview
        Next
    End With
End Sub


追加個所は、赤枠で囲ったところですよ。




UNITという定数に5を設定しました。
この数字の倍数のときに、メッセージボックスが表示されます。
表示されている間は、印刷データがプリンタに送られません。

ある程度印刷された段階で、このメッセージボックスのOKを押してください。
すると、また、UNITに設定された数だけ(今回なら5回分)印刷データを送り込んで、メッセージボックスが表示されます。

こうして、一度に大量のデータを送信することを回避しているのです。


それでは、実行してみましょう。

Excelに切り替えて、Excel2003までは、「ツール」→「マクロ」→「マクロ」とクリックします。
Excel2007は、Altキーを押しながらF8キーを押してください。
実行ボタンをクリックします。





今回のコードは、実際に印刷するのではなく、印刷プレビューとなります。
5回プレビューされるとメッセージボックスが表示されます。
(厳密に言うと、最初のメッセージボックスは、5回よりも少なくなります)







メッセージボックスのOKを押すと、5回プレビューして、再度メッセージボックスが表示されます。


ちなみに、UNITの5 を変更すると、その数字分だけ印刷してメッセージボックスが表示されます。
いろいろと試してみてください。


だい
コメント (4)
この記事をはてなブックマークに追加

明細行の背景色を変えて印刷する(Access)

2009-10-20 09:07:32 | Access(アクセス)
おはようございます。

今日はAccessを取り上げます。

レポートの特定の行だけに背景色を設定してみましょう。

成績表一覧のレポートで、合計点が300点以上の人の明細行に背景色を設定しま
す。



まずレポートをデザインビューで開き→詳細セクションのプロパティを表示



「イベント」タブ→「フォーマット時」イベントの・・・をクリック→



「コードビルダ」を選択してOK



VBEが起動します。

詳細フォーマット時のプロシージャが出来ているので、↓のように入力します。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
  If 合計 >= 300 Then
    Me.Section(acDetail).BackColor = RGB(255, 0, 255)
  Else
    Me.Section(acDetail).BackColor = RGB(255, 255, 255)
  End If
End Sub





入力出来たらVBEを閉じます。

レポートのデザインビュー画面に戻ったら、詳細セクションの全てのコントロールを選択します。



そして、塗りつぶしの色と境界線の色を「透明」にしてください。

以上で終わりです。

では印刷プレビューで見てみましょう。



できあがり(^v^)

mihoりん
コメント (1)
この記事をはてなブックマークに追加

10月のWindows Updateでntoskrnl.exeが書き換えられました

2009-10-16 09:02:30 | カスタマイズ
今日は一般の方には役に立たない記事ですみません。


今月のWindows Updateでntoskrnl.exeが書き換えられましたので、Boot画面を作り直してアップしました。


ダウンロードパスワード: 3024


XP SP2の人はこちらからダウンロードして下さい。

XP SP3の人はこちらからダウンロードして下さい。


方法は「XPをVista風にカスタマイズ ここまで出来る! Part-4」に書いてあります。


↓Vista風 Boot画面




ついでにVista SP2用のパッチもアップしたのでどうぞ。

Vista SP2用 パッチ

パッチの当て方は「Vista カスタマイズ Part-2」に書いてあります。



※カスタマイズする時は、大事なデータはバックアップして
 「システムの復元」で復元ポイントを作成してから行って下さい。

 そして、自己責任にてお願いします。




(ケン)
コメント (4)
この記事をはてなブックマークに追加

数式の入っているセルに誤ってデータを入力させない方法(Excel)

2009-10-15 09:02:24 | エクセル
おはようございます。

さっ今日も生徒さんからExcelの質問をいただいたので取り上げますよ。(*^_^*)

「各セルに数式が入ってますが、back deleteキーにて消さない方法がありましたら
教えてください」

らじゃ(^v^)

備えあれば・・ですね(*^_^*)

では、家計簿のブックを使ってやってみましょう。



確かにセルの見た目は数式なのかデータなのかわかりませんね。

表の中のデータ入力セルだけを選択します。



選択範囲内で右クリック→セルの書式設定→「保護」

ロックのチェックをはずしてOKを押しましょう。



次に「シートの保護」という機能を使います。

2002/2003は「ツール」→「保護」→「シートの保護」をクリック
2007は「校閲」タブ→「変更」グループの「シートの保護」をクリック

「シートとロックされたセルの内容を保護する」にチェックが入っていますね



(他人にむやみに保護を解除されたくない場合はPWを設定しましょう)

これでOKを押しましょう。

こうすると先ほどセルの書式設定でロックを外したセル以外はいっさい

入力できなくなります。

数式の入ったセルを選択してデータを入力しようとすると・・



エラーメッセージが表示されます。

さぁこれで安心ですよ。

ちなみに保護の解除方法は

2002/2003は「ツール」→「保護」→「シート保護の解除」をクリック
2007は「校閲」タブ→「変更」グループの「シート保護の解除」をクリック

でした。(*^_^*)

mihoりん
コメント (7)
この記事をはてなブックマークに追加

フルパスからファイル名を取得する(Visual Basic2008)

2009-10-14 09:01:18 | Visual Basic
今日は、Visual Basicを取り上げますよ。

さて、フルパスから、ファイル名を取得する方法を紹介します。
ついでに、フォルダ名や拡張子を取得する方法も確認しましょう。

VBAでは、InstrRev関数を使いますが、VBでは、専用のメソッドが用意されています。ありがたいですね。



任意の名前でプロジェクトを作成し、表示されたフォームにテキストボックスを3つと、ボタンを1つ配置します。

以下の画像を参考にしてください。

テキストボックスの左にラベルも配置しました。





それでは、コードを記述します。
ボタンをダブルクリックしてコード画面を表示します。

以下のようにコードを記述します。
行頭の Imports System.IO を忘れないでください。

-----------------------------------------------------

Imports System.IO

Public Class Form1
    Private Const FULLPATH As String = _
        "C:Documents and SettingspasoMy DocumentsVBA応用.xls"

    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) _
                              Handles Button1.Click

        TextBox1.Text = Path.GetFileName(FULLPATH)
        TextBox2.Text = Path.GetDirectoryName(FULLPATH)
        TextBox3.Text = Path.GetExtension(FULLPATH)
    End Sub
End Class


-----------------------------------------------------

以下の画像を参考に。こんな感じです。






今回は、分かりやすいように、パスを定数(FULLPATH)で指定しました。
この値は自由に変えていただいて結構です。

Pathクラスには、ファイル名を取得するメソッドが用意されています。
その他フォルダ名を取得するメソッドや、拡張子を取得するメソッドもあるのです。
パラメータ(引数)には、フルパスを指定します。

取得した値をテキストボックスに表示します。


それでは、F5キーを押して、デバッグしましょう。

フォームが表示されたら、ボタンをクリックしてみてください。






ちゃんと取得できましたね。


OpenFileDialog を使って選択したフルパスからファイル名を取得してみるのもいいですね。挑戦してみてください。


だい
コメント (7)
この記事をはてなブックマークに追加

Internet Explorer バージョンの比較

2009-10-13 09:01:27 | インターネット
今回はInternet Explorerのバージョンの比較をしたいと思います。

現在、Internet Explorerは6~8を使っている人がほとんどだと思いますが、それぞれの
バージョンとOSとの組み合わせでの比較をしたいと思います。

仕事上かなりの数のPCに触れてきていますので、多少は参考になるかと。


まずは安定性からです。基準としてはハングアップ(フリーズ)しない組み合わせですね。

1位 Internet Explorer 8 + Vista

この組み合わせはかなり安定しています。
私のメインで使っている自作PCもこの組み合わせですが、IE8にしてから一度もハングアップした事がありません。

 
2位 Internet Explorer 8 + XP

この組み合わせも安定しています。
お客さんのPCでIE7で不安定だったのをIE8にしたらかなり安定しました。だだし、IE7より重いですが。


3位 Internet Explorer 8 + Windows 7 RC

これも安定性ではInternet Explorer 8 + Vistaと同じくらい安定してますが、ちょっと
不具合もあるので3位にしました。(時々「戻る」のボタンが効かなくなる不具合)


4位 Internet Explorer 7 + Vista 

5位 Internet Explorer 7 + XP

IE7ではVistaとの組み合わせの方がXPよりも安定してますね。
ハングアップもVistaの方が少ないですし、ハングアップしてもXPに比べて簡単に終了させられます。


6位 Internet Explorer 6 + XP

最近、IE6ではある特定のサイトでハングアップする事が増えてます。


以上は私の経験上からの順位ですので反論もあるかと思いますが・・・



次に軽さ(速さ)ですが、これはPCの性能やネットの環境などにも影響されるので順位をつけるのは難しいです。

しいて言えばXP、Vista共にInternet Explorer 7 が一番軽いかな。



余談になりますが、gooのブログなどはIE7でソースを見ると文字化けしてしまいますがIE8だとちゃんと見れます。

IE7



IE8




これはIE8では「ソースの表示」機能が変わったからなんですね。(IE7ではメモ帳で開く)

IE8でもメモ帳で開くように設定できますが、メモ帳だとやっぱり文字化けしてしまいます。


次回はInternet Explorerの起動を速くするちょっとしたポイントを書きますね。



(ケン)
コメント (6)
この記事をはてなブックマークに追加

1~10000まで連番を振る(Excel)

2009-10-09 09:11:43 | エクセル
これは大変ですよ。オートフィルでもドラッグは。

さぁこんな時は「フィル」機能を使いましょう。

セルに「1」と入力してアクティブにしておきます。

2002/2003は「編集メニュー」→「フィル」→連続データの作成をクリックをクリック

2007は「ホーム」タブの編集グループの中にある下向き矢印をクリック→連続データの作成



↓このように設定してOKをクリック



はい(*^_^*)できあがり。



miho

コメント (4)
この記事をはてなブックマークに追加

なぜか罫線が表示されない謎を解く(Excel)

2009-10-08 10:30:39 | エクセル
こんにちは。
今日は、生徒さんからの質問を取り上げます。(って、いつもだけど)

「先生、事件です」

「映画じゃないんだから。どうしたんですか?」

「それが、事件は会議室ではなく、エクセルで起きているんです。」

「なんのこっちゃ。」

「だから、エクセルの罫線が表示されないんですよ」

「どれどれ、見せてください」

以下が、その様子です。





「なるほど、B列4行目とC列4行目の間の罫線が見えませんね」

「そうなんです。どうしてか教えてください」


考えられる原因を、思いつくままに列挙しますよ。

■セルが結合されている。

「それが、結合されていないんです」

■周囲のセルの罫線とおなじ設定がされていない

「いやいや、まったく同じように設定されているんですよ」

う~~~~ん

う~~~~ん

不思議だなあ。






待てよ!もしかしたら・・・

「犯人が分かりましたよ」

「えっ」

「犯人は・・・ あなただ!」



その指の先にあったのは、B列4行目のa だった。

「いや、a には、罪はありません。a の後こそが問題だったのです。」

「どういうことですか?」



「スペースというのは、いつでも罪な存在です。
実は、a の後に、たくさんのスペースが入力されているのですよ。
エクセルは、列の幅以上の文字列が入力された場合、その列をはみ出して表示するのです。ただし、隣のセルが未入力の場合に限りますが。」

「そんな・・・」

「動かぬ証拠をお見せしましょう。さあ、ご覧ください。」






「B列4行目に入力されたスペースを選択したところです。」


「先生、そうだったんですか」

「スペースを削除すれば、罫線は現れますよ。ご安心ください」

「さすが!」



内心、何とか原因がわかってよかったと胸をなでおろしている私であった・・・




だい
コメント (3)
この記事をはてなブックマークに追加

条件によって残高欄の表示内容を変える(Excel)

2009-10-07 09:34:03 | エクセル
おはようございます。

今日は生徒さんからのExcelの質問を取り上げます。

「帳簿シートで、収入と支出を引いて残高を出しますが、帳簿シートの最後まで同じ残高が出てしまいます。収入のセルと支出のセルが空白の場合は、
残高計算をしない様にするにはどんな関数を使えば良いのでしょうか、ご教示よろしくお願いします。」

との事ですが、このようなイメージですね↓



これはあらかじめ残高欄に数式が設定されているからですよね。

では、収入か支出欄に数値を入力したときだけ、残高欄の計算を行うような数式

を設定しましょう。生徒さんの質問通り、ここは関数を使いましょうね。

今回使う関数

=IF(論理式(条件),条件がTRUEの時の処理(真の処理),条件がFALSEの時の処理(偽の処理))

論理式→セル参照や数値に、比較演算子(=,<,>,<=,>=)を使って条件を設定。真の場合はTRUE、偽の場合はFALSEを返す
条件がTRUEの時の処理→セルに何を表示させるか、どんな計算結果を表示させるかの設定
条件がFALSEの時の処理→セルに何を表示させるか、どんな計算結果を表示させるかの設定

=AND(論理式1,論理式2・・)

引数に指定した論理式が全て真の場合はTRUE、それ以外の場合はFALSEを結果として返します。

さぁやってみますよ。

現在残高欄に設定されている数式は、収入欄か支出欄に数値が入った時だけ、実行されればよい。

ということは、「収入欄も支出欄も空白の時は実行しない」ということになります。

残高欄F7=IF(AND(C7="",E7=""),"",F6+C7-E7)になります。



これを以降のセルにコピーすれば出来上がりです。

ちなみに前月繰越の残高欄F6には=C6という数式が設定されています。

いかがでしょうか。

IF関数は、覚えると使える場面がたくさんありますよ(*^_^*)

mihoりん
コメント (18)
この記事をはてなブックマークに追加

日付を一気に5ヶ月後に更新する方法(Access)

2009-10-06 11:12:34 | Access(アクセス)
今日は、Accessを取り上げますよ。

さて、以下のようなテーブル「T練習」があるとします。(べたな名前ですみません)
日付フィールドの日付を、一律5ヶ月後に修正するには、どうしたらいいでしょうか?






3レコードくらいなら、手入力で直していくのも一つの方法です。
しかし、たくさんレコードがある場合は、もっと楽な方法を考えたほうがいいでしょう。

こんな時は、アクションクエリを使います。
アクションクエリとは、更新クエリ、削除クエリ、追加クエリ、テーブル作成クエリのことを指します。
今回は、更新クエリを使います。

まずは、デザインビューでクエリを新規作成してください。

テーブルは、もちろん「T練習」です。





フィールドには、日付だけを追加します。

クエリは、初期設定は選択クエリとなっていますから、ここで更新クエリに変更します。






そして、「レコードの更新」欄に、以下のような関数を入力します。

DateAdd("m",5,[日付])







この関数は、年や月、日を一定数増減することができる関数です。

第一引数に、m を指定すると、月単位で増減できます。

その他は以下のとおりです。


yyyy
Year/年

q
四半期

m
Month/月

y
年間通算日

d
Day/日

w
週日

ww

h

n

s


となっています。


さあ、それでは、この更新クエリを実行します。





画面に変化はありません。でも、ちゃんと更新されています。

テーブルを開いてみましょう。ほら、ちゃんと、5ヶ月後になっているでしょ。




なお、作成した更新クエリは、再度使用するのなら、任意の名前を付けて保存しておきましょう。

Accessって、賢いですね。



だい
コメント (2)
この記事をはてなブックマークに追加

【おすすめ】

パソコン買ったらまず入れる10のアプリ