2013年12月8日日曜日

131208

Excelでランダムシャッフル


1〜nまでをランダムシャッフルするには、大体次のイメージ

           前  後
RAND()  1  RANK()
RAND()  2  RANK()
RAND()  n  RANK() 

2013年11月2日土曜日

131102

BATIC®
11/1 第26回試験≪試験日:12月15日(日)≫の申込登録の受付を終了いたしました。
今日本屋に行ったとき思い出す OTL

まぁ、来年の7月まで別の試験の勉強し、受験しよ。
今度(第27回)の申込(5月あたま〜6月あたま)は仕事が忙しくても忘れんとこ。

ちなみに、どれくらいの試験なのかここに残しておこう。(データはBATIC®の公式ページより)

2012年度(年2回)
実受験者             4,190人
Controller Level          220人
Accounting Manager Level   645人
Accountant Level        2,041人 
Bookkeeper Level         948人  

2013年度(第25回)
実受験者             2,066人
Controller Level           33人
Accounting Manager Level   190
Accountant Level        1,035人 
Bookkeeper Level         645 


2013年5月28日火曜日

130528

TextToCoLumnsメソッドで分割


Sheet1のA1,A2,A3にそれぞれ
1,22,333
2,33,444,5555
3,44,555,6666,77777
の値が入っているものとし、これを新しいシートの
D1,E1,F1に
1,
22,
333,
D2,E2,F2,G2に
2,
33,
444,
5555,
D3,E3,F3,G3,H3に
3,
44,
555,
6666,
77777,
カンマ毎に分割して値を入れるようにしてみる。

Sub 分割()

Dim i As Integer

  Worksheets.Add     'ワークシートの追加
        With Range(Cells(1, 4), Cells(3, 4))
            For i = 1 To 3
                .Cells(i).Value = Worksheets("Sheet1").Cells(i, 1).Value
            Next
            .TextToColumns _
            Destination:=Cells(1, 4), _
            DataType:=xlDelimited, _
            Comma:=True
        End With
End Sub


2013年5月26日日曜日

130526(2)

ReadLineメソッド周辺について


Do While .AtEndOfStream = False 〜 Loop

ReadLineメソッドは自動的に次の行、次の行と読み込んでいって最後に到達するとEndOfStreamプロパティがTrueになる。
よって、まだ続きがあるうちは処理を繰り返す。

130526

ExcelでWebデータをシートに読み込ませる。


Sub Webデータ読み込み()
    Dim myURL As String
    myURL = "URL;http://manchanr6.blogspot.jp"      '任意のURL
    '読み込むテーブルを指定
    With Worksheets.Add(after:=Worksheets(Worksheets.Count))  'ワークシートを最後尾に追加
        With .QueryTables.Add(Connection:=myURL _
                            , Destination:=Range("A1"))       '読み込み先セル
             .WebSelectionType = xlEntirePage
             .WebFormatting = xlWebFormattingAll
             .Refresh BackgroundQuery:=False
        End With
    .Name = "manyamablog"
    .Cells.EntireColumn.AutoFit                 '列幅調整
    End With
End Sub

2013年5月19日日曜日

130519

Excelにおいて四角形の領域の選択


A1とC2を頂点とする四角形の領域
Range("A1:C2")
もしくは
Range(Range("A1"), Range("C2"))

似て非なるもの
A1とC2の選択
Range("A1,C2")

2013年5月13日月曜日

130513

ワークシート関数RoundとVBAのRoundのちがい


ワークシート関数Roundは、"算術型"の丸め処理を行う。
".5"は常に切り上げられる。

一方、VBAのRoundは、"銀行型"の丸め処理を行う。
".5"は、結果が偶数になるように丸め処理が行われ、切り上げられることも、切り捨てられることもある。

2013年4月28日日曜日

130428

Excelショートカットキー


Shift + ↑/↓/←/→
・セル選択範囲を上/下/左/右に拡張

