goo blog サービス終了のお知らせ 

事務員手帖

ある法律事務所事務員の日常

時間の入力

2007年03月14日 22時12分14秒 | excel
日付に続いて時間についてです。

時間入力で案外面倒なのが,例えば10時45分をA1セルに入力するとき,「10:00」と打つこと。
つまり,数字はテンキーにあるのに,コロンがメインボードにあるので,指を行き来させざるを得ず,軽ーくストレスになりがち。



そこで,誰でも思いつくのが,「1000」と打って「10:00」と表示させる方法はないか,という話。

あるにはあります。
セルを右クリックして「書式設定」の「表示形式」で「ユーザー設定」を選び,「種類」直下のエディットボックスに
「00!:00」
と記入する。これでおk。

ところがこの方法には陥穽が…

例えば,間違って「2579」などと打とうものなら,そのまま「25:79」と表示してしまう。
また,A1セルに「1000」,A2セルに「=A1+72」という式を入れると,平然と「10:72」なる解をよこす…orz

そうである以上,この例によるときは,①絶対に入力ミスをしないこと,②時間計算は必ず検算をすることが必要だってそれじゃあ何のための計算ソフトなのかと小一時間
よって,「人間であるからには過ちもある」との向きは,あきらめるのが無難かと。



では,何としてもコロンを使わず,テンキーだけで時間入力できないものか。

これまた,あるにはあるのですが,どれだけ便利になったといえるのか…

A1セルに「10」,B1セルに「00」,C1セルに下記の式①または②を入力。
(B1セルの表示形式をユーザー設定で「00」に,C1セルの表示形式を「時刻」にする。)

 =TIMEVALUE(A1&":"&B1)

 =TIME(A1,B1,0)

どちらもシリアル値を求めていますので,まともな時間計算はできます。
式を埋めるのが面倒か,コロンを打つのが面倒か,という究極の選択?



ちなみに,シリアル値を使った時間計算は次のとおり(式②で統一)。

 10時の1時間前: =TIME(A1,B1,0)-"1:00"

 10時の1時間後: =TIME(A1,B1,0)+"1:00"

では,「10時の15時間後」は?

 =TIME(A1,B1,0)+"15:00"

と式を入力すると,「1:00」になってしまいます。
これ,深夜残業時間の計算なんかだと不便です。
「25:00」と表示してくれないだろうか。
してくれよう。
書式設定の表示形式でユーザー設定を選び,「種類」直下のエディットボックスに
「[h]:mm」
と記入する。
これだけでおk!



なお,ゼロ時間を表示したくない場合は,
「[h]:mm;;」
と入力します。

ゼロ値の非表示は,メニューバーの「オプション」→「表示」→「ゼロ値」のチェックを外すという方法がポピュラーですが,ユーザー設定で表示方法を指定してやる方法もあるんです。

セミコロンを使って3つの箱を作るイメージです(①;②;③)。
① 1番目の箱は,値が「正」のときの表示形式
② 2番目の箱は,値が「負」のときの表示形式
③ 2番目の箱は,値が「ゼロ値」のときの表示形式
でげす。

試しに,「"正";"負";"ゼロ値"」とユーザー設定してみますね。
入力するのは,もちろん数値ですよ。
A1セルに,順に「1」「-1」「0」と入力します。
すると,表示順に「正」「負」「ゼロ値」と表示されました。

しかし。表示は漢字ですが,あくまでデータは数値です。
その証拠に計算をやってみましょう。
A1セルに「1」,B1セルに「=A1+2」と入力。
結果は…「正」足す「2」で「3」
「1+1=田んぼの田」みたいですね。



その他,ユーザー設定のいろんな式を見ると[赤]とありますね。
んじゃ[青]に変えられる?
もちろんおk。

チャレンジですよ。

では。


日付計算

2007年03月14日 00時23分39秒 | excel
我ながらエクセルネタは日付・時間関係が多いですね。
同僚からよく聞かれるのでメモしときます。



普通,日付は,1セル内に「07/3/13」とか入力します(今年であれば「07」は省略おk。)。
ただ,レイアウトの関係で,年・月・日を分けて入力したいということがあります。
例えば,セルA1に「19」,B1に「3」,C1に「13」など。

