ラベル Excel の投稿を表示しています。 すべての投稿を表示
ラベル Excel の投稿を表示しています。 すべての投稿を表示

2008年8月14日木曜日

Excel:別シートのデータをリスト化する。

リストってありますね。
[データ]-[リスト]を選択すると、ポップアップでリストの内容設定できるやつが。

違うシートにあるデータをリスト化したかったんだけど、問題が
「あれ、別シート選択できないじゃない」

ということで調べたら、↓のやり方でできるみたいです。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis.htm#list2

選択したいデータがどのシートにあるかかかわらず、
リストデータに名前を定義しておけば、
「設定」タブの「入力値の種類」で『リスト』を選択→「元の値」の欄に「=定義した名前」
で選択できるようになった。

2008年7月7日月曜日

Excel: Weekday関数で曜日を表示

セルに入れた日にちに対して、曜日を表示する関数。

=IF(WEEKDAY(B7)=1,"Sun",IF(WEEKDAY(B7)=2,"Mon",IF(WEEKDAY(B7)=3,"Tue",IF(WEEKDAY(B7)=4,"Wed",IF(WEEKDAY(B7)=5,"Thu",IF(WEEKDAY(B7)=6,"Fri",IF(WEEKDAY(B7)=7,"Sat","")))))))

一個作ったらぴーっとコピー($B7)とか$はエクセルのレイアウトに任意でつけて。

#'B7'は日付の入っているセル

日曜なら1,月曜なら2...が返却される関数のようです。
ためしに=weekday(B7)だけを入れてみると、そのセルに返却値が1-7で表示されるのでわかります。

2008年6月26日木曜日

Excel: オートフィルタが動かない

たまにあります。容量の大きいファイルほど、フィルタリングがかからなくなるときがある。

症状
①逆三角のボタンを押しても何も反応がない
②オートフィルタを解除しようとしても、何も反応がない

いろいろネットサーフィンして探したけど、
見つからなかったので原因解明にはならないけど
私のとった対処法↓

①フィルタを仕掛けてある行(タイトル行)を行ごとコピーしてすぐ下(か上)に貼り付ける。
②もともとの動かない行を削除
③コピーして張り付けた新しいタイトル行にフィルタをつける。

原始的な策だが、これで大丈夫。

2008年6月20日金曜日

Excel: シート名のをセルに表示する

ザ・庶務課 支払い管理簿と単票管理を楽にするために、以下のような管理エクセルを作りました。
マクロは不要。なぜならあんまりわからないから。

以下の体系でエクセルを作る。
①管理簿(1シート)
②単票シート(Nシート)

①で管理番号を採番し、タイトルや金額、誰に支払うか勘定科目コードを登録
②単票シートのシート名を管理番号と同じにする。
③シート名として登録された管理番号をキーとして、管理簿に記述してあるタイトル、金額、あて先、勘定科目コードをVlookup関数で参照しフォームの各セルに表示させる。

さて。ここで②から③の部分で問題になるのは、
Vlookup("①検索したい値","②検索範囲","何列目を表示するか",False(完全一致検索))
の①の部分!
もちろん検索したい値はこの場合、管理番号になるのだけど、
シート名をどうやって参照するのか。
そこで見つけたのはこの関数。
=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)

これで、ファイル名の]の次の文字列から31バイト(シート名の最大文字数)、
つまりシート名を切り取って任意のセルに表示してくれます。

そういえば、なぜエクセルのシート名の最大文字数が31なのか?
この理由は、なんとMid関数の制約と関係があるそうです。
 文字数をシート名の最大文字数31としているのは、MID関数の”開始位置” が文字列 の文字数より小さく、開始位置 と文字数の和が文字列の文字数を超える場合、開始位置から文字列の最後までの文字が返されるからです。

Mid関数やCell関数、シート名の参照については下記のウェブサイトが具体的。
http://www2.odn.ne.jp/excel/waza/sheet.html

とりあえず、これで楽チン管理簿&単票作成エクセル完成。
管理簿を参照することによって
①作る手間が省ける
②修正が必要なときに、管理簿を修正すれば単票も修正される