Ctrl + ↑/↓/←/→
・セル範囲の先頭/末端/左端/右端に移動
 
Ctrl + Shift ↑/↓/←/→
・セル選択範囲を上/下/左/右の端まで拡張

Ctrl + C
・コピー

Ctrl + P 
・印刷

Ctrl + V 
・貼り付け

Ctrl + W 
・ウィンドウを閉じる

Ctrl + X 
・切り取り

Ctrl + Z 
・元に戻す

2013年4月27日土曜日

130427

VLOOKUP関数の落とし穴


検索方法を指定しないまたはTRUEの場合、
範囲左端列データを昇順で並べ替えておかないといけない。

ちなみに検索方法がFALSEの場合は関係ない。

2013年4月14日日曜日

130414

Excelによる複数の預金の残高管理


残高を表に入力する方式だと次の問題がある。
・記帳したら、取引があった。
・取引のない日も残高を埋めないといけない。

そこで、残高が変化した日だけ前日との差額を埋め、
残高はその累計とすると、上記のような問題は解決する。

2013年3月24日日曜日

130324

Excelで日にち計算(実日数、片端計算)

DATEDIF(開始日,終了日,単位)で求まる。

単位について、
"Y"  指定した期間の年数(満年数)を表示
"M"  指定した期間の月数(満月数)を表示
"D"  指定した期間の日数(満日数)を表示
"YM" 指定した期間の1年に満たない月数を表示
"MD" 指定した期間の1ヶ月に満たない日数を表示
"YD" 指定した期間の1年に満たない日数を表示

ex.
セルA2に2012/2/5
セルB2に2013/4/5といれる。
計算式
=DATEDIF(A2,B2,"Y")&"年"
=DATEDIF(A2,B2,"M")&"月"
=DATEDIF(A2,B2,"D")&"日"
=DATEDIF(A2,B2,"Y")&"年"&DATEDIF(A2,B2,"YM")&"月"&DATEDIF(A2,B2,"MD")&"日"
をいれると、それぞれ
1年
14月
425日
1年2月0日
をかえす。

2013年3月21日木曜日

130321

Excel2010でCSVファイルをインポートする方法


メニューの「データ - 外部データの取り込み」をクリックし、csvファイルを選択。

テキストファイルウィザード 1/3
「カンマやタブなどの~」を選択し、「次へ」をクリック。

テキストファイルウィザード 2/3
区切り文字は「カンマ」にチェックし、「次へ」をクリック。

テキストファイルウィザード 3/3
データのプレビューを見ると「G/標準」になっているが、適宜列のデータ形式を選ぶ。
ex.
csv  G/標準
012→12
1-1→1月1日
csv  文字列
012→012
1-1→1-1

開始セルを決めて、インポート完了。



2013年3月20日水曜日

130320

Excelで文字列比較、文字列検索

文字列比較
IF(EXACT(セル,比較するセル),”〇”,”×”)

文字列がリストにあるか否か検索
IF(COUNTIF(リスト,検索するセル)>0,”〇”,”×”)

COUNTIF関数の使い方がうまいと思う。

2013年1月3日木曜日

130103

株価と移動平均線の両グラフの作成のあらまし(Excel2010)


準備:株価と移動平均を用意。

①株価のグラフ作成。

②グラフのデータに移動平均を追加。
 この時点では、株価と移動平均のデータが分離していない
 変なグラフが表示されている。

③グラフの移動平均を選び、右クリック。
 「データ形式の書式設定」において、
 「系列のオプション」を第2軸に変更、「線の色」も線に変更。


2013年1月2日水曜日

130102

新しい埋め込みグラフを作成するための「Add」メソッド


Dim chartObj As ChartObject 
Set chartObj = ActiveSheet.ChartObjects.Add(左位置, 上位置, 幅, 高さ)

Addだけで検索しても上記が載っているページが出てこなかった。
ActiveSheet.ChartObjects.Add.で検索すると関連ページが出てくる。