①このとき,例えば次の式をA3セルに入力してみる。
="平成"&A1&"年"&B1&"月"&C1&"日"
すると「平成19年3月13日」と表示されます。

数字を全角にしたい人→セルに[07/3/3]と入力し,これを和暦表示(全角)する方法

②同じことは次の式でもおk。
=DATE(A1+1988,B1,C1)

上の①②の違いは,①が文字列であるのに対して,②が数値であること。
この計算後に何をするかによって使い分ける必要があります。
私は,②で統一してます。



ちなみに,エクセルで日付表示するとき,「セルの書式設定」→「表示」で種類を選択するのが普通ですが,「ユーザー定義」→「種類」の直下のエディットボックス(テキストボックス)を使って,オリジナルの表示を作ることもできます。
例えば,「平19年3月」とか「平成19年03月03日」など。
前者は「"平"e"年"m"月"」,後者は「ggge"年"mm"月"dd"日"」と入力して下さい。



さて,差押申立てなどで利息・損害金の計算をするときに,カレンダーで日付を数えるのも結構ですが,せっかくエクセルがあるのでこれを利用してみます。
A1セルに「3/13」,B1に「4/13」と入力し,C1に次の式を挿入する。
① =B1-A1
② =DATEDIF(A1,B1,"D")
どちらも結果は「30」日,初日不算入です。
初日算入の場合は,各式のお尻に「+1」でおk。



時間については後日。

ではお休みなさい。

疲れた…

2007年03月13日 00時29分48秒 | soccer
こんな時間なので,頭使わない脱力ネタ。
サッカー行きます(またです。)。
もうタイトル無頼の毎日っす。

この土日は,各国でダービー。

オールドファームは,セル0×1レン
通算成績を検索したが見当たらない…

ミラノデルビは,インテル2×1ミラン
通算成績は104勝89敗72引き分けだそうで。
インテルのホームだから,ジョゼッペ・メアッツァですね。
ミランがホームチームなら,サン・シーロ。
前者は人名,後者は地名。スタジオは同じ。

エルクラシコは,3×3!
壮絶な打ち合いですね。
これでバルサが首位返り咲きw

カペロさいなら。

それにしても,リーガは残り12試合で,勝ち点差9点の中に7チーム。
リーガ・エスパニョーラ成績表

ううむ。レクレアティボ凄い。
スペイン最古のクラブと言われ(←「バルサとレアル」という本の中では否定されてたよな希ガス。),それにもかかわらず今季が初のトップフライト!

そういえば,イングランドのレディングもそうでしたっけね。
創立135年目にして悲願達成。
いや悲願とも言えないほど遠い夢だったかも。
それだけにサポーターも熱が入りますよね。
その雰囲気だけでも,直に味わってみたいなぁ。

ではお休みなさい。
残業がなかったら,明日は業務日誌を。
あ。明日は夜,来客だ。思い出してしまった。
しかももう「今日」ではないか…orz



エクセルでカレンダーを作る!

2007年03月11日 02時47分31秒 | excel
事務員さんは,利息計算や勤怠表などをカレンダー形式で作ることがあります。
そこで,私が作る際の関数式をご紹介します。

例えば,A1セルに[3/1]と入力すると,1か月分の日付が自動で表示されるようにする方法です。A列の表示形式を「日付」に設定してください。ここでは,「*2001/3/14」に設定しました。

【基本】
1 A1セルに[3/1]と入力。
2 A2セルに次の数式を入力。
   =A1+1
3 A31までドラッグ(オートフィル)する。

これが基本です。
ただ,この方法は,あまり汎用性がありません。
というのも,4月(小の月)のカレンダーを作る場合,末尾のA31セルに[2007/5/1]と表示されてしまうからです。そこで,少し改良します。

【改良1】
1 A2セルに次の数式を入力して,A31までドラッグ。
   =IF(MONTH(A1+1)>MONTH(A1),"",A1+1)

2 式の意味
「もし,自セル(A2)の「月数」が前セル(A1セル)よりも大きいときは,何も表示しないが,それ以外は前セルに1日足した日を表示する」。
MONTH(A1) ・・・A1セルのシリアル値を月数表示する(上例では「4」になる)
  MONTH(A1+1)・・・A1セルのシリアル値に1を加算したシリアル値を月数表示する(「上例では「4」になる)