というメリットがあります。

Excel: 数値や金額を英語表記にするマクロ

現在庶務担当兼務ということで、月々の支払いの小切手を発行することが多い。
海外の小切手って、金額を数値で入れるのと同時に、英語表記で記入しないといけない。銀行が金額を確認するときに、英語表記のほうを正として処理するらしい。

How to Write a Cheque
http://www.kentdp.co.uk/Libraryitems/DPFORMS/writecheque.htm


で、英語もままならないし、間違ってはいけないし、毎回金額を英文に直すのも私の場合時間がかかる!なんか楽な方法ないのーとまたググるとこんなエクセルの素敵なマクロを発見。

Excel で数値を英語表記に変換する方法
http://support.microsoft.com/kb/213360/ja

ここに記述されているモジュールをエクセルを開いてモジュールとして登録。
さて。ここで。やはりデフォルトは”Dollar”記述なので、
これをローカライズしなければならない。
米: Dollar/Cent
マレーシア: Ringgit/Sen

まずはデフォルトのMSが提供しているモジュールを
コピー&ペーストで実行し、
セルにSpellnumber()で関数が処理されていることを確認したら、
モジュールシートをもう一度開き
999"Dollar"/99"Cent"の部分の記述を
"Ringgit"/"Cent"に一気に置換。

でローカライズOK。これは重宝しています。

これを実施すると、
2882.25 (RM)

のセルをSpellNumber(セル番号)で参照し、

"Two Thousand Eight Hundred Eighty Two Ringgit and Twenty Five Sen ONLY"

と表示されます。
#"ONLY"は日本でいう「~円也」といったところだろう。

こうやってモジュールとして登録すると、
個人のエクセルブックの世界でオリジナル関数がりようできるのですな。

にしても、日本だともう小切手なんて「は?」の世界だけど、
イギリスや旧植民地文化ではまだまだ小切手って運用されているのだなー。
ちなみに、支払いトランザクションの少ないうちの会社では、
給料も小切手支払いです。

Excel: この値だったら、セルの色を変える。

http://korokay-stakenote.blogspot.com/2008/06/excel-is.html
で条件付書式で[数式]-[Is関数] で返却されるTrueかFalseで色を判定するということをやってみたけど、もっとシンプルなものがあった。

どの値か絶対値を設定するやり方↓
数式が-"=IS($L120="4. Fix Complete")"
セルにの書式を選択。

これで、絶対値を参照してセルの色を判定したいときでもできることが判明。
結局()内の値をIs関数でTrue,Falseで返却しているという原理は変わらないけれど

2008年6月19日木曜日

Excel: ブックの共有

[Excel]-[Tools]-[ブックの共有]をクリックするとそのファイルが共有ファイルになる。
なので、管理簿や同じネットワーク内にいる人すべてでファイルを共有できる。

メリット
①1つの管理簿をみんなで共有できる。それぞれが作業して後でマージする必要がない

デメリット
①同じ行を複数のユーザが処理してると、後勝ちなので気づいたら削除されてることもアリ。
②一部の機能が使えなくなる。(リストの設定、条件つき書式の設定等)

2008年6月17日火曜日

Excel: is関数のヘルプ

Is 関数ってTrue,Falseを返却するのですね。
行をすべて入力規則によって色を変えるときに参照しました。

管理簿の入力規則
◎ステータスがCompleteになったら行全体を色づけしたい。
  1. ステータスが”Complete"という文字列を持つとき、次の列のセルに数字0を入れる。
  2. 入力規則に 数式 =IsNumber($'0の入ったセル') でグレーの色を指定
  3. ひとつのセルでうまく言ったら、それをコピー→書式貼り付け

で行全体が色づけできました。

http://d.hatena.ne.jp/ogohnohito/20070210/p1

Excel:入力規則:行全体の色を変える

完了日付を設定したら、その行全体の色を変えたい時などhttp://shodai.hp.infoseek.co.jp/excel/knowhow_excel.html#008

Excel: Excelで「クリップボードを空にできません」というエラーが出るときのメモ

http://it.kndb.jp/entry/show/id/364