こうすると,A31セルが自セルの場合,値は[2007/5/1]で月数は「5」となります。
ところが,前セルのA30の値が「2007/4/30」で月数が「4」であるため,自セルが前セルよりも大きいため,何も表示されません。
これでおkでもいいのですが,A1セルに「2/1」と入力して試してみてください。

どうでした? A30,A31セルがエラー(#VALUE!)となりませんか。
これは【改良1】の数式が,前セルの値がブランクであることを想定していなかったためです。
では改良。
“ISERROR関数”を使う方法もありますが,ここはシンプルに。

【改良2】
1 A2セルに次の数式を入力して,A31までドラッグ。
   =IF(A1="","",IF(MONTH(A1+1)>MONTH(A1),"",A1+1))

2 式の意味
「もし,前セルがブランク(「””」)の場合は自セルもブランク。
それ以外は【改良1】で。」

いい感じですね。(^^)
さて,事務員さんの業務では,必ず月初が1日から始まるとは限りません。
例えばある事件や経理処理が15日締めで翌日起算の場合,3月16日から入力したりします。

では,上のA1セルに[3/16]と入力してみましょう。
4月15日までキレイに表示されました。

今度は[4/16]でどうだ!
・・・皆まで言うなですね(^_^;)

【改良3】
1 A2セルに次の数式を入力して,A31までドラッグ。
   =IF(A1="","",IF(AND(MONTH(A1+1)>MONTH($A$1),DAY(A1+1)>=DAY($A$1)),"",A1+1))

2 式の意味(IF(AND以下)
「もし,前セル(A1)に1日を加算した月数が,[2007/4/16](A1セルの絶対値)の月数よりも大きく,かつ,前セルに1日を加算した日数が[2007/4/16]の日数と等しいか大きい場合は,ブランク。
そうでなければ,前セルに1日を加算した値を表示する」

絶対値は,不動の値。
数式をドラッグしたりコピーしたりすると,自動的にセル番地が変化しますが,それだと困るときがあります。
参照するセル番地をクリックし,「F4」キーを1回押すと,「A1」が「$A$1」に,繰り返し押すと「A$1」「$A1」「A1」と変化します。
順に,「A列不変,1行目不変」「A列可変,1行目不変」「A列不変,1行目可変」「A列可変,1行目可変」です。
「F4」キーを使わず直接入力してもおk!
参照するセル番地(上で言うと起算日のセル)を固定したいときに便利です!

試しに,[2007/4/16]][2007/2/16]][2004/2/16]](2004年=平成16年は閏年)に変えてみてください。
うまくいきましたか?

以上は,今の時点での私の最終形です。
でもまだバグがあるかもしれません
一つ一つはエクセル本に書いてあることでも,実際にニーズに合わせるのは読者側ですもんね。
まさしく「事件は現場で起こっている」ということです。

ではでは。

ハードボイルドエッグ

2007年03月10日 02時09分19秒 | reading


『ロング・グッドバイ』 レイモンド・チャンドラー作/村上春樹訳 早川書房


近所の書店で平積みになっていた。
誰の目でも惹くであろう真紅のカバー。
私の目も例外ではなかった。

早速手に取ってみる。要は立ち読みである。
村上春樹 訳」のゴチックに戸惑いを覚えつつ,しかしかすかな期待を胸に紐解いた。
「ノルウェイの森」の成功くらいは,ハルキストでない私ですら知っている。

が。故・清水俊二氏の訳に馴染んだ身には少しく重い。
書籍を支える左肩に疼痛が。
もとへ。文章がやや冗長に感じられたのであった。



私は世界88ヶ国語に通暁している。
ところがどういうわけか英語だけがからきしなのである。
それだけに英文作品は翻訳こそが頼みである。
その生命線とも言うべき訳文で,清水氏に一日の長があるとすれば,今ここで同書を購入する必然性は私にはない。

また,そのはしがきが40ページ近くを占めている。
ハルキストではない私にとり,これも購入を喫緊として感じられない理由の1つであった。

こうして私は,本書をそっと書棚に戻した。
当分手に取ることもないであろう。

2000円の支出が至難を極める身には,このような感想を抱くほか購入を断念する手立てがない・・・

私は心でつぶやいた。“Long Goodby” と。


というわけで,画像挿入の練習でした。
お休みなさい!