2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 88

1 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 00:43:54
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  ttp://www.google.co.jp/

前スレ
Excel総合相談所 87
ttp://pc11.2ch.net/test/read.cgi/bsoft/1254055959/

2 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:28:58
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。

3 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:30:02
★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 ★1.マルチをしてしまったら…
 A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
   それが嫌なら初めからマルチなんてしないように。>>2にマルチ禁止と書いてあり、
   マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。

 ★2.>>1★4に従わず、必要な情報を出さないと…
 A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
   VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
   適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
   これはきちんとルールに従って質問、依頼した人のみの特権です。

 ★3.情報・条件を後出しすると…
 A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
   >>1★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
   長文になってもいいので詳細かつ明確かつ具体的に書きましょう。


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。


4 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:30:58
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼環境・書式
  ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える)
  ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA)
  ・ 行の高さを0.25きざみ以下の単位で指定する
  ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト)
  ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける)
  ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
  ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合)
  ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など
  ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
  ・ 罫線幅の自由指定
  ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA)
  ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整)

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA)
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)

5 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:31:51
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルに結果を返す (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 値の書き換え、値の保持 (VBA)
  ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
  ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
  ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)

 ▼VBA
  ・ ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
  ・ VBのコントロール配列と同じような操作をしたい
   (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)

 ▼ユーザーフォーム
  ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||

6 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 01:32:37
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。

以上でテンプレ終わり

7 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 03:36:18
>>1-6


8 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:02:51
>>1-6
乙です。


質問です。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 (ヘルプでの)検索キーワード】cell row

D6セルに『テスト1』と入力して、そこから3行置きに『テスト2、テスト3・・・』と数字を増やすにはどうしたら良いですか?

自分で書いて失敗したのは以下の書き方です。

="テスト"&CELL("row",D6)-5


よろしくお願いします。

9 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:27:13
>>8
CELL関数の代わりにROW使わせてもらったよ

=IF(MOD(ROW(),3)=0,"テスト"&(ROW()-3)/3,"")

10 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:31:33
=IF(MOD(ROW(),3)=0,"test"&INT(ROW()/3)-1,"")

遅かった

11 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 15:49:16
>>8

作業列に番号をふってからソートするんだ。
そっちの方が「良い」。

12 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 16:14:58
>>11

13 :名無しさん@そうだ選挙にいこう:2009/11/01(日) 18:32:06
>8

D6セルに「テスト1」と入力後、D6:D8を選択して下にオートフィルじゃだめ?
数式でやりたいの?

>11は無いわw

14 :8:2009/11/01(日) 18:38:40
>>9-10
おかげ様で出来ました!
ありがとうございました。


>>11
???


>>13
そのやり方は知らなかったです。
勉強になりました!
ありがとうございます!


みなさん、どうもありがとうございました!

15 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 12:50:25
11がわからない

16 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 13:36:29
11のやり方は結構メジャーな方法

A列にテスト1〜テスト100までオートフィル。B列に1〜100まで番号を振る。
100の下にB列にもう一度1〜100まで番号を振る。
もう一度1〜100まで。
(つまり300行まで1〜100の繰り返し)
B列でソート。
出来上がり。

17 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 13:57:28
でも>>13の方が簡単そうだなぁ。
左側に何か入力しておいて、D6に入力してから3個のセルを選択してフィルハンドルをダブルクリックすりゃいいんだし。

●はアクセス規制で書き込めないが何があったんだ?

18 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 14:17:56
>>17

> でも>>13の方が簡単そうだなぁ。
今回の場合は>>13の方法でもいいな。この方法は正直忘れてた。
>>11がいいのはグループごとのソートという明確なルールによってデータが配置されること。


19 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 17:39:26
>>13のやり方は秀逸だ・・知らんかった
関数&>>11しか知らなかったよ。

20 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 17:52:50
Excelのオートフィルには色んな機能があって、
単純にドラッグやダブルクリックする他にもCtrlキーやAltキーと組み合わせると動作が変わる

21 :複乳:2009/11/02(月) 17:55:34
>>20
ためしにshiftと組み合わせたら挿入になった
色々あるんだねぇ

22 :名無しさん@そうだ選挙にいこう:2009/11/02(月) 22:08:21
>>13の応用で
B1に=A1
B4に=A2
B7に=A3
みたいな式にするときにも使えるね。
もちろんB1にそのまま=A1じゃ駄目だけど。

23 :13:2009/11/02(月) 22:25:23
ここまで評判が良いとちょっと恥ずかしい(*^^*)

24 :前スレ927:2009/11/02(月) 23:29:50
複乳 ◆MeiY43UMr.様、ありがとうございました。
規制で書き込めず、返事が遅れてすみません・・・

25 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 10:00:43
くだらないことだけどさ、
vlookupってtrueがデフォで作られたんだよね・・・、なんとなくtrueとfalseが逆に思っただけ。

26 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 13:34:44
>>25

ほんとにくだらないぞ。

27 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 13:39:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

グループごとの集計で値の種類の数を出すにはどうすればいいでしょうか。
たとえば下記のような売上データの日付と品目の部分から

日付 品目
10/19 りんご
10/19 りんご
10/19 みかん
10/20 イチゴ
10/20 みかん
10/20 みかん
10/20 バナナ
10/21 イチゴ
10/21 イチゴ
10/21 イチゴ

下記のような表を作りたいです。
10/19 2
10/20 3
10/21 1

ピボットが得意そうな分野だと思ったけど、無理かな・・・ もしくは関数で

28 :複乳 ◆MeiY43UMr. :2009/11/03(火) 15:07:13
>>27
C2=IF(A2<>A1,A2,"")
D2=IF(A2<>A3,A2,"")
E2=IF(COUNTIF(INDIRECT("b"&MATCH(A2,C:C,0)&":"&"b"&ROW()),B2)>1,0,1)
F2=SUMIF(A:A,C2,E:E)
G2=IF(F2=0,0,COUNTIF($F$2:F2,">0"))
H2=INDIRECT("r"&MATCH(ROW()-1,G:G,0)&"c3",0)
I2=INDIRECT("r"&MATCH(ROW()-1,G:G,0)&"c6",0)
後は2行目〜好きなところまで下にオートフィル
HとIに答えが出るはず

もしくはA・B列を選択、データ、フィルタ、フィルタオプションで重複するデータを無視にチェック
集計でデータの個数ってやるのもいいかもしれない
ピボットってこの問題解けるの?使わないから知らないんだけど

29 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 17:42:10
>>28
ありがとうございます。
やっぱり関数でやると、面倒になるよね。
フィルターオプションの重複無視を使ってからの集計がいい案ですね。
助かります。

30 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 22:14:22
Foe Eachを使い、売上実績.xlsがあったらアクティブになってるシート名を
変数WS3へ入れたいんですが、下記の???には何て書けばいいの?

For Each WB In Workbooks
 If WB.Name ="売上実績" Then
  WB3 = WB.Name
  WS3 = ???
  Exit For
 End If
Next

31 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 22:36:40
>>30
ActiveSheet.Name

32 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:12:21
ここのしとたち、あたまいいな。たちまちかいけつしる。

33 :30:2009/11/03(火) 23:18:55
>>31
ありがd!!

ActiveWorksheet.Name と書いたらダメだったので途方に暮れてました・・・
ブック名は ActiveWorkbook.Name と「Work」が付くのに、何でシート名は ActiveSheet.Name なんでしょう?

34 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:25:04
>>32
2ちゃんねる語として、その文法は間違いw
語尾の「しる」は「〜しろ」という命令形なので、「〜する」では使わない。

と脱線してみるテスト

35 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:32:36
sheetとsheetsもよく混乱します><
よくわかっていなからだけどさ、
ActiveSheetとか、Worksheetsとかさ。

36 :名無しさん@そうだ選挙にいこう:2009/11/03(火) 23:58:25
単数と複数

37 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 00:15:09
A1のセル内に

ABCDEFGという文字列があった場合
・文字列がいくつあろうとも一番右の値を取得 = G
・左から数えて4つ目の文字列を取得を取得 = D
・Bが左から数えて何個目か? = 2

それぞれ教えてください

38 :複乳 ◆MeiY43UMr. :2009/11/04(水) 00:53:40
>>34
〜テスト、は率先してやってみるという意味合いが強い言葉にテストと付ける事により
失敗した際の責任を全部帳消しに出来る便利な語尾
脱線程度で使うのは少しもったいない
>>35
覚えるしかない。けど大概複数でしょう。単数なのは最初から付いてる名前ぐらいなもんで
>>37
・文字列がいくつあろうとも一番右の値を取得 = right(a1,1)
・左から数えて4つ目の文字列を取得を取得 = mid(a1,4)
・Bが左から数えて何個目か? = find(a1,"b")
もし分からなきゃ「関数」で検索するとよろしい。エクセルの関数一覧がでるサイトが最初に出る

39 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 01:04:26
=FIND("B",A1,1)でネノ?

40 :複乳 ◆MeiY43UMr. :2009/11/04(水) 01:05:19
そうか、そうだな。すまんかった。寝る。

41 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 02:15:09
>>33 シートの場合、ワークシートとグラフシートがあるから
Worksheetsコレクションだとワークシートのみ
Sheetsコレクションだとワークシートとグラフシートが扱える
グラフシートを作ってWorksheets.CountやSheets.Countをやってみればわかるよ


42 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 14:09:05
機能をよく考えてみるとわかるよ。
Activeにできるのは1つだけ。BookもSheetもね。ウィンドウを複数開いても一番上に表示できるのは1つだけでしょ。
Selectは複数できる。例えばセルをたくさん選択していっぺんにデータを入れたり消したり。だから複数形でCells。

Workが付くかどうかの区別はよくわかんない。英語力があればわかるのかなあ。

43 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 14:16:27
まだ未熟なせいで、うろ覚えでworkをつけては黄色くなり、
sをつけては黄色くなり・・・
精進するわ

44 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 14:48:22
ActiveWorksheetじゃなくActivesheetなのは
>>41 の通りグラフシートがあるから

Worksheetが必ずActiveになるとは限らない
だからActivesheetとなる

ActiveWorkbookの場合はWorkbookの他にはないから

45 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 15:06:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

私女だけど質問させて下さい><
マクロで出力した新しいBOOKを、
デスクトップに有無を言わさず強制的に、
保存させる方法はありますか?><
任意のPCで実現させたいです><

教えてください><

46 :複乳:2009/11/04(水) 16:20:33
>>45
Sub fukunyu()
  Application.DisplayAlerts = False
Dim Path As String, WSH As Variant
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("Desktop") & "\"
ActiveWorkbook.SaveAs Path & "Sample1.xls"
Set WSH = Nothing
Application.DisplayAlerts = True
End Sub

がんば><

47 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 21:29:15
「私女だけど」と断るレスの93%は、男。
「><」の顔文字を使うレスの89%は、男。


48 :複乳 ◆MeiY43UMr. :2009/11/04(水) 22:08:37
私女だけど><

49 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 22:58:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

どちらで聞いていいのかわからなかったので、こちらで質問させてください。
VLOOKUPについてです。
Sheet1の検索値『食品』をSheet2から探し値を反映させたいです。
もしSheet2に『食品』というキーワードがないときに、0となるようにしたいのですが、数式がわかりません。
下手な文章ですみませんが、教えてください。

50 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 23:02:26
新垣帳.xlsのG列が0のとき、B列の番号を恋空.xlsから探し、C列の値が0より大きかったら、
新垣帳.xlsのE列へ書き込むマクロを書きました。
ところが、恋空.xlsに該当するものがないとき↓のエラーが出てしまいます。

  実行時エラー '91'
  オブジェクト変数またはWith ブロック変数が設定されていません。

そこで、On Error Resume Nextを書いたら続行してくれるようになりました。
しかし、今度は意図しない値も書き込まれてしまうようになりました。
また、エラーが出たときのPTを知りたいので、これをシート"ERR"へ書き出すには
どうすればいいでしょうか?

Sub E列を埋めれ()
Dim i As Integer, j As Integer, PT As String, PRC As Single
 i = 3: j = 1
 With Workbooks("新垣帳.xls")
  Do While .Worksheets("MENU").Cells(i, 1) <> ""
   If .Worksheets("MENU").Cells(i, 7) = 0 Then
    PT = .Worksheets("MENU").Cells(i, 2)
    On Error Resume Next
    PRC = Workbooks("恋空.xls").Worksheets("DATA").Columns("A").Find(what:=PT).Offset(0, 2)
    If PRC <= 0 Then
     .Worksheets("ERR").Cells(j, 1) = PT
     j = j + 1
    Else
     .Worksheets("MENU").Cells(i, 5) = PRC
    End If
   End If
   i = i + 1
  Loop
 End With
End Sub

51 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 23:40:54
>>49
=IF(ISERROR(VLOOKUP(検索条件)),0,(VLOOKUP(検索条件)))

52 :名無しさん@そうだ選挙にいこう:2009/11/04(水) 23:42:46
PRC=Workbooks〜 の前に PRC=0 としておけば良いような気もするけど
On Error Resume Nextで手を抜かずにOn Error Gotoを使ってエラー処理しましょう。

53 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 12:27:08
mousの勉強をしています
メニューバーの書式の中にあるオートフォーマットやスタイルというのは一般的に使うのでしょうか?
今まで何年かエクセルさわっていますが存在も知りませんでした

54 :複乳:2009/11/05(木) 12:57:09
>>53
私も知りませんでした
多分一生使わないと思います

55 :45:2009/11/05(木) 13:09:25
>>46
すげええええええええええ

できた><ありがとう><

56 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 13:25:10
>>53
スタイルは10数年前作ったブックで今もそのブックを時々使ってるけが、そのブック以外使ったことないので使い方も忘れた。

57 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 13:25:52
スタイルとか何のためにあるんだろね?w
Ctrl+!で充分じゃん

58 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 18:03:56
お世話になります。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
 
アンケートの集約で、100%積み上げ横棒グラフを書いています。
質問事項が56、各項目の選択肢が4というものです。
これを二つに分けてグラフ化してプリントアウトしようと考えました。
そのときグラフの項目名がうまく表示できません。28ある項目の内
4〜5個しか表示されません。項目軸の設定で文字のポイント数を下げると
全部表示されますが、4ポイントとか6ポイントまで下げねばならず、
プリントアウトしたものの字が小さくて実用になりません。
何とかなりませんでしょうか
 宜しくご教授下さい。


59 :名無しさん@そうだ選挙にいこう:2009/11/05(木) 19:27:08
>58
Excel2003(WinXP)で試してみました。1グラフあたりの項目数は28とし、
グラフシートをA3横、項目のフォントを14ポイントにまではできました。
あとは印刷の際、A3→A4縮小機能を利用すればいかが?


60 :59:2009/11/05(木) 19:30:52
追記
グラフはグラフシートに描いています。

というか、A4横でも9ポイントで大丈夫ですよ。グラフシートに出力してみては?

61 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 08:13:26
>>58
他のだとそうならないのにそのグラフだけそうなるとか?

なんかたまにグラフの項目軸の幅、おかしくなったりするんだけど。
あと、Excelの表示倍率変えると表示されるのに、100%より小さくすると消えたり折り返したりするとか。

項目軸の幅が明らかにおかしいときはグラフ作り直したほうが早い。
倍率の問題だったら、印刷するときの倍率に気をつけて。

62 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 10:09:43
>なんかたまにグラフの項目軸の幅、おかしくなったりするんだけど。

んなこたぁないw
君が知らないだけでしょ。

63 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 10:38:05
ifの条件が2つあるときって、ifを入れ子にしなければ無理ですか?andとか&&みたいなのはないですか?

あ、私女ですが教えてください><

64 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 10:44:20
and
=IF(AND(A1=1,A2=1),"当たり","はずれ")
=IF((A1=1)*(A2=1),"当たり","はずれ")

or
=IF(OR(A1=1,A2=1),"当たり","はずれ")
=IF((A1=1)+(A2=1),"当たり","はずれ")

こういうこと?

65 :複乳:2009/11/06(金) 10:49:43
>>63
論理式
=(a1=5)*1
だとa1が5の時1に、5以外で0になる
更に=(a1=5)*1*3
とすればa1が5の時3になる
=(a1=5)*(b1=2)*6
で=if(a1=5,if(b1=2,6))
と同じ式になる。ただ>64みたいに文字列の表示などには使えない
(CODE関数などを無理やり使えば可能といえば可能かもしれないが)

66 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 11:12:27
>>64,65
すばらしい
ANDとかORあったんですね。かなりすっきりしました。これから多用するなぁ。
ありがとうございました。

67 :名無しさん@そうだ選挙にいこう:2009/11/06(金) 17:13:27
>>59さん >>60さん >>61さん ありがとうございました。
自己解決できました。
「軸の書式設定」の「目盛」タグの「目盛ラベルの間隔」を「1」に設定することで解決しました。
m(..)m

68 :50:2009/11/06(金) 22:51:38
>>52
ありがとうございます。
もうちょっと頑張ってみます。

69 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 04:52:57
excel2007のアカデミック版を持っているのですが
これって二台のPCに入れる事はライセンス的に認められてますか?
通常のアカデミックでないものなら二台まではOKのようなのですが。。

70 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 06:27:18
つ ttp://www.google.co.jp

71 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 08:49:17
Good morning.
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
Q1.chechと打ち込むとche chのように見えるのですがchechと美しく見えるようにできませんか?
Q2.11/7 と打ち込み、Enterを押すと11月7日と表示されるが11/7のまま表示できないか?

よろしくお願いします。


72 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 09:20:12
Q1はフォント
Q2は表示形式

73 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 09:20:21
>>71
Q1:フォントを変える。msゴシックとかを使えば?
Q2:セルを右クリック、セルの書式設定の表示形式で日付を選んでお好みのを選ぶ。
   計算に使わないなら、文字列もしくは最初に「'」をつける

74 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 13:34:46
EXCEL2003
一つのセルに2日間の日付をいれられるように書式はできますか?

2009/11/05
2009/11/25 と入力すると

1105
1125 になるようにしたいです

75 :複乳 ◆MeiY43UMr. :2009/11/07(土) 13:38:51
>>74
A1A2に入ってるってことでいいのか?
その場合=TEXT(A1,"mmdd")&CHAR(10)&TEXT(A2,"mmdd")
で書式設定の折り返して表示にチェック


76 :74:2009/11/07(土) 13:50:24
ありがとうございます。
A1の中に二つの日付を入力して、
>>74のようにしたいのですが。

2009/11/05 → 1105 は出来のですが、二つ同時は出来るのかな?

77 :複乳 ◆MeiY43UMr. :2009/11/07(土) 14:00:21
>>76
できるっちゃあできるが、改行やコンマか何かで区切る?それとも2009/11/072009/12/01みたいに続けて書くのか
それと日付・月は一月一日なら1/1なのか01/01なのか
この二つ教えておくれ

78 :74:2009/11/07(土) 14:03:06
改行で0101です。01/01でも構いません。

79 :複乳 ◆MeiY43UMr. :2009/11/07(土) 14:03:35
>>78
ほい
=MID(A1,6,2)&MID(A1,9,2)&MID(A1,17,2)&MID(A1,20,2)


80 :74:2009/11/07(土) 14:14:22
A1に貼り付けましたが出来ませんでした。
0と表示されました。

81 :複乳 ◆MeiY43UMr. :2009/11/07(土) 14:23:12
あ、しまった書式か。書式は無理だな
A1に入力してA1以外(A2でもB1でも)にその式を貼ると>>74の通りになるよってことでした

82 :74:2009/11/07(土) 15:58:55
ありがとうございました。

83 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 19:03:32
なんか知恵袋でも見たな

84 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 19:23:19
セルに文字を入力直後、
左向き矢印キーでカーソル移動しようとすると
選択するセルが変わってしまいます。

あらかじめ、F2キーを押す以外の方法はありますか。


85 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 19:52:20
ダブルクリックする

まあ慣れだよ

86 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 20:33:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 ダブルクオート エクセル csv

CSV形式で出力した奴に文字列をダブルクオートで囲み、
数列はそのままの形式にしたいのですがどうすればいいですか?

87 :71:2009/11/07(土) 20:34:37
Good night.
>>72
>>73
ありがとうございます。問題は解決しました。
しかし、新しい問題が発生しました。
Q3.その方法だとEnterを押すたびに設定が初期化されてしまいます。
設定を固定化する方法はないのか?

よろしくお願いします。


88 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 20:36:55
>>51ありがとうございました
>>49です

まだ一つわからないとこがあります
例えば『ラーメン』100食
『ラーメンセット』200食
のときVlookupを使うと『ラーメン』も200食となってしまいます
改善策を教えてください

89 :名無しさん@そうだ選挙にいこう:2009/11/07(土) 21:07:25
まぁINDEX/MATCHの方が優れてるってことか。

90 :複乳 ◆MeiY43UMr. :2009/11/07(土) 21:16:51
>>86
そういう設定は調べても無かった
ダブルクォートで囲ませたい場合はセルの中にカンマを含ませると可能だが、希望とは違う答えだろうなぁ
俺がどうしてもやらなきゃならない場合は、csvで保存した後カンマを「,"」改行を「"+改行+"」に置換するかな
VBAで組めなくも無いけどめんどくさいからやらない

数式を残したい場合はオプションの表示のウィンドウオプションにある「数式」にチェックをつけるとできるよ

>>88
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup2.htm
最後の検索の型という部分を0にする

>>89
この問題の場合は同じじゃないの?
vlookupもmatchも順番に並んでないと変な値をつかんでしまう。まぁソートのアルゴリズム通りにやってるだけだろうけどね

91 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:03:15
excelで作った折線グラフの折線だけをパワーポイントに貼り付けることはできないでしょうか。
あるいはそれと似たようなことができるなら紹介してください。
お願いします。

92 :複乳 ◆MeiY43UMr. :2009/11/08(日) 01:18:19
>>91
グラフの背景選択してdeleteキー
目盛り線を選択してdelete
これで折れ線だけになる。この状態でPrtScr押して、ペイントに貼り付け
テキトーに編集してコピーしてパワーポイントに貼り付け
でどうでしょう
折れ線だけは無理かねぇ〜

93 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:35:07
92さんへ、早速ありがとうございます。
なるほど背景、目盛り線はdeleteで消せるんですね。

折れ線だけはなかなか難しいようです。
折れ線をクリックすると折れ線だけ選択はされるみたいなのでコピーできそうな感じなのですが。
なんかいい方法はないでしょうか・・・。

94 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:37:12
せめて、背景を透明化させることができればと思うけど、なぜか透明化の設定が無効になってるし・・・。
Excel 2003です。


95 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:50:43
エクセルの他に、このようなことのできるグラフソフトがあれば教えてほしいです。

96 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 01:54:41
レイヤーとかでなんとかならないかなぁ。

97 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 02:12:00
ん、、できたかも。
第2数値軸を設定するとなんか91の言ってたようなことができた。

98 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 08:06:33
若干スレ違いなように思われるのは気のせいか。

99 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 10:04:50
>>87
シート全体のフォントをあらかじめ変えておく

100 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 12:21:51


101 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 12:36:26
困ってるんでお願いします

厚生労働省のHPからジョプカードを落として自宅excel2002で編集、その後ハロワでexcel2007(しかない)で
コンサルタント記入しようとすると玉にバグでかシートの保護が以後解除出来なくなる事があるんですけどこれ直す方法ないですか?
最初は保護解除できるんだけど、excel2007で編集してると何故か保護してる状態なのに保護解除出来なくなる。保護解除がグレーアウトして押せない。


ジョブカードの四角い枠内をクリックすると下地の編集ではなく、枠の文字編集になってしまう。
枠を一時的にずらすと問題ないのですが、いちいち動かすの面倒なので、枠のみ有効でクリックしたら下地の履歴書とかの文字が編集出切るようにしたい。

以上、2つお願いします

102 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 13:39:25
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000(9.0.2812)/2003(11.8307.8221) SP3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA メーラー 起動

VBAからデフォルトのメーラーを起動したときに
宛先、件名はセットされますが、本文がセットされません。

以下のmsdnのサイトを参考にしています。
http://msdn.microsoft.com/ja-jp/library/cc440860.aspx

アドバイスよろしくお願いします。

Sub test()
Dim strBody As String
strBody = "本文"
Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=" & strBody, vbNormalFocus
End Sub

103 :102:2009/11/08(日) 13:44:24
付けたしです。
デフォルトのメーラーは、
Outlook Express 6 (6.00.2900.5512) を使っています。


104 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 13:51:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ちょっと
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

A1に入力された数字のシートをSelectするマクロを作っています。

X = Range("A1")
Sheets(X).Select
 以下略

このようにすると、A1にある数字のシートではなく、
シートを左からA1番目のシートがselectされてしまいます。
どうすればいいでしょうか??

具体的に言えば、

シートの並びが左から

メニュー,1,2,3,4,・・・・ とあって

A1=3 の時、"3"のシートでなく、"2"のシートがselectされてしまいます。

105 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 13:54:04
問題の切り分けをしよう

Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=本文", vbNormalFocus

これで問題なければ次を試す

strBody = "本文"
cmdexe= "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=" & strBody
Shell cmdexe, vbNormalFocus

106 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 14:13:40
【仕事】会社の仕事でマクロを組むのはズル?事務作業の効率化に意見さまざま [09/11/06]
ttp://anchorage.2ch.net/test/read.cgi/bizplus/1257644267/


107 :102:2009/11/08(日) 14:17:07
>>105さん
レスありがとうございます。

>>Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=本文", vbNormalFocus

こちらでやってもダメでした。
「本文」を「abc」や「123」など半角英数字でも貼りつきません。

108 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 14:21:48
>>107
うちでも試してみた。windowsのスタートボタンから「ファイル名を指定して実行」で
cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動&body=本文
を入力しても、たしかに本文は入らない。

Excelの問題じゃないねー

109 :複乳 ◆MeiY43UMr. :2009/11/08(日) 14:24:18
2003+OE6で試したが無理だった


110 :複乳 ◆MeiY43UMr. :2009/11/08(日) 14:47:15
>>104
x = Range("A1")
Sheets(x & "").Select

& ""
を付ければ文字列に
* 1
を付ければ数値にできるよ。

もしくはdim x as stringと文字列変数にしておけば良い

111 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 14:52:16
>104

>Sheets(X).Select
>シートを左からA1番目のシートがselectされてしまいます。

大抵の場合はそういうものです。
直接指定したいのであればシート名を記述するべき。


112 :102:2009/11/08(日) 14:54:28
>>108-109
こちらもコマンドプロンプト直接から試してみましたが駄目でした。
これ以上はスレ違いになってしまうので、
コマンドプロンプトの観点から調べてみます。
ありがとうございました。


113 :複乳 ◆MeiY43UMr. :2009/11/08(日) 14:58:06
>>112
Shell "cmd.exe /k
と/kオプションをつけてプロンプトを表示させたままにすると、"body"は認識されていません〜とでる
対応してないのかも?

114 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 15:20:14
&などが入っているのはまずい。
とりあえず cmd/? を実行してヘルプを読むんだ。

115 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 17:52:25
>>102
これでいけた。
Dim strBody As String
strBody = "本文"
Shell "cmd.exe /c start mailto:Test@xxx.co.jp?subject=メーラーの起動^&body=" & strBody, vbNormalFocus

>>114さんのヒントを元に、&の前に^を付けたら動いたよ。
""に入っている&を認識させるのに^が必要みたい。


116 :102:2009/11/08(日) 19:07:57
>>113-115
ありがとうございました。
動作も確認しました。
レスいただいた皆様に感謝です。

117 :名無しさん@そうだ選挙にいこう:2009/11/08(日) 23:51:28
>>94
ん?普通にできるでしょ。

軸の設定を縦軸横軸とも、チェックを全部「なし」にして
目盛り線はdelete
プロットエリアの書式設定もすべて「なし」

で、グラフをコピーして、パワポ上で「形式を選択して貼り付け」で「拡張メタファイル」で貼り付け

118 :117:2009/11/08(日) 23:56:04
普通に貼り付けても(Excelグラフオブジェクトとして挿入される)大丈夫だったわ。

119 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 04:36:16
Good morning.
>>99
ありがとうございます。
シート全体のフォントで検索したら成功しました。

日付も11/9と打ったら11月9日ではなく,シート全体で11/9と表示できないか?



120 :複乳:2009/11/09(月) 09:36:56
>>119
CTRL+Aを押せば全セル選択できる
その状態で右クリック、書式設定をする

121 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 10:20:18
既に9ポイントのフォントで入力されているセルの文字の先頭に
1文字18ポイントの文字を入れる事を繰り返す作業をしています
この状況だと18ポイントで文字入力固定できないでしょうか?
今は1文字入れてはフォントを18ポイントに変えてるのですが。
WindowsXp Excel2003です。

122 :複乳:2009/11/09(月) 10:36:44
>>121
VBAならいけるかも。使えるならやってみる
VBA使えないなら、別シートにA列を18ポイント、B列を9ポイントにして入力しておく
そのセルを図のリンク貼り付け(カメラ機能)をすれば編集は楽になると思います
↓カメラ機能の使い方
ttp://hp.vector.co.jp/authors/VA014071/tips/camera.html

123 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 10:59:18
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

マクロが登録されているブックのブック名を取得する方法、あるいはマクロが
登録されているブックをアクティブにする方法を教えてください。

マクロのユーザフォームでの実行結果をシートに記録したいのですが、複数の
ブックが開かれていて他のブックがアクティブになっているときに意図しない
動作になってしまいます。
そこでマクロの登録してあるブックをアクティブにしたのですがブック名が変わ
ってもマクロを修正しなくても良いようにしたいと考えています。

よろしくお願いします。

124 :複乳:2009/11/09(月) 11:22:55
>>123
Sub a()
Dim a
a = ThisWorkbook.Name
ActiveWindow.ActivateNext
Windows(a).Activate
End Sub

単純にマクロ実行したブックの名前を変数に入れて、
それをアクテイブにするといいんじゃないかなぁ

ttp://www2s.biglobe.ne.jp/~iryo/vba/VBA03.html
3-10から引用

125 :123:2009/11/09(月) 11:28:24
>124さん

ThisWorkbookでしたか。
無事解決できました。

早々の回答、ありがとうございました。

126 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 13:59:31
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

条件付き書式でセルのデータが特定値の場合にセルに色づけをしたのですが、別シートにその色だけを残したい(セルのデータは消去の状態)のですが、可能でしょうか?


127 :複乳:2009/11/09(月) 16:00:07
>>126
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-syo.html
の下のほう
元のシートを残し、indirectか名前の定義で条件付書式を設定し、範囲は元のシートとする
色だけコピーはできそうでできないな

128 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 20:48:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel07
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


非常に初歩的な質問で申し訳ないですが、
エクセルの表計算について教えて下さい。

現在複数のパソコンで共有しているエクセルファイルがあります。

ある社員AがAのパソコンからそのファイルを開き、
編集する過程で計算方法を手動に変え、
そのまま上書き保存したとします。

その後社員BがBのパソコンからそのファイルを開いた場合、
計算方法は手動に変わったままになるのでしょうか?

それとも普段自分のパソコンで自動にしていれば、
たとえAがAのパソコンで手動にしていても、

Bのパソコンで開いたときには自動になっているのでしょうか?

実験すればいいのですが、
諸事情でしばらく実験できないので、
どなたか教えていただけないでしょうか?

129 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 21:50:51
なんか同じ内容をどこかで見たような・・・・w

手動になるよん

130 :名無しさん@そうだ選挙にいこう:2009/11/09(月) 23:14:17
質問です。

SeetChangeイベントで、

Dim GYO As Long
GYO = Target.Row

Range(Cells(GYO, 1), Cells(GYO, 10)).Font.ColorIndex = 1

というふうに、変更されたセルの行数を取得してマクロを組んでいます。

ここで、例えば、複数セルを選択して削除やコピーされた時、
一行しか色が変わりません。
変数宣言の仕方で複数行対応できますか?

助けて下さい。眠くて死にそうです。

131 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 00:15:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ちょっとなら
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

シートX(変数)から、SUMPRODUCTで
E列がりんごで且つ、F列が「Cells(i,1)」の数を返すマクロを作っています。

Cells(i, 2).Value = Evaluate("SUMPRODUCT((" & X & "!E:E=りんご)*(" & X & "!F:F=" & Cells(i, 1) & "))")

上記だと、NAME?エラーが返ってきてしまいます。
どこがおかしいのでしょうか?

132 :131:2009/11/10(火) 00:43:41
自己解決しました。。。
初歩的なミスのオンパレード・・・。

133 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 03:06:03
頭がオカシイ

134 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 03:29:55
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

他ブックの内容をリストボックスに表示したいのですが、どうすればいいでしょうか?
A行にID,B行に名前がずらっと表示されているブックでいいです。シートはSheet1で構いません。
読みだすブックは同じファイルで結構です。
よろしくお願いします

135 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 07:26:58
>>129
ありがとうございました

136 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 08:20:55
>134

additem

137 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 08:30:57
>>130
Target.Rows.Count

138 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 10:22:35
>>130
Target.Resize(,10).Font.ColorIndex=1

139 :134:2009/11/10(火) 11:54:36
Private Sub UserForm_Initialize()
Dim lastRow As Long
Dim ReturnBook As Workbook, TargetBook As Workbook
Set ReturnBook = ActiveWorkbook
Application.ScreenUpdating = False
Set TargetBook = Workbooks.Open("D:\test\sample.xls")

With Worksheets("商品マスタ")
lastRow = .Cells(Rows.Count, 1).End(xlUp).Row
End With
With ListBox1
.ColumnCount = 3
.ColumnWidths = "50;50;50"
.RowSource = "商品マスタ!B2:D" & lastRow
End With
ReturnBook.Activate
Application.ScreenUpdating = True
TargetBook.Close
End Sub

とりあえずリストボックス自体はなんとか表示することは出来たのですが、
リストボックスの最終行が文字化けしてしまい、
この操作を完了するのに十分な記憶域がありません。とエラーが出てしまいます
助けて下さい・・・

140 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 21:25:46
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


ttp://www1.axfc.net/uploader/Img/link.pl?dr=5451451746&file=Img_64624.jpg
説明の仕方が分からないので図に描いてみました。
図の様に文字書きたいんですができますか?

141 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 22:43:25
>>140
絵が汚すぎワロス

それはともかく、
セルを結合することはできるけど分割することはできない。
だから、A列を二つに分割してそれぞれに文字を入れるようなことはできない。
ただし、A列とB列を結合しておいて、必要に応じて結合を解除するのならできる。

あるいは単にテキストボックスやオートシェイプを使って、セルが分割されているように見せかけることはできる。

エクセルはそもそも「表を作るツール」ではないので、あまり柔軟な表を作ることはできない。
複雑な形の表を、計算とかをさせるのではなくてただ表として表示するための目的で作るのなら、
ワードなどの他のソフトを使って作るべき、と一応言っておく。

142 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 22:51:39
>>141
ありがとうございます。
今回は計算の必要ないのでワードで挑戦してみます。

143 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 23:23:23
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5検索キーワード】
エクセル初心者ですいません
vlookupで表示した数字が日々更新されるのですが、例えば数字更新時に昨日の数字をひとつ隣のセルに移行し更新した数字を昨日数字があった場所(元の場所)と言った形で表示することは可能でしょうか?

簡単に言ってしまうと
数字を更新したら前の数字が自動で一個右のセルにずらしたいのです。
ただ表示されている数字がvlookupを使ったものでエクセル始めたばかりではわかりません・・・
よろしくおねがいします。

144 :複乳 ◆MeiY43UMr. :2009/11/10(火) 23:31:26
fgv

145 :複乳 ◆MeiY43UMr. :2009/11/10(火) 23:32:55
>>143

146 :複乳 ◆MeiY43UMr. :2009/11/10(火) 23:34:47
>>143
値を残したいならVBAしかない
=now=tofdayは今の日付などをのこせるが こう新されてしまう
VBAがダメなら値で貼り付けをうまく使うしかない

147 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 23:40:21
素早い解答ありがとうございました。
更新の数字が多すぎるのでどうにかならないのかと思い質問しました!

148 :名無しさん@そうだ選挙にいこう:2009/11/10(火) 23:46:53
複乳はどんなつまらない質問にも真正面の回答だな。
質問者は喜ぶだろうが本人のためにならないと思うぞ。

>>143
日々更新されるようなデータは縦に並べるべし。
右にずらすなんてやっちゃだめ。VBAでできてもだめ。

149 :複乳 ◆MeiY43UMr. :2009/11/11(水) 00:01:07
>>147
CTRL+Aで全選択
その状態でコピー、右クリックの形式を選択して〜の値で貼り付け
で数式の結果が阿多タイで保存される
>>148
つまんねー仕事にはしばしば共感できるところがある。散々やってきたからね
それで大体予想できたりもする。まぁ外れてるかもしれないけどね
「A1+A2の結果をプリンタアウトしてB1に入れてB2に足せ」みたいな仕事なんて仕事聞いたことがある?
ないなら普通の会社です。あるなら俺と同じです。
中小・零細には多分しょっちゅうある。周りにはあった。そういうウンコ以下の仕事を正面切って解決してあげたい
というのが俺の思い
無駄に「B2=A1+A2でいいんじゃないですか」というと無駄に怒られるからね
俺がそうだったから
ただ効率化できそうなところは私の知識を尽くして助言はしているつもりだよ

150 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 00:16:29
>>149
私は違うな。そうは思わない。
つまらないものはつまらない。
つまらないものに価値は無い。

私もお前と同じで、つまらない仕事を何度も強制されている。
でもそこからどっちに進むかが違うんだな。
つまらない質問にお前がつまらない回答をすると、つまらない手法が大量生産されてしまう。
VBAで値を右にコピーする方法を覚えた>>143は、何年か後になって自分の後輩や部下にゴミみたいな仕事を伝承していくんだぞ。
ちょうどお前が経験したように。

151 :複乳 ◆MeiY43UMr. :2009/11/11(水) 00:43:48
>>150
私は違うな。そうは思わない。
つまらないものはつまらない。
つまらないものでも 価値は ある

私がそうだったので言うが
私の上司は本当にウンコみたいな作業を仕事といってはばからない人だった
-中略-
その人は首になった。今私はその業務をVBAに置き換えて別の方々と仲良くやっている
まぁ、上司を殺すために自分がイエスマンになって技術を蓄えるか
上司を説得してその職場自体を帰るか、の違いだろうね
私はその前者を見越してイエスマンになった
そしてチクリにチクった後、その人がクビになり、私は総務を任される(システム上ね)立場になった
その後0からシステムをたちあげ・・
というしょーもない経緯があるため、どうみてもしょーもない仕事に対しては
できるだけ「その裏にある意向に沿うように」全力を尽くしている
つもりである

例え私が間違っててもまあ、その人が技術を積んでいけばまたこのスレに来るか
勝手に技術を習得することだろう、と信じてね

ただやはり向上心があることを前提にした手法を教えてることは、否めないかもしれない
あと俺自身未熟なため、かなり行き当たりばったりだし。逆にすぐに回答が出せるという長所があるかもしれない

152 :複乳 ◆MeiY43UMr. :2009/11/11(水) 00:46:55
飲みすぎた
寝るぜ

153 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 09:03:12
今学生です。就職活動のためにエクセルを少しは使えるようになったのですが、
アクセスって覚えたほうが良いですか?
それともエクセルを極めたほうが良いでしょうか?


154 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 09:40:55
両方使えたほうがいいだろうが、中途半端が一番つかえないな。

155 :複乳:2009/11/11(水) 09:53:39
エクセルはほぼ100%入ってるだろうけど、アクセスが微妙なとこだな
アクセスはシステムが既に組まれていて、入力のみというパターンが多いと思う
大企業ならデータベースのデータをひっぱって来る技術があるといいかも
中小なら自分がデータベース組めると非常に便利かも。ソフトがインストールされてればの話だけど
エクセルはvlookup使えれば大体なんでもこなせると思う

156 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 10:30:13
ありがとうございました
色々調べてみようと思います

157 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 19:08:12
SEって誰でもできるのかぁ

158 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 20:50:30
>>153

エクセルはほどほどにしておいて、アクセスを使ってみてほしい。
アクセス知らずにエクセルだけで突き進むとバッドテクニックばかり身につけてしまうぞ。
逆にアクセスをちょっとかじってるだけで、エクセルの使い方のセンスもよくなる。

159 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 21:29:49
久々に来たらコレがいてワラタ

160 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 23:08:47
windows7搭載のパソコンに付いてるエクセルは、VISTAのエクセル2007と操作方法は同じですか?
XPからVISTAへの時みたいに激変してるのでしょうか。

161 :名無しさん@そうだ選挙にいこう:2009/11/11(水) 23:32:26
591:デフォルトの名無しさん :2009/11/11(水) 22:10:44
シート2の表を、シフト+編集で図のコピーを行い、シート1に貼るマクロを組みましたが、
そのシート1の貼りつけた図のコピーを切り取るマクロを組むと、ピクチャー番号が異なるために、できません。どうすれば、解決できますか?

162 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 00:16:33
エクセルでグラフを作成した際、プレゼン等でそのエクセルを使いたい場合
元の数値データを隠す、見えなくするにはどうすればよいでしょうか?


163 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 02:34:18
>>162
オブジェクトで表示しなきゃいいんじゃない?

164 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 08:59:40
>>160
OSとアプリは全く別個で考えてください
両方2007なら同じと思っていい
SP等によりほんの少し変わる可能性があるが、SPが分からなければ考えなくて言い

>>162
グラフの中の数値なら数値を右クリックで書式設定
セルの数値なら列や行を選択して非表示とか文字の色を白とかに

>>161
切り取って貼り付けると
Shapes("Picture 1")

Shapes("Picture 2")
になるねぇ。それじゃないの

165 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 11:21:48
Win7、office2007です。
ファイルを開く時にファイルをプレビューウインドゥに表示させようとすると、
「Microsoft office excelプレビューアにエラーがあるため、このファイルはプレビューの表示ができません」
となります。
何のエラーですかね?

166 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 11:22:02
Hello,
>>120
成功しました。ありがとう。

Q.=SUM(F:F)で集計した秒数を
0:00:00
の表示にしたい。

167 :複乳:2009/11/12(木) 12:38:51
>>165
分からん
そのメッセージで一字一句間違えずに検索をかけてみると分かるかもしれない
>>166
F列が時刻なら、書式設定。時刻にある13:23:22みたいな奴

F列がシリア値でなく「1」や「5」の場合はシリアル値に直す↓その後書式設定
=SUM(F:F)/24/60/60

168 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 22:11:57
EXCEL内にフォルダを作るにはどうしたら良いですか??
先輩がから早く作れとお叱りです!

169 :複乳 ◆MeiY43UMr. :2009/11/12(木) 22:34:03
意味が分かりません
フォルダ内にエクセルファイルを作るならエクセルを起動した後ファイル→名前をつけて保存

170 :名無しさん@そうだ選挙にいこう:2009/11/12(木) 23:10:12
沸いてるね。

171 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 00:05:05
>>169
複乳ってなんですか?なぜそのような名前なのですか?

172 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 00:40:39
for n =0 To 5

ActiveCell.FormulaR1C1 = "=-(R[&n]C[-2]-R[-4]C[-2])"

R[+&n]を引数にする場合はどうすればいいでしょうか?

173 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 07:11:38
>>172>>172



174 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 07:12:32
>>172
ActiveCell.FormulaR1C1 = "=-(R[" & n & "]C[-2]-R[-4]C[-2])"
ってことでOK?


175 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 08:57:18
2003から2007にアップグレードしたのですが
リスト化していた所がテーブルになっていて
最終行に新規行(*のついた行)が無くなってしまいました
行挿入で追加して行くしかないのでしょうか?

176 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 12:32:12
最下行右端の列でタブを押せば行が追加される。
が、*のついた新規行がつねにあるほうが使いやすいと俺も思う。

テーブルの途中に行ごとコピペして挿入しようとすると「できません」とかエラーがでるし。
これはなんとかしてほしい。

177 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 12:41:58
質問です><

表示していないシートを誰からも見られたくないんですが、
そんな魔法の呪文はありますか?><

秘密は見られたくありません><

178 :複乳:2009/11/13(金) 12:53:12
>>177
書式のシートの非表示
非表示を解除されたくない場合は「シート 非表示」でぐぐって二番目のリンク

179 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 17:29:37
>>176
ありがとうございます

180 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 18:05:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

オートシェイプを使ってマクロの実行ボタンを作っています。

マウスポインタをボタン上に置いた時、ポップアップのメッセージを
表示させたいのですが、可能でしょうか?

ちなみに私は女です。

181 :名無しさん@そうだ選挙にいこう:2009/11/13(金) 18:39:01
>180

ユーザフォーム上であればControlTipText

182 :180:2009/11/13(金) 20:48:27
>>181
レスありがとうございます。
ユーザーフォームでなく、シート上なんです・・・。

やっぱりできないですかね?

183 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 12:44:05
>ちなみに私は女です

ま、マジっすか?(;´Д`)ハァハァ

184 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 13:17:55
>182

ユーザフォーム上で作成してユーザフォームをShowModal=Falseにする。

185 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 14:35:30
Excel2003を使用しています。

A1 4

A5 8

とあったとして、A1とA5の値を利用してA2〜A4を補間したいのですが、
今は =($A$4-$A$1)/5+A1 という式をA2に入れてA4までオートフィルという作業をしています。
これが何千行もあって、数字がところどころ足りないのを上記の式を入れるのを手作業でやってます。

これを何とか、多少なりでも自動化できないものでしょうか。
例えば、空白を探すのは手作業でも構わないので、式を入れるのを簡略化できるような方法はないでしょうか。
(もちろん、空白を探すのも自動化できるならそれに越したことはありません。少しでもヒントが欲しいです)
マクロでもかまいません。0から作るのはまだ難しいですが書かれたものの解読はある程度できると思います。

よろしくお願いします。

186 :185:2009/11/14(土) 14:37:05
追記です。

もっと簡単な関数があるよ、というような情報でも構わないので、どうぞよろしくお願いします。

187 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 15:24:27
>>185
その法則だと例えば
A6 9
A7 10
なの?
それとも他の数字になる可能性もあるの?

188 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 15:42:19
>>185
最初と最後の数字の入っているセルの領域選択して
編集→フィル→連続データの作成→予測→OK
これで2点間が補完されるから
あとは、同じ領域をさがして、Ctrl+Yで繰り返し

データが一直線に並んでるなら
Shift+Ctrl+カーソルで領域選択しながら上の作業の繰り返し。

マクロのほうが簡単だろうけど俺はしらん。

189 :複乳 ◆MeiY43UMr. :2009/11/14(土) 15:47:34
>>185
ところで例の
=($A$4-$A$1)/5+A1

=($A$5-$A$1)/4+A1
だと思うのですがどうでしょうか


190 :複乳 ◆MeiY43UMr. :2009/11/14(土) 16:08:57
>>185
できた
B1=IF(A1>0,COUNT($A$1:A1),0)
C1=COUNT($A$1:A1)
D1=ROW()
E1=INDIRECT("r"&MATCH(MAX($B$1:B1),C:C,0)&"c1",0)
F1=INDIRECT("r"&MATCH(MIN(C1:$C$60000)+1,B:B,0)&"c1",0)
G1=IF(A1<>"",A1,(F1-E1)/COUNTIF(C:C,C1))
を入力して下にオートフィル。G列が答え

191 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 16:50:36
ピボットテーブルでつくった集計表をデータベース形式にもどすほうほうはないですか?

192 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 17:00:46
値のみ貼り付けしてから適当に加工

193 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 17:04:34
その適当にの部分をおしえてほしいです。

194 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 17:25:37
手作業でこつこつと

195 : ◆Excel//q4U :2009/11/14(土) 17:39:11
>>193
おいらはこれを重宝しとるよ
http://www.vector.co.jp/soft/win95/business/se246416.html

196 :185:2009/11/14(土) 17:58:11
>>187
色んな数字になる可能性があります
具体的に言うと、連続的に自動で観測されているデータがあるのですが
機械の不調等で、データが取得されていないことがあって、
しかしながらそれを他の計算等の元のデータとして使うときにそこが空白だと困ることがあるので、
仮にでもそれらしい値を入れておきたい、というようなときにこの作業をしなくてはなりません
したがって、空欄の数もそのときによって違います

>>188
ありがとうございます!
こんな機能がある事を知りませんでした。
少なくともいちいち数式を入力するより速くて簡単にできますね。

>>189-190
ありがとうございます(間違いのご指摘も含めて…)
ちょっとぱっと見ただけでは何がなんだかですので、
ゆっくり解読させていただきますね。

197 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 18:30:17
>>195
ありがとうございます!!

198 :188:2009/11/14(土) 18:36:56
>>196
これでどうだ。先頭のセルを指定して実行
最後まで線形補完する。
前提条件は、データが一列、
Sheetの最終行が65536で、かつそこに補完すべき数字が無いこと。
初マクロなんであらゆる状況で上手く動くかはわからん。

Sub senkeihokan()

Do
Range(Selection, Selection.End(xlDown)).Select
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Trend:=True
Selection.End(xlDown).Select
Loop While ActiveCell.End(xlDown).Row <> 65536

End Sub

199 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 20:19:52
微妙・・・

200 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 20:35:52
この書き方は初めてみた

Range(Selection, Selection.End(xlDown)).Select


201 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:05:44
A1:A100のセル内にある文字列のうち
一番右の文字列が「あ」のセルの数をカウントしたいのですが、
わかりません教えてください

rightを使うにしても、いまいち使い方がわかりません。

202 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:08:00
>>193
総計の右下のセルでダブルクリックするだけじゃねーの?

しかしアクセス規制いつ外れるんだ?
削ジェンヌまだ生きてるのかね。

203 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:12:29
>>201
=COUNTIF(A1:A100,"*あ")

204 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:13:01
>>201
=COUNTIF(A1:A100,"*あ")

205 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:14:20
ん?おれはどっちだ?
後の方だなきっと。

206 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:15:16
うーん、俺もどっちかわからんが、まあ考えることは同じだね。
ちょとおもろい。

207 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:19:31
>>201
どうしてもrightをつかいたいなら
=SUMPRODUCT((RIGHT(A1:A100,1)="あ")*1)

208 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:20:51
>>203-206
有り難うございます
もうひとつだけお願いします

たとえば左から4つ目が「あ」の
数をカウントしたい場合はどうすればいいのでしょうか?

209 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:23:37
>>202はアンカーミスってるな。
>>191あてだ

しかしいちいちp2から書きこむのも疲れるな。
アクセス規制いい加減に解いてくれねーかな。

210 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:26:12
>>208
=COUNTIF(A1:A100,"???あ*")
試してないけどな。

211 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 21:33:45
>>208
=SUMPRODUCT((MID(A1:A100,4,1)="あ")*1)
>>210が個人的には好きだw

212 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 23:12:04
この問いにSUMPRODUCTは無いわw

213 :名無しさん@そうだ選挙にいこう:2009/11/14(土) 23:12:18
WinXPで、Excel 2002を使ってます。
セルに色を塗るときは、セルを選択して、色のボタンを押すと
そのセルを塗りつぶせます。 2度手間になります。

セルをクリックするだけで、そのセルに色を付ける方法を教えてください m(_ _)m

214 :複乳 ◆MeiY43UMr. :2009/11/14(土) 23:36:53
>>213
F4じゃダメですか
F4=直前の行動の繰り返し


215 :213:2009/11/14(土) 23:48:37
>>214 ありがとうございます m(_ _)m
F4で出来るんですね。 マウスにF4割り当てて、実用化できそうです。

できればワンクリックだけで、色を塗りたいので
よろしくお願い致します m(_ _)m

用途は、英語の学習で、不慣れな熟語や構文などをエクセルに書いて
練習した物を塗って行きたいのです。 順番にやると飽きるので。

216 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 00:05:25
ワンクリックだけで、お前が意図した色が塗れるほどPCは賢くないと思うが?

217 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 00:26:26
>215

Worksheet_SelectionChange

218 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 09:58:00
>>215
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Interior.ColorIndex = 17
End Sub

これをシートタブを右クリック、コードの表示の白いところに貼り付ければダブルクリックすれば色がつくようになる。
色番号はそこらへんのサイトをみて
いらなくなったらコードごと普通に消せばいい

219 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 12:18:27
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 勉強中です
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 イベント 列挿入

よろしくおねがいします
あるシートで列挿入を禁止したいと思います。
行挿入やセルの内容変更は自由なまま、
列挿入だけを禁止できますか?

220 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 12:53:01
シート全体でセルの書式の保護をあらかじめロックのチェックを外しておいて
シートの保護で「ユーザーに許可する操作」を列の挿入以外チェックしておけばいいんじゃね?

221 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 12:57:16
3つ以上重複しているデータを抽出して、その重複しているデータがいくつあるかカウントしたいのですが、やり方がわかりません。
教えていただけませんか?お願いします

222 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 13:13:25
>>221
他にいい方法があるかもしれないが、
countifで3個以上重複している数を出して、別シートにでもコピーした後で
ピボットするのが漏れの最速方法。

一度に出すやり方がわからないのなら一つずつ順を追ってやってみたらどう?


223 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 13:27:22
データ数だけだったら
=SUMPRODUCT((COUNTIF(A1:A10,A1:A10)>2)*1)
↑a、a、a、b、b、b、c、c、d・・だったら6個

何種類・・・だと
=SUMPRODUCT((MATCH(A1:A10,A1:A10,0)=ROW(A1:A10))*(COUNTIF(A1:A10,A1:A10)>2))
↑a、a、a、b、b、b、c、c、d・・だったら2個

データが入っていないところまで範囲を指定するとN.Aになるよん

224 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 14:59:27
vistaでexcel2007を使っています。
グラフを作るときに、縦軸を対数表示にすると、目盛りが10、100、1000…というふう
に表示されるんですが
これを10^1,10^2,10^3…というふうに表示するにはどうすればいいんでしょうか?
このとき、乗数もきちんと10の右上にくるようにしたいです。

225 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 16:55:44
>>220
ありがとうございます!やってみます。

226 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 17:29:41
納品書と請求書さえできればいい。
最初に会社を選んだら商品名を選んで数量を書いたら自動的計算して納品書と請求書がプリントアウトできてデータは蓄積される。
商品も会社別に単価を変えれていつでも変更も可能で、締めに合計請求書が作れる。
この程度ならExcelで作るのは難しくないですよね?


227 :複乳 ◆MeiY43UMr. :2009/11/15(日) 17:33:20
>>226
ttp://www.vector.co.jp/soft/winnt/business/se470054.html
エクセル 請求書 辺りでベクターで探すといい

228 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 18:14:51
そういうのはAccessでつくるとかんたん
Excelでもできるけど手数がかかる。たぶんVBAつかわないと実用にはならない。

229 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 18:27:46
>>226
228も書いているけど、出来なくはないけどアクセスの方がいい。

だいたい、納品書と請求書なんてワード差し込み印刷使う以外はvbaになるだろな・・・・

230 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 18:39:28
まあAccess2000で作ったソフトは今使ってますけど、今回はExcel2007で作りたいので。


231 :複乳 ◆MeiY43UMr. :2009/11/15(日) 18:47:48
エクセルどうこうよりVBAが使えるかどうか
使えるなら簡単、使えないなら色々と無理なところがある

232 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 19:50:25
まあ作りたければ作れば。
vbaが使えなければ、訳分からん関数の嵐になるしメンテも煩雑だと想像できる

233 :名無しさん@そうだ選挙にいこう:2009/11/15(日) 23:29:51
>>230
そういう「何となく」作ったものが後々混乱招くからやめれ
何故Excelで作るのか、何故ACCESSで作らないか
はっきりしとかないと、現場は混乱する

234 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 01:01:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(一応…)
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 (いいのが思いつかない…)

MATCH関数で検索する範囲を条件によって変えたいのですが。
A2〜E2が列タイトル、A3〜E8にデータが入っているような表を考えます。
例えばVLOOKUPなら列タイトルを指定して結果列を変えることは
VLOOKUP(A1,$A$3:$E$8,MATCH(B1,$A$2:$E$2,0),false)
こんな感じでできますが、
MATCH(A1,何か関数(B1,$A$3:$E$8),0)
のような感じでB1の値によってMATCHの検索範囲をA〜E列で切り替えたいのです。
こういう場合、INDIRECTを使ってがんばるしかないんでしょうか?

現状、MATCH(A1,INDIRECT("R3C"&C1&":R8C"&C1,false),0)とか書いてるんですが
なんとかスマートにならないかという質問です。

235 :複乳 ◆MeiY43UMr. :2009/11/16(月) 07:31:02
>>234
B1にA〜Eを入れ
B1=A
C1=MATCH(A1,INDIRECT(B1&"3:"&B1&"8"),0)

もしくは名前の定義。A3:A8に"A列"という定義をしておいて
B1=A列
C1=MATCH(A1,INDIRECT(B1),0)

基本的には前者でいいと思うが、変則的な場合は後者が使えるかも

236 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 13:07:57
【1 OSの種類         .】 Windows Vista SP1
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えます
【4 VBAでの回答の可否】 可です
【5 検索キーワード     】 共有違反 保存

Excel 2007で作成されたマクロつきファイルを上書き保存しようとした時に発生した現象です。

ブックの共有などを一切していないExcelファイルなのですが、
2007で上書き保存ボタンを押したところ、下のメッセージが表示されました。

「'testtest.xlsm'への更新は、共有違反のため保存されませんでした。別のファイルに保存し直してください。」

上書き保存はできず、一時ファイル(ファイル名は、ランダムの英数字8字。拡張子なし)が作成されています。
別名に保存することは可能ですが、都合上、上書き保存できるようにしたいです。
この現象の原因や対処をご存知の方は、ご教示いただけないでしょうか。

なお、ググったりMicrosoftサポートページを参照しても、私が見た範囲では該当するページが見つかりませんでした。
よろしくお願いいたします。

237 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 13:27:16
>>232
激しく同意。>>223の2つ目のコード見た時「うへぇ・・・」と思ってしまった(>>223さんゴメン)
VBA覚えたほうがラクにいろんなこと出来るようになって便利。

238 :複乳:2009/11/16(月) 14:10:33
>>236
サービスパック・アップデートがあるなら入れる
それでダメなら新規ファイルを作り、そこにシートやマクロをコピーしてみるとか
新規ファイルでも起こるなら分かりません。
OSごと再インストールしたほうが良いのかもねぇ

239 :複乳:2009/11/16(月) 14:16:50
>>221
>>223を改造してみた。B1に範囲を入れる
B1=A1:A10
C1=SUMPRODUCT((MATCH(INDIRECT(B1),INDIRECT(B1),0)=ROW(INDIRECT(B1)))*(COUNTIF(INDIRECT(B1),INDIRECT(B1))>2))
これで少しは範囲の変更に対応しやすくなるかも
ならないかも

240 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 16:59:11
ヴァカ =MATCH(A1,INDIRECT("R3C"&C1&":R8C"&C1,false),0) 
利口 =MATCH(A1,INDEX($A$3:$E$8,,C1),0)

241 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 17:05:33
すまん、列が256とかあるなら下にしてくれ。
利口 =MATCH(A1,INDEX($3:$8,,C1),0)
>>240は最大5列の式だ。

242 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 18:33:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 (…)

質問です。食堂でお客さんのデーターを取りたいのですが
メニューが3種類の日替わり定食で一日限定5食、計15食とします。

男性 30代 カレー              1 カレー 男性 30代
女性 30代 カレー              2 カレー  女性 30代
男性 20代 オムライス           3 
男性 40代 オムライス           4 
女性 20代 オムライス           5
男性 40代 うどん     これを     1 オムライス 男性 20代
                         2 オムライス  男性 40代
                         3 オムライス  女性 20代 
                         4
                         5
                         1  うどん  男性 40代
                         2
                         3
                         4
                         5

      って左のデーターを右のような形式に表示したいのですが
       どうすればいいでしょうか?

  よろしくお願いします


243 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 19:11:13
test

244 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 20:36:44
>>242

初めから右の形式で入力したらいいだろう。

245 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 20:44:09
右の形式ってなにかいいことあるのか?

246 :242:2009/11/16(月) 20:52:25
すいません。
ブロックに分けたいのです。
ブロックに分けて色をつけたいので。
3食と書きましたが実際には10食ぐらいあります。
書き込みが多すぎてしまうので3食にしました。

247 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 20:56:02
>>245
同感。

>>242
本当にやりたいことは何?
誰にどんな定食が人気あるのか分析したいんじゃないの?

248 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:00:11
>>246

なんで色を塗りたい?
誰にどんな定食が人気あるのか分析したいからだろ。違うか?

249 :242:2009/11/16(月) 21:07:57
>247 >248その通りです。 すいません。

250 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:14:08
>>249

そういう時はクロス集計をするんだ。
ピボットテーブルを使えば簡単にできる。
ビジュアルに理解したい場合はピボットグラフだ。
以上。

251 :242:2009/11/16(月) 21:23:15
>250ありがとう くぐってみます

252 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:31:40
>>237
>>223>>232も自分(=同一人物)なので気にせず〜w
関数で遊ぶのは楽しいけどさ、実用的じゃないと思うんだよ
まあマクロを忌み嫌う人もいるから

253 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 21:46:37
>242 はむしろ、単純な棒グラフに手書きで×とか積み重ねていった方が楽そう

254 :名無しさん@そうだ選挙にいこう:2009/11/16(月) 22:26:29
>>253
ほう。どんなグラフ?
縦軸と横軸は何?
×の位置と数にはどんな意味をもたせるの?


255 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 00:05:55
下記のようなデータのAB列とD列をSheets3のAB列とC列の最下行にコピペするとき、
D列の最下行が空白セルだとうまくいきません。どう対処すればいいですか?
(A列とB列は空白になることはありません)

Sheet1
 A    B    C    D
美咲  郁恵  貴子  真央
久美  早苗  美恵  慶子
愛美  直子  沙希

Sheet2
 A    B    C    D
和美  奈々  昌枝  涼子
麻子  鈴香  聖羅  由梨
真美  明菜  未来  寿江

Sub コピペ()
 With Worksheets("Sheet1")
  .Range("A2", .Range("B65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1)
  .Range("D2", .Range("D65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("C65536").End(xlUp).Offset(1)
 End With
 With Worksheets("Sheet2")
  .Range("A2", .Range("B65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1)
  .Range("D2", .Range("D65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet3").Range("C65536").End(xlUp).Offset(1)
 End With
End Sub

256 :複乳 ◆MeiY43UMr. :2009/11/17(火) 00:37:52
>>255
gyo=Range("A65536").Selection.End(xlUp).Row
でA列の最終行を変数に入れ
 .Range("D2", .Range("D" & gyo ).End(xlUp)).Copy _
でD列のgyo行まで指定みたいなカンジで

257 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 01:11:41
並び替えを行うに当たって、文字列の大小関係を
A < B < ... < Z < AA < AB
と扱う場合に、
A8, Y1,, AD14 みたいにアルファベットと数字がセットになったものを
並び変えるにはどうしたらよいでしょうか?

258 :トリプルクリック ◆M4VDFNZnqs :2009/11/17(火) 01:47:39
作業用のセルに頭に0をつけたデータを作り
コピーして、「形式を選択して貼り付け→値」で値に置き換えたあと
「データ」→「並び替え」で普通にできるよ

=RIGHT("000" & A1,4) → 00A8
                  ↑これを並べる

259 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 03:36:18
試してみましたが、数字部分の桁数が一定でないと、
うまくいかないですね…
アルファベット部分と数字部分に簡単に分解できたら嬉しいのだけどなぁ
まぁでも、CODE, IF, MIDあたりを使って分解、
アルファベット部分の重みづけには教えてくれた方法を利用すれば、
面倒だけどなんとかEXCEL関数でも処理できそうに思えました。どうもありがとう。

260 :複乳 ◆MeiY43UMr. :2009/11/17(火) 07:56:55
>>257
>>258を拡張
=REPT("0",10-LEN(A1))&A1
10文字までの文字列を10文字になるまで0で補完する
もっと長いなら10を100にすればok


261 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 09:25:31
【Excel】便利なショートカット キー一覧
F2 でセルの編集
F4 でセルのクリア
直接入力 [Shift] + [Space] で行の選択
直接入力 [Ctrl] + [Space] で列の選択
[Ctrl] + [D] で上のセルをコピー
[Ctrl] + [R] で左のセルをコピー
[Ctrl] + [ ; (セミコロン)] で日付を入力
[Ctrl] + [ : (コロン)] で時間を入力
[Ctrl] + [0] で列の非表示
[Ctrl] + [9] で行の非表示
[Ctrl] + [1] でセルの書式設定
[Ctrl] + [2] で文字を太字
[Ctrl] + [B] でセルの書式設定
[Ctrl] + [3] で文字を斜体
[Ctrl] + [I] で文字を斜体
[Ctrl] + [4] で文字に下線
[Ctrl] + [U] で文字に下線
[Ctrl] + [5] で文字に取り消し線
[Ctrl] + [7] でツールバーの [標準] を表示・非表示
[Ctrl] + [8] でアウトラインを作成
[Ctrl] + [F] で検索
[Ctrl] + [H] で置換
[Ctrl] + [K] でハイパーリンクの挿入
[Ctrl] + [N] で新しいブックの作成
[Ctrl] + [L] でリストの作成
[Ctrl] + [W] でブックを閉じる
[Ctrl] + [O] でファイルを開く

※数字はいずれもテンキーでない方

262 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 10:38:17
テンプレにあってもいいなぁ(´ω`)

263 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 10:59:54
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 勉強中です
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

お聞きします
a2からa10まで



りんご
りんご

コップ
コップ
コップ

って並んでいるとします
それをそれぞれ b1花 c2りんご d1水 e1コップ って種類を返したいのですが
どうすればいいでしょうか?  お願いします


264 :複乳:2009/11/17(火) 11:52:45
>>263
データ、フィルタ、フィルタオプションで
「重複するレコードは無視する」にチェック

265 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 12:58:14
>>261
F4は、前の処理の繰り返しじゃね?

266 :263:2009/11/17(火) 13:04:40
>264ありがとうございます
オートフィルを使わないでa2からa10までのデーターを貼り付けただけで
自動的に出ないかなと思いまして。

267 :複乳:2009/11/17(火) 13:18:42
>>266
B2=(C2<>"")*1+MAX($B1:B$1)
C2=IF(COUNTIF($A$1:A2,A2)=1,A2,"")
D2=VLOOKUP(ROW()-1,B:C,2,0)
でB2-D2を下にオートフィル


268 :242:2009/11/17(火) 13:38:11
>267大変ありがとうございます
重複せずに出てきました。
もう一つだけですがその値をe1,f1,g1に返すことはできますか?

0 花  0 花  山  海
0     0
0 0
0 山  0
0     0
0 海 0

って返したいのですが?
これが最終目標ですが。

 

269 :複乳:2009/11/17(火) 13:49:56
>>268
もー!情報の小出しはダメ、絶対><
麻薬よりダメ><

E1=INDIRECT("r"&COLUMN()-3&"c4",0)
で右にオートフイル

270 :263:2009/11/17(火) 14:02:01
>269何でもすいません
最初の質問で一応聞いておりますw
今やりましたら0000と0の連続で 花 山 海が返せません(^^;)

0  花  0 花  山  海
0     0
0     0
0  山  0
0     0
0  海  0


0  花  0 0 0 0
0     0
0     0
0  山  0
0     0
0  海  0 となってしまいます

271 :複乳:2009/11/17(火) 14:10:24
>>270
ごめんなさい勘違いしてました><
>>267はB2など2行目開始で、>>269はE1だよ

272 :263:2009/11/17(火) 15:16:14
>271 何でもすいません。
これが聞きたかったです。
いつもオートフィルでコピペしていたんですが
多いと大変でしたので。とにかくありがとうございました。


273 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 18:18:43
教えてください。
セル1にタイトルを、以降2と3、4と5などを一つの項目として表を作成しました。

セルにより、二行を結合しているところと各一行として使っているところがあるのですが、オートフィルタをかけるとセル2と4などと、偶数の行だけしか表示されません。

二行を一つとしてフィルターする方法があれば教えて下さい。

274 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 19:25:13
お助けください。

【1 OSの種類         .】 WindowsXPもしくは、ビスタ
【2 Excelのバージョン   】 Excel2003もしくは2007
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 手動がだめなら考慮
【5 検索キーワード     】 エクセル 参照したデータで並び替え 引用したデータを使って並び替え など

=を使って他のセルから参照したデータを並び替えしたいのですが、
うまくいきません。


  A  B
1 な  =A4  
2 た  =A2
3 さ  =A1
4 か  =A5
5 あ  =A3

      ↑ここで並び替えしたい

実際には、シート1から、シート2へデータを抽出し、並び替えて
シート3へ移動という流れです。
元のデータは、それぞれのデータの位置が決まっているので動かせません。

これから夜勤なので、お返事は翌朝になります。
よろしくお願いいたします。


275 :複乳 ◆MeiY43UMr. :2009/11/17(火) 20:37:58
>>273
一行に一つの表を作り直したほうがあらゆる面でいい
どうしてもその表を使いたいならファイルをアップロードしてくれれば考える
>>274
エクセル2000でやったら何故か参照が=a7やREFエラーになった
原因はさっぱりわからん
B列をコピー、C列に値で貼り付けして並び替えてみては
詳しい用途が分かればもう少し適切な回答が出来るかも

276 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 21:29:17
=if(sum(()*()),"",") の場合で {  }にするためにキーボタンはどれを押すんですか?
忘れてしまいました。

277 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 21:35:26
Shift Ctrl Enter

278 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 21:41:53
>>277 サンクス

279 :255:2009/11/17(火) 21:57:12
>>256
ありがとうございます。
gyo=Range("A65536").End(xlUp).Row と書いてもおkですよね?

280 :複乳 ◆MeiY43UMr. :2009/11/17(火) 22:02:45
>>279
むしろ正解。俺が間違いデシタ

281 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 22:18:43
Sub ××()
Sheets("sheet1").Range("a1").Select
Sheets("sheet2").Range("a1").Select
End sub
こうすると本文2行目でエラーが出るのは仕様ですか?
1行目だけだと普通に動くんですが。

282 :281:2009/11/17(火) 22:20:03
あ、もちろん女です><

283 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 22:36:12
【1 OSの種類 .】 Mac OS X 10.3
【2 Excelのバージョン 】 Excel for Mac 2001
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】

グラフのガンチャートの数値と対応させたいセルにLOOKUP関数(最終的に数値が出力される)を入力しているのですが、
出力された値がガンチャートに反映されません。

単にセルに数値のみを入力した場合は反映されています。

LOOKUP関数以外の関数でも試してみましたがやはり反映されません。

どうしたらガンチャートに数値を反映させることができるでしょうか、どなたか教えてください。
よろしくお願いいたします。

284 :名無しさん@そうだ選挙にいこう:2009/11/17(火) 23:02:41
>>281
仕様。アクティブでないシートのセルを直接Selectすることは出来ない。
2行目の前に、Sheets("sheet2").Activateを入れればいける。

285 :281:2009/11/17(火) 23:15:17
>>284 さん
どうもありがとうございました!

286 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 04:30:03
281じゃないけど・・・
Activateって、Workbooksだけに使うのかと思ってた
今度、応用してみよう

287 :274:2009/11/18(水) 18:08:41
>>275
ありがとうございます。
そうなんですよ、2003でも、並び替えると変な表示になります。
なるほど、値でコピペすると並び替え出来ますね。

用途は、仕事で複数人で使い、尚且つ私は夜勤ですが、昼勤の人も使うので
関数とか分からない、エクセルも不慣れな人でも簡単で、より少ない操作で
出来ることがまず前提です。

内容は、シート1の固定された並び順の表から、件名と複数の数量データを
抜き出して、それを1枚に一件ごとの伝票に印刷する目的です。
この伝票を印刷するときに、あいうえお順に出来ると、作業がとても捗るのです。


以下余談
今は、シート1の表から、シート2の伝票シートで直接データを参照しているのですが
この伝票が80ページ(枚)分以上あり、伝票順(ページ)を並べ替えたり入れ替えたり抜いたり
加えたりがとても大変です。
また、データの入力は毎日あり、入力は昼勤、伝票処理は夜勤となるので
意思の疎通が図りがたく、出来れば上のような値でコピペし直すような作業も
無い方がいいのです。
なにしろ、昼勤としては今のままでも問題はないので、余分な作業が増えるなら
このままでいいじゃんとなりそうなので・・・

288 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 18:47:14
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

お世話になります。
現在、エクセルにてCSVを作成してます。 以前の仕様と変わってしまった為、改行を入れないとなんですが
全ての文章の頭に■や●などで文章の始まりであることを設定してあるので 置き換えで ■→<br>■ としてやれば問題ないのですが
長文の場合、数式が長すぎて出来ないと出てしまいます。 現在別のソフトでソースを開いて編集してますが なにか一括で編集できる方法はありますでしょうか?
宜しくお願い致します

289 :274:2009/11/18(水) 19:10:51
なんか>>287を読み直しているうちに、変に不慣れな人に並び替えをさせるより
VBAで自動並び替えをさせて、そこの数式を保護して触らせないようにした方が
安全だと思えてきました。
件名だけ並び替えて、数量データがそのままなんてことされると大変ですしw

また、そちらで煮詰まったらお伺いに来ます。
ありがとうございました。

290 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 19:21:41
>>289
君の不幸は職場にExcelがあることだな。
回り道に思えてもデータベースの勉強をすることをおすすめする。
実際に職場に導入することができなくても、覚えたことは無駄にはならない。
きっと今より上手くExcel使えるようになるだろう。

291 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 19:25:47
>>288
CSVに変換してからテキストエディタの置き換え機能を使えばいいのでは

292 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 19:29:24
>>290
いや、データベースを使うまでもない
ExcelVBAで十分対応可能

293 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 19:42:25
>>292
> ExcelVBAで十分対応可能
またVBA厨か。なかなか絶滅しないもんだな。


294 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 19:56:29
ピボットで可能なのか?w・・・(´ω`)

295 :複乳 ◆MeiY43UMr. :2009/11/18(水) 19:59:05
>>289
あ、うまく行った
>>274の=A4を=INDIRECT("A4")というふうにかえればok。数式の結果で並び替えになる
理由はわからんが、エクセルの仕様か?
>>291
>現在別のソフトでソースを開いて編集してますが
>>292
そういうなら答えてやれ

「トリプルクリック ◆M4VDFNZnqs」でぐぐったら色々出てきたけどどうでもいいな


296 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 20:02:17
>>292

>>274
  A  B
1 な  =A4  
2 た  =A2
3 さ  =A1
4 か  =A5
5 あ  =A3

こんなデータ構造を放置したままにしてVBAならできるとかないわ。
こんな構造みた時点でなんかおかしいと気付かないと。

297 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:20:19
>>289
1.まずデータ入力用のブックは並び替えてはいけないなら
 コピーして作業用のブックを作り並び替えればよい
2.データシートから伝票シートにデータを書き込んで
 伝票シートを新規ブックにシートコピーする。
 これを最後のデータまで繰り返し新規ブックに伝票シートをたくさん作る。
3.新規ブックをブックの印刷で一気に印刷する

↑こんなのをVBAで作ったことがある
注意点としてはシートをコピーしすぎるとメモリ不足でExcelが落ちる可能性がある
これはパソコンのメモリ不足ではなくExcelを起動したときに確保される作業用のメモリ不足
回避策としては10シートとかコピーするごとにブックの保存を実行すればメモリが開放されて
落ちなかったと思う。

298 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:21:08
>>295
どうでもいいことしか書いてないからね

299 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 21:31:25
>>297
うへー。ばかくせえ。
ここまで典型的なやつもめずらしい。

300 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:46:56
Excelで帳票を作るととても便利
書式が自由自在に設定できるし
印刷前に日付を変更したいとか、金額を変更したいとか
ちょっとした修正がユーザーの意のまま

301 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 21:51:19
>>300
んなことはExcelに限った話じゃないわな。

302 :トリプルクリック ◆M4VDFNZnqs :2009/11/18(水) 21:57:52
最近着たばかりだからよくわからんが
ここはExcelを愛してやまない人の集まりではないのか?

303 :名無しさん@そうだ選挙にいこう:2009/11/18(水) 22:09:04
>>302
ここはお前のような野人が初めて訪れた文明社会。
車やエレベーターを見ても驚かないように。

304 :複乳 ◆MeiY43UMr. :2009/11/18(水) 22:39:31
正直それ以上発言されるとVBA厨の肩身が狭くなるので消えて欲しいんだ

305 :トリプルクリック ◆M4VDFNZnqs :2009/11/19(木) 01:25:38
来るところを間違えたみたいだ
ここは「ビジネスsoft」だった
「プログラム」のほうにもExcelのスレがあったので
そっちに移動します
さいなら〜

306 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 01:45:20
>>305
それがいい。
要はプログラム組みたいだけなんだろ?
ここは解決をするところだ。


307 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 09:39:28
エクセルで用意したデータベースを、
そのブックを開かずに、エクセルで作ったのクライアントで
vlookup的なことで参照することはできますか?

VBAで無理なら、それが実現できる言語を教えてください。

308 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 11:36:12
>>307
VBAならADOでいけんじゃね?
ワークシート関数みたいに即効表引きしたいなら、グローバルは接続保っておいてイベントと組み合わせればいいんじゃないかな

309 :307:2009/11/19(木) 12:24:27
そうかADOか。
ちょっと勉強してみる。ありがとう!

310 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 12:40:36
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 オプションボタン 保護 解除など

オプションボタンを使用し、Excelでアンケートを作成しました。
(メニュー>ツールバー>コントロールツールボックスを呼び出して、オプションボタンを作成しています。)

シートを保護して、オプションボタンの選択と一部のセルへの記入のみできるようにしたいです。

・編集したいセルのロックを解除
・オプションボタンを選択し、右クリック>コントロールの書式設定>ロックを解除
・オプションボタンが置いてあるセルのロックを解除

をおこない、「ロックされていないセルの選択」のみ許可してシートに保護をかけました。
セルに記入はできるのですが、オプションボタンの選択をしようとするとエラーメッセージが出てしまいます。
調べても出てこないので教えてください。お願いします。

311 :名無しさん@そうだ選挙にいこう:2009/11/19(木) 23:35:26
>310

そのエラーメッセージをエスパーしろと?

312 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 00:00:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 不可

数値が入ってる列から、0の値をオートフィルタで抽出し、VLOOKUPで
値を入れたあとに、その箇所だけ コピー → 値を貼り付け をしようとしても、
コピー領域と貼り付け領域が違うとメッセージが出てできません。

数行なら個々にやればいいですが、何十行もあると大変なので
何か対処方がありますか?

313 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 00:28:40
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000

先ほど起動したまま置いておいたら、なぜかフリーズしていました・・・
どうしようもなかったのでタスクマネージャーで強制終了させたら
今度は起動しなくなってしまいました、まったく原因が分かりません
データファイルのショートカットをクイック起動に置いてあるのでそれをクリック、
またはエクスプローからファイルをWクリックのどっちの方法でも駄目でした
直す方法はありますか?

データは単なる一覧で、計算式は1ヶ所だけ1列の計を出した程度のものです
こんなただのデータファイルを読み込ませただけで
更にただ置いておいただけなのにアプリが勝手にフレーズいる理由が全く分からないです
そしてこんなことは長いこと(使用頻度は低いですが)使っていて初めての経験です

314 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 04:17:45
>>313
2002だと「ヘルプ」→「アプリケーションの自動修復」とクリックしていけば
修復出来そうだけど2000はそれあるかどうか…
それ以前にエクセルが起動出来なくなってしまったということなら、スタート
→すべてのプログラム→アクセサリ→システムツール→システムの復元…
で一日前を選択して復元させてはどうでしょうか。
…ってエクセルを越えた回答だけど。

315 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 04:35:06
>>312
とりあえずオートフィルタをすべて表示にさせておいて数値の列の対象の範囲を
ざっくり選択しておいてコピー → 値を貼り付け してみてはどうかな?

316 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 11:21:12
このスレしばらく見ないうちに変なコテハンが増えてて、
しかも例外なく珍回答続出で吹いた

317 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 13:41:45
>>288
http://okwave.jp/qa2321331.html

318 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 14:01:41
せんせー! 質問です!
Winxp、エクセル2002使ってます。
セルを右クリックするとコメント「コメントの挿入」で
コメントを付けることが出来ますし、表示もされます。

そのセルにマウスカーソルを合わせると、コメントが出るのですが
そのセルが右端にあり、コメントがさらに右側に出るので
画面に表示されません。

コメントが表示する時の位置を任意の場所に固定したいときは
どうすれば良いのでしょうか m(_ _)m

319 :複乳:2009/11/20(金) 14:06:42
>>318
セルの右クリック、コメントの編集
その状態でコメントの枠をドラッグすると、コメントの位置を動かせるよ

320 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 14:13:27
>316

自称プロの素人にはよくあること。

321 :318:2009/11/20(金) 14:17:52
>>319 ありがとうございます m(_ _)m
コメントの編集で、左側にしても、カーソルを合わせると
右側に表示されます。
お使いのエクセルのバージョンは何ですか?

322 :複乳:2009/11/20(金) 14:50:54
>>321
うお、気づかなかったゴメン

マクロを使えば実現できるようです
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210706232

ただ基本的には戻る仕様らしい
ttp://office.microsoft.com/ja-jp/excel/HP030641631041.aspx
一度非表示にすると規定の位置(右)に戻る
とのこと



323 :318:2009/11/20(金) 14:56:44
>>322 ありがとうございます m(_ _)m
難しそうですが、やってみます m(_ _)m


324 :318:2009/11/20(金) 15:08:25
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210706232
で、マクロを作成する事はできました。

リンク先に
@元コメントのテキストの内容を変数にセット。

とあるのですが、セルを右クリックして、「セルの書式設定」を見ても
変数という項目がありませんでした。
どうすれば、変数にセットが出来るのでしょうか m(_ _)m

325 :複乳:2009/11/20(金) 15:13:06
>>324
マクロの登録すれば終わりのはずだよ

登録して、コメントを>>319の要領でうごかせば固定されるとおもう
Comtext = Cel.Comment.Text
の行が
@元コメントのテキストの内容を変数にセット
にあたる内容

326 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 15:25:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えないです
【4 VBAでの回答の可否】
【5 検索キーワード     】


こんにちわ
まだexcelを使い始めたばかりでどんな事ができるのか判らないのですが
どんどん更新されていくHPから特定のキーワードを自動で収拾してexcelでデータベースを作る事は出来ますか?
それにはVBAというのを覚える必要があるのでしょうか?
よろしくお願いします。

327 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 15:37:59
>>326
「どんどん更新されていくHP」がどういうものかによって対応が違ってくるかな
どっちにしろVBAがないと辛いし、毎日情報を自動で収集したいんであれば、Excelを使うこと自体が向いてないかもね

328 :318:2009/11/20(金) 16:02:38
>>325 ありがとうございました m(_ _)m

329 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:14:54
WinXPです。エクセルを二重起動させたいのですが
どこから設定すれば良いのでしょうか? 教えてくださいm(_ _)m

330 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:32:56
>>327
ゆくゆくは色んな用途で活かしていこうと思うのですが
http://onore.servegame.com/game/faraway/sangoku/map.cgi

今はとりあえず実験的に
ここからプレイヤー名と更新時間を抜き出してexcelに纏めたいです
VBAを使えば可能でしょうか?またこの用途に適したソフトとかありますか?

331 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:40:38
>>329
>>1のテンプレ使ってどういった用途で二重起動させたいのかを詳しく書いてくれ。

332 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:47:22
>>331 THX 了解しました。

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】
二重起動をしない方法は書いてましたが、二重起動にする方法は
書いてませんでした。

二重起動したい理由は、デュアルモニタで両方の画面で
違うエクセルファイルを同時に見たいのです。
よろしくお願い致します m(_ _)m

333 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 19:54:25
Excelを別ウィンドウで複数同時に操作する
http://www.atmarkit.co.jp/fwin2k/win2ktips/915exwin/exwin.html
↑のサイトはExcel2003で説明してあります。試してみては?

もひとつ。
http://q.hatena.ne.jp/1250760590 のページの4番の回答も参考になるかと。

334 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:08:41
>>333 やってみます。 ありがとうございました!

335 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:25:02
>>332

それを「二重起動」と呼ぶのか・・・素人コエ〜w

336 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:28:16
ウザいやつ沸いてるな

337 :335:2009/11/20(金) 20:45:57
>>335

だよなぁ〜
用語くらい正しく使えっての。

338 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 20:51:54
>>337
自演乙w

339 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 22:27:12
>>337 ぅわ

340 :312:2009/11/20(金) 22:59:25
>>315
ざっくり選択というのは、対象外のセルも含めるってことですか?
他のセルには数式が入ってるので、対象になってるセルだけ値にしたいんです。

341 :複乳 ◆MeiY43UMr. :2009/11/20(金) 23:42:08
>>335
これを二重起動と呼ばないならなんと呼ぶのでしょうか?
教えてください
>>340
んー、VBAが不可なら無理
オートフィルタの後にコピーすると、不可視セル(非表示セル)が含まれない
その後同じ領域を貼り付けると当然、セル範囲が違うのでエラーになる
コピーした後、その値をvlookupで引っ張ってくるのがいいんしゃないかな
じゃなきゃVBA


342 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 23:44:11
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 mid
別リストにある(ここでは仮にA1セルにあるとします)社員番号なんかを1文字ずつ枠(セル)の中に入れたいのですが、
一番左のセルに「=MID(A1,1,1)」とやって、
左から2番目には「=MID(A1,2,1)」などと、1つずつ入れるしかないのでしょうか?
A1を絶対参照にしてコピーすると自動的に他の枠もうまく入ってくれるかなと思ったんですが。
VBA使うしかないですかね。



343 :名無しさん@そうだ選挙にいこう:2009/11/20(金) 23:47:53
>>342
COLUMN()関数で工夫する

344 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 10:48:42
>>342
=MID($A$1,COLUMN(a1),1)
右に引っ張る

345 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 10:58:03
>>341
何にしても別なファイルを開くのだから「二重」ではないわな。「複数」とか「並べて」とかならわかるが。

346 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 11:18:36
>>341

普通はSDI/MDIだよ。
勉強になったかな?

君は3つ開いたら3重起動って言うのかなw

347 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 11:20:17
>>345
Excelアプリを一つしか開いてなければその中に複数のブックが表示される
アプリを二つ起動したいということだろ

348 :複乳 ◆MeiY43UMr. :2009/11/21(土) 11:50:45
>>345-346
ありがとうございました

349 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 15:43:59
>>345
「二重」がわからなくて
「複数」と「並べて」がわかるのはなんで?


350 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 16:56:40
お?馬鹿にされた反撃かw

351 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 17:19:56
>>350
実は馬鹿にされてるのはお前なんだよ。


352 :342:2009/11/21(土) 17:40:16
>>343 さん
>>344 さん
できました。どうもありがとう。
B1やC1のセルは空白なのに何でこれを参照するんだ?? 
と思いましたが、なるほど、列番号さえ増えればよいわけですね。
勉強になりました!

353 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 21:17:26
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel97-2003
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ??
【5 検索キーワード     】

桁を入れたいのですが、セルの書式設定で桁を入れることができるのですが
前に▲を入れると、桁が消えてしまいます。
▲12,345 みたいに表示させたいのですが。
12,345は出るのですが ▲をつけると、▲12345となってしまいます。
どのように設定すればよいのでしょうか?

354 :複乳 ◆MeiY43UMr. :2009/11/21(土) 21:19:25
>>353
"▲"#,##0

355 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 21:20:35
>>353様 ありがとうございます。ユーザー定義で"▲"#,##0を入れてみます!!

356 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 21:27:07
>>353
当方2002ですが、書式→数値→▲1234としていって”桁区切り(、)を使用する”
というところにチェックを入れるとお望みの表示になりましたが。

357 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 23:11:58
>>353
常に▲を入れるんじゃなくて、マイナスの場合だけ入れたいんだろ?
はっきりそう書けよ。

358 :名無しさん@そうだ選挙にいこう:2009/11/21(土) 23:58:33
マイナスを▲で書くバカwwwww

359 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 00:01:03
経理実務を知らないひとがいるな

360 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 02:30:26
まあ実務は知らないにしても、
セルの書式設定→数値のとこすら見たことないレベルなのに、
一丁前なのは暴言吐くことだけってのは恥ずかしいな。

361 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 06:14:41
計算とかではなく、手書きで▲12,345と入れるにはどうしたらいいですか?
桁区切りをチェックしてもできませんでした。

362 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 06:16:18
>>361
文字列

363 :356:2009/11/22(日) 06:57:48
>>361
”▲”ってマイナスの意味だってことは知っている?
入力時に”-12345”と入力すれば▲12,345と表示されるはずですが。
(ちなみに普通に"▲12345"と入力しても私の環境では問題なく”▲12,345”
の表示でしたが。)


364 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 07:05:10
手書きの意味がよくわからないんだが

365 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 07:09:33
>>364
それだけエクセルのスキルが低い人と察するべき。

366 :複乳 ◆MeiY43UMr. :2009/11/22(日) 10:30:12
>>356
これは知らなかった
>>364
「▲12345と入力していますが桁区切りが表示されません」
の意味かと

367 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 11:07:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否

ある製品の在庫の表の作成を仕事にしています。
今まで、作成しているデータは、
縦列は製番ごと(&大きなくくりとしての機種)
横列は、
3月末の在庫高、
3月末から4月末にかけての在庫高の増減値、
4月末の在庫高…
てな感じでならんでおり、
そこからついでにSUMIFで機種別増減額の表などを作っていました。

来月から「増減の理由」別の増減額の表も作れと言われました。
したがって「増減の理由」を横列に作らないといけないのですが、困ったことがあります。
例えば、ある製番が先月末から今月末にかけて300万円在庫高が減ったとしても、
その増減理由は、200万円が他の製番への転用、100万円が廃棄
といった具合に分かれることが多々あります。
1つの製番に2行あてがうということも考えられますが、
あくまでデータ作成の主目的は製番ごとの在庫高の月次推移を見ることなので、2行にわけることはしたくありません。

どうにかして1つの製番に1行あてがうことを守った上で上記の目的を達成することはできますか?

368 :二足歩行:2009/11/22(日) 11:16:11
2007を使って表計算をしてるのですが、
別のシートからそのままの数値をもってくることはできますか?
多数のシートの合計を出したいのです。
教えてください。

369 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 11:34:07
>>367
そういう場合、増減理由ごとに行を分けるのが正しい。
増減理由ごとに増減額を入れる列を分ける方法もあるけど、自分ならやらない。
前者ならピボットテーブルに使いやすいし、後者は理由が増えると収拾がつかなくなる。

370 :367:2009/11/22(日) 11:44:35
あくまでデータ作成の主目的は「製番ごと」の在庫高の月次推移を見ることなんです。
だからそれはできません・・・

371 :367:2009/11/22(日) 11:46:11
>>370
>>369に対してね

372 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 11:49:22
>>370
>あくまでデータ作成の主目的は「製番ごと」の在庫高の月次推移を見ることなんです。
>だからそれはできません・・・

言ってることがめちゃくちゃだな。
主目的は「あくまでデータ作成の主目的は「製番ごと」の在庫高の月次推移を見ること」
なんだろ?
なんで「だからそれはできません・・・」
になるんだ?


373 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 11:54:11
>367
横列に増減理由を入れる列を増やして、それで集計したらどうなの?
3月末の在庫/増減/理由・・・て感じで

374 :複乳 ◆MeiY43UMr. :2009/11/22(日) 11:57:36
>>367
増減ごとに行分けてから、元の表のようなものを加工して作るべきだなぁ
ただ何かの理由(アホな上司の意向等)でどうしても変えられないなら
最終列に理由をまとめて「1/1日、○○の理由で100万増加。1/5××の理由で50万減少・・」のように書くしかないかと
ちなみにalt+enterでセル内改行できるが行幅が太くなると見難くなるかな
>>368
同じフォルダのaaaというブックを参照してければ
=[aaa.xls]Sheet1!$A$1
のようにする
他のブックの参照はブックをまとめる等して極力避けた方がいい

375 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 12:00:52
>>367
一つの製番にたいして複数の理由を集計するんなら、理由に着目す限り
それらのセルが必要。あらかじめ理由が限定されているなら
横方向に理由の列を用意しておけばいい。"廃棄"、"転用"、"その他"
理由が限定できない、あるいは横に伸ばしたくないらない
一つの製番で複数の行を入れるしかない。
その場合、別途集計用のシートなり、ピボットなりでまとめ直せばいいんじゃないの。


376 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 12:01:14
>>365
>>366
おまえらエスパーなの

377 :367:2009/11/22(日) 12:04:15
>>372
>>369の言うように、増減理由ごとに行を分けるとすれば、
上の例では(例えば製番がA01だとすると)
製番 3末残高 3‐4増減額 増減理由 4末残高 4−5増減額 …
A01 200万円 −200万円  転用   0万円
A01 200万円 −100万円  廃棄   0万円
ってことになるじゃないですか

あくまで元データは
A01 300万円  −300万円      300万円
と表示するよう指示されているんです(増減理由は元データでは必ずしも表示しなくてもいい)
この元データに何らかの加工をして、プラスSUMIFか何かを使って「ついでに」増減理由別増減額のマトリックスを作りたいと言っているんです


378 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 12:10:54
>>377

例えばこうしろ。

年月 製番 数量 理由
200903 A01 1000 繰越
200904 A01 -200 他の製番への転用
200904 A01 -100 廃棄
200903 B02 800 繰越
200904 B02 -100 他の製番への転用
200904 B02 -50 廃棄


379 :378:2009/11/22(日) 12:20:02
>>377の例に合わせたデータにするとこうだな。

年月 製番 数量 理由
200903 A01 200 繰越
200904 A01 -200 転用
200904 A01 -100 廃棄

このデータからピボットテーブルで製番ごと理由ごとの「累計」を年月順に求めればいい。


380 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 12:38:30
>>367にそこまで求めるのは酷だな。理由別に列を増やすのがいちばんかもしれん

381 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 13:10:28
>>377
事務仕事で使う計算なんてほとんどがグループ別の集計。
頭の中にクロス集計のモデルを構築しておくとよい。
問題をそのモデルに当てはめることができれば簡単に解決できる。


382 :367:2009/11/22(日) 14:00:27
みなさんありがとうございます。
とりあえず僕が当初やりたいと思ってたことはできないみたいですねw
皆さんの意見を取り入れて、工夫していきたいと思います

383 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 14:43:15
素人がコテ使うってどうなの?

384 :パソコンぉリカバリーした:2009/11/22(日) 15:12:11
名前のとおりにリカバリーしたらEXCELやWORDが消えてしまった。

誰か助けて下さい

385 :パソコンぉリカバリーした:2009/11/22(日) 15:13:02
名前のとおりにリカバリーしたらEXCELやWORDが消えてしまった。

誰か助けて下さい

386 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 15:16:40
>>384
officeと書いてある箱が家のどっかに転がってると思うんで、
その箱の中からCD-R取り出して、インスコして下さい。


387 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 15:22:05
>>385
おちついてバックアップしておいたファイルを復元すればよろし。

388 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 15:49:17
初心者スレから誘導されて来ました。
Cドライブの空きが700MBを切ってきたので、OfficeXPをDドライブに入れようとしたら入れられませんでした。
HDDは1基で、C、Dとパーティションを切ってあり、Dドライブの空きは13.5GBです。
Cドライブ以外にはインストールできないのでしょうか?

【1 OSの種類         .】 WindowsXP Home
【2 Excelのバージョン   】 Excel2002(OfficeXP)

389 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 16:10:24
>>388
インストール先を通常CドライブのところをDドライブに変更してインストール
していけばいいかと。
インストール時に安易に”次へ→”をどんどん押さずに注意して確認しながら
変えていけば良いかと。

390 :389:2009/11/22(日) 16:16:18
ただ、出来ればアプリケーションとかはCドライブへ、データ類はDドライブ
へと(元々の使い方として)分けたほうが良いかと思う。

391 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 18:11:56
>>839
Dに変えるとインストールできないんです。
アプリはC、データはDにしてるんですが、どう工面してもCの空きが少なくてOfficeを入れ直そうかと思った次第です。

392 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 18:17:11
>>391
CドラのofficeをアンインストールしてからDドラに入れなおしても駄目?

393 :名無しさん@そうだ選挙にいこう:2009/11/22(日) 18:47:37
>>392
だめでした。
とりあえず、他のアプリを削除して空きを1.1GBにしました。

394 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 00:52:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】可

指定したフォルダ内のファイルを順次開いて、ファイル名がアンダースコア"_"で始まるものは
それを削除したファイル名に変え、そうでないものは上書き保存したい。

知りたいこと
1."_"を削除して保存するには?( _A001.xls を A001.xls で保存するには?)
2.フォルダ内から"_"で始まるファイルを削除するには?

C:\Data
 _A001.xls ←ファイル名を変えて保存
 _A002.xls ←ファイル名を変えて保存
 A003.xls  ←上書き保存

  ↓

C:\Data
 A001.xls
 A002.xls
 A003.xls
 _A001.xls ←削除する
 _A002.xls ←削除する

395 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 07:33:06
>>394
1 ファイル名からLeftとかで1文字切り出して"-"かどうか比較する
2 Killで削除してから新規ファイルとして保存する
3 それ以外はそのまま上書き保存

396 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 08:08:29
いちいち開かないでもリネームですむ話 
FlexibleRenamerとか便利よ

397 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 08:56:57
>_A001.xls ←ファイル名を変えて保存
ファイル名を変えるだけでなく
変更されたブックを保存+ファイル名の変更
ということか?

398 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 12:33:32
>>393
パーティションのサイズ変更してCの容量増やせば?
↓このソフトは英語だけどフリーで使える。(俺も使ってる)

http://www.forest.impress.co.jp/lib/sys/hardcust/defrag/easeuspart.html

英語わからなくても↓とかに手順書いてあったよ。

http://furi-sofuto.com/2008/12/easeus_2.html

あとはVectorや窓の杜で類似ソフトを探すとか。

399 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 16:17:26
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(ど素人)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】マクロ Excel 変数 コピー 複写 印刷 IF セルをコピー case 別Sheet
質問です。
「種類」、「品種」、「外観」、「値段」、「正否」の項目があり、
正否に○がついている行をSheet2の表に種類、品種、外観、値段を複写し、
複写し終わるとそのSheet2を印刷したいと考えています。
ネットでマクロを公開しているページをコピペしてみたりしたのですが、いざ実行するとエラー(?)
がでて実行どころではありませんでした。

以下がエクセルデータです。
ttp://proxy.f3.ymdb.yahoofs.jp/bc/4b0a330f_4dd7/bc/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8/test.xls?BC7njCLBPi.TN.1s

400 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 16:24:55
>>399
コードは?

401 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 16:44:19
初心者にはよい勉強教材だったけどさ・・・
もうちょっと素晴らしいコードは他の人で。
Sub test()
Dim wk1 As Worksheet, wk2 As Worksheet
Dim i As Long
Dim rr As Range
Set wk1 = Worksheets("sheet1")
Set wk2 = Worksheets("sheet2")
i = 3
For Each rr In wk1.Range("e2", wk1.Cells(wk1.Rows.Count, 5).End(xlUp))
If rr = "○" Then
rr.Offset(0, -4).Resize(1, 4).Copy
wk2.Cells(i, 2).PasteSpecial Paste:=xlPasteValues
i = i + 1
End If
Next rr
Application.CutCopyMode = False
wk2.PrintOut
End Sub

402 :394:2009/11/23(月) 16:48:13
>>396
いちいち開いて、全てのファイルを処理するんですが・・・

>>397
そういうことです。

一旦保存して削除するしかないですかね?

403 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 16:51:15
やべ、E列見てたw
このリクエストでは間違いではないけど、厳密にはA列見ないとだめだった
コードは書き直さないけど。

404 :399:2009/11/23(月) 16:55:37
>>400
すいません、2時間コードと格闘した末消してしまいました。

>>401
わざわざ作ってくださってありがとうございます。
今少し用事があり試せませんが、もし疑問があるときはまたご教示くださいm(--)m

405 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 16:56:42
数式のとちゅうで”E”がでてるくんだが
nnkr?


406 :399:2009/11/23(月) 16:57:44
>>403
For Each rr In wk1.Range("e2", wk1.Cells(wk1.Rows.Count, 5).End(xlUp))
ここのことでしょうか?

407 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 17:00:07
>>406 うん。間違いではないんだけどね。
やはりきちんとデータが入っている列を見たほうがいい。
ってことで、
For Each rr In wk1.Range("a2", wk1.Cells(wk1.Rows.Count, 1).End(xlUp))
If rr.Offset(, 4) = "○" Then
rr.Resize(1, 4).Copy

408 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 19:09:59
> 一旦保存して削除するしかないですかね?

それで良くね?ここまでの解答もらってる組み合わせで多分作れるじゃん頑張れ。

409 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 19:25:57
関数を使いたいのですが、本屋に行っていろいろ入門書を見ても、わかりません。
ヨドバシにいったら、ソースネクストが出しているエクセルの関数学習ソフトがあったんですが、
超ド初心者のわたしでも、わかるでしょうか?

OS:WinXP
バージョン:2003


410 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 19:47:10
>>409
まっ、とりあえずSUM関数と IF関数を使えるようになればいいよ。
その後面白くなって欲が出てきたら他の色んな関数覚えればいいんじゃないかな。

411 :複乳 ◆MeiY43UMr. :2009/11/23(月) 19:52:39
>>409
エクセル 関数
でgoogleで検索すればいくらでもサイト見つかるよ
↓は私が良く見るサイト
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html
後はやっぱり実務で使わないと覚えにくいカモ。帳簿でも作ってみては?

412 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 21:23:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 リネーム

フォルダ内に、社内01.doc〜社内47.docファイルがあります。
エクセルでファイル名(sheet1)とタイトルを管理していて
A1に 社内01   B1に 社内合理化委員会開催の通知書
A2に 社内02   B2に セールスマネジメント研修会開催の通知書

A47に 社内47  B47に ・・・・・・・・・・・・・・・・・・・・・・・・・・稟議書
という具合に管理しています。

私がやりたいのは、
@フォルダを見て、ファイル名から内容がわかるように
リネームをしたい 社内01.doc→社内01(社内合理化委員会開催の通知書).doc
できればVBAで

A エクセルからリンクを張りたいです(A1をクリックしたら)
社内01(社内合理化委員会開催の通知書).docが起動するように

どれも手作業でコツコツやればできますが、マクロやVBAでサクッとできたらいいなと考えています。
@Aは別々にできるようにしたいです。
ご教授お願いします

413 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 21:33:43
>>412
@の方はリネームソフト使った方がいいよ。使ったことないうちは敷居が高いかもしれないけれど一度使えばなんてことない。
Aはふくちちさんに任せるかw

414 :複乳 ◆MeiY43UMr. :2009/11/23(月) 22:56:05
>>412
先に2
C1=HYPERLINK(A1&B1&"doc.",A1&B1)
が楽だと思う。
VBAはマクロの記録で作ってみて。
無理で、どうしてもマクロがいいなら作ってみるけど

次は1↓。拡張子の表示をしておいた方がいいかもしれない。

Option Explicit
Dim gyo, i
Sub SEX()
gyo = Range("A10000").End(xlUp).Row
ChDir ThisWorkbook.Path

For i = 1 To gyo
On Error Resume Next
Name Cells(i, 1) & ".doc" As Cells(i, 1) & Cells(i, 2) & ".doc"
Next

End Sub




415 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 22:56:15
複乳ってなんだ?
おっぱい1個の人なんていねーぞ?

416 :394:2009/11/23(月) 23:25:08
>>408
完成しました。
アドバイスありがとうございました。

417 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 23:28:34
>>416
おーそれはよかったよかった。
ここ来てる人でおみやいりな人わりといるから気になるのよね。

418 :名無しさん@そうだ選挙にいこう:2009/11/23(月) 23:28:43
たぶん副乳って書きたかったんだろ
おれのわきばらにもある

419 :412:2009/11/23(月) 23:49:30
>>414
ありがとうございます
これから作成します

420 :412:2009/11/24(火) 01:55:19
>>414
できました ありがとうございます
@
ひとまず関数をぶち込んだだけですけど各関数の意味を調べます。
Aについては
C1に作業列?を作る方がらくですね  doc. →.doc の試練がありました
余力ができたらVBAも作ってみます 

421 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 02:59:59
会社で使うマクロなんですが、ある特定の人しか動作しない仕掛は作れますか?


422 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 03:20:52
>>421
パスワードでも設定しとけ
そいつだけに教えればいい

423 :複乳 ◆MeiY43UMr. :2009/11/24(火) 08:00:03
>>420
お、気づいたか
完全にミスしてただけなんだけどね。ハハハ
Cり作業列も言い忘れてたよごめんよー

424 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 08:14:36
>>421
指紋センサーつければよい

425 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 13:43:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

回数 (回数から計算した)データ
1  10
2  15
3  20
4  25
5  30
6  25
7  20
8  15
9  10
10  5

このような形のデータから、「データが最大になる回数」を別のセルに表示させたいです。
このデータの例で言うと、

最適回数 5
最大値  30

といった感じです。
最大値の方はMaxを使って簡単に出来たのですが、それに対応する回数を出力させる方法がわかりません。
ちょうどいい関数等がありましたら教えてください。

426 :複乳:2009/11/24(火) 14:13:51
>>425
=INDEX(a1:a100,MATCH(MAX(B:B),B:B,0))
列をコピーしてvlookupや、offset、indirectでもできる気がする
あとは=IF(COUNTIF(B:B,MAX(B:B))>1,"最大値複数アリ")
などで最大値が複数ある状態に対応してみるのもいいかもしれない


427 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 14:14:57
>>426
ありがとうございます、試してみます。

428 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 20:04:25
>>421
IPアドレスで弾くw
見た目は使えるのに、最後の最後でエラー出してメッセージを出すとかやってるよw

429 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 20:38:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ちょっとだけ
【4 VBAでの回答の可否】 可

A列に連番、B〜E列にはBook1からのデータをコピペ、F〜I列にはBook2からの
データをコピペして、名前順に並べてあります。

 A   B       F
 1  ABC       ABC
 2  BCD       CDE
 3  DEF     DEF
 4  FGH     EFG
 5  GHJ     FGH

これをB列とF列の文字が隣り合うようにするには、どうすればいいですか?

 A   B       F
 1  ABC     ABC
 2  BCD
 3          CDE
 4  DEF      DEF
 5          EFG
 6  FGH      FGH
 7  GHJ

430 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 22:59:04
>>429
概念的には一度B列とF列を一緒にしてからそれを元に各B,F列へ振り分け
る方法が良いかと。

431 :429:2009/11/24(火) 23:06:51
>>430
省略して書いたので誤解されてるようですが、データはB列とF列だけではなく、
B〜E列とF〜I列がそれぞれ1行ずつの塊になっています。

432 :430:2009/11/24(火) 23:20:12
ちょっと漠然として判りにくかったかも。
1、まずBデータとFデータをどこか一つの列に一緒に入力(コピペでいいよ。)
2、1デ入力した値で重複するデータをなくす。
3、2を元に>>429下図のように合致するデータを各行をあわせてB列および
  F列に抽出する。

433 :430:2009/11/24(火) 23:32:17
>>431
ご指摘の”一連の塊”についてはLOOKUP関数で対応できます。

434 :名無しさん@そうだ選挙にいこう:2009/11/24(火) 23:40:30

質問です。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 (ヘルプでの)検索キーワード】検索

表1として
日付 単価 金額
20090101 1500 15000
20090101 2000 24000
20090105 1500 4500
20090110 1550 1550

というのがあります。
これを別表に
20090101をA1に入れると
A2〜A3に表1の20090101の単価を昇順に、
対応する金額をB2〜B3に入れるようにしたいのです。

VLOOKUPやDSUMなど使おうとしましたがうまく行きません。

よろしくお願いいたします。

435 :429:2009/11/24(火) 23:55:12
>>432
やっぱり勘違いされてますね。
重複したデータを削除してはいけません。
小出しするつもりはないですが、B〜E列のデータとF〜I列のデータを比較したいんです。
429の例でいうと、それぞれのデータ行に増減があり、B列とF列をキーにして
両者を同一行で比較したい。

436 :430:2009/11/25(水) 00:07:22
>>435
言葉足らずですみません。
>>432の2、1デ入力した値で重複するデータをなくす〜というのは二つのうち
一つ消す(または統合して一つに絞る)という意味で書きました。重複データを
全部消してしまうという意味ではありません。

437 :429:2009/11/25(水) 00:45:02
>>436
何度も書かせて頂きますが、1つでもデータを削除してはいけません。
「比較」って意味が分りますか?

438 :430:2009/11/25(水) 01:01:09
>>437
あのですね、>>429の中でいうとABCというのがB列とF列にそれぞれ一つずつ
あるでしょ、>>432の2ではそれを”一つのキーワード”として使用するための
方策として二つあると不便なのでその”キーワード”ごとにまとめようという
ことなのです。
そして3ではそれを再度B列とF列(と各その関連する塊)へ>>429下図のような
形へと再配列させて容易に「比較」出来るようにしようって話です。
結果、あなたが心配なさるような”削除”ではないのでご心配なく。

439 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 08:44:57
>429

Sub macro()

Dim i As Long
Dim value1 As Integer
Dim value2 As Integer

i = 1

Do

If Cells(i, 2) = "" Or Cells(i, 6) = "" Then Exit Do

value1 = Asc(Left(Cells(i, 2), 1))
value2 = Asc(Left(Cells(i, 6), 1))

If value1 < value2 Then Cells(i, 6).Insert Shift:=xlDown
If value1 > value2 Then Cells(i, 2).Insert Shift:=xlDown

i = i + 1
Cells(i, 1) = i

Loop

End Sub

440 :複乳:2009/11/25(水) 09:08:36
>>434
コピーして並び替え
VBAならそれをマクロの記録
関数はめんどい

441 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 10:57:41
セルA1 に "A"(太字、赤色)
セルB1 に "B"(斜字、青色)
とあって、C1 に =A1&B1 とすると "AB" と表示されますが、
この時、色等の属性もそのまま結合することは可能ですか?(C1"AB"の"A"は太赤・"B"は斜青になる)

442 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 11:14:10
>>441
マクロでやるしかないと思う。
http://okwave.jp/qa1547388.html

443 :441:2009/11/25(水) 12:32:52
>>442
素早い回答ありがとうございます!

444 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 13:06:05
>>440
回答ありがとうございます。

そんなに難しいものだったのですか。
自分なんかの手に負えるものじゃなかったんですね。

諦めて手作業で頑張ります。

445 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 14:18:20
>>444
マクロの記録覚えて全自動化すればいいよ

446 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 16:42:49
=A1
=A2
=A3
=A4
・・・
と入力した行があるとして、
ドラッグして2行目と3行目を入れ替えると
=A1
=A3
=A2
=A4
・・・
のように数式も変わってしまうのですが、
数式はそのまま維持するように移動することはできないのでしょうか?

447 :複乳:2009/11/25(水) 16:55:07
>>446
移動させたらそうなる仕様だからねぇ

もしフォントなどの書式だけ移動させたいなら、
コピーしてはり付けするときに右クリックで「形式を〜」で書式を選択すると良い

もし参照してるところを変えたくないというなら
=A1〜=A4を全て
=INDIRECT("a"&ROW())
に変えると変わらないといえば変わらない

448 :446:2009/11/25(水) 17:30:31
>>447
ありがとうございます。
関数で工夫するしかないんですね。

449 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 17:45:30
WinXP、エクセル2002です。

http://grad.ps.land.to/exl.jpg
こんな風に、マウスカーソルを合わせると
コメントが画面からはみ出てしまうのですが
画面内に表示させるにはどうすれば良いのでしょうか?

450 :複乳:2009/11/25(水) 17:48:06
>>449
>>322

451 :449:2009/11/25(水) 18:25:14
>>450 ありがとうございます

やってみましたがうまく出来ませんでした。

1.新規でエクセルを開いて、コメントを作成しました。
 http://grad.ps.land.to/ex2.jpg

2.>>322 のマクロのTrueの部分をFalseに変更してマクロを実行する

3. http://grad.ps.land.to/ex3.jpg
 このようになるだけです。フォントの色と、大きさ、コメントの枠の大きさも
 無効になっただけでした。 何か操作がまずいのでしょうか?

色や大きさも有効にしたいです。 よろしくお願い致します m(_ _)m

452 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 19:45:01
質問です。

他ブックのパスを指定する時、例えばそのファイル名が

[社員コード][社員名].xls だった場合、

[社員コード]を変数にし、[社員名]は無視してパスを指定したいです。

そのようなことは可能でしょうか??

453 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 20:05:24
>452

用語の使い方が変なのでよく分からんが多分可能。

454 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 20:26:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 たぶん
【4 VBAでの回答の可否】 可

CDR1
CD-R1
CDR2
CD-R2
CD-R3
CD-R4

これを並び替えると

CD-R1
CD-R2
CDR2
CD-R4
CDR1
CD-R3

になりますが

CDR1
CDR2
CD-R1
CD-R2
CD-R3
CD-R4

のようにするにはどうすればいいですか?
データは5000行くらいあります

455 :複乳 ◆MeiY43UMr. :2009/11/25(水) 20:27:13
>>451
ふと思ったんだけど、データ→入力規則→入力時メッセージはダメかな?
似たような機能なんだけど

どうしてもコメントをマクロで固定させたいなら、解説を図で作ってみた。きっと分かりにくいだろう
ttp://www1.axfc.net/uploader/File/so/34855.jpg
ttp://www1.axfc.net/uploader/File/so/34856.jpg
ttp://www1.axfc.net/uploader/File/so/34857.jpg
そして作ってから気づいた
ファイル上げた方が早かったな
ttp://www1.axfc.net/uploader/File/so/34858.xls

マクロの登録が無理だったら下のファイルを使ってみてくれ
それでも無理なら諦めてくれ。基本的にできないことをしようとしているのでな
>>452
indirectを使う
B1に[社員コード]。社員コードは数字だけだよね?カギカッコ勝手に抜いちゃったけど
=INDIRECT("["B1&"][社員名].xls]Sheet1!$A$1")


456 :452:2009/11/25(水) 20:35:24
ごめんなさい何か質問の仕方が悪かったみたいですね。。。

簡単に言うと、ファイル名に特定の文字列が入っているファイルを、
VBAで開きたいんです><

457 :名無しさん@そうだ選挙にいこう:2009/11/25(水) 20:39:28
>454

置換すれば?

458 :複乳 ◆MeiY43UMr. :2009/11/25(水) 20:40:14
>>454
B1=(MID(A1,3,1)="-")*1
でB列で並び替えると上半分にハイフンありが集まるのでグループで分けた後、
コピーしてはりつけとか
>>456
どこにも開けるなんて書いてないじゃないか><。。。
つーか普通に&で結合すればok

Sub Macro4()
Dim sine
sine = "[社員コード]"
Workbooks.Open Filename:=sine & "a.xls"
End Sub


459 :452:2009/11/25(水) 20:43:36
sine....死ね・・・(;ω;)

460 :複乳 ◆MeiY43UMr. :2009/11/25(水) 20:44:52
shineのうち間違いだよきっとそうだよハハハ

461 :454:2009/11/25(水) 20:50:05
>>458
簡単にできました
ありがとうございます

462 :429:2009/11/25(水) 23:57:57
>>439
ありがとうございます。
If value1 < value2 Then Range(Cells(i, 6), Cells(i, 9)).Insert Shift:=xlDown
If value1 > value2 Then Range(Cells(i, 2), Cells(i, 5)).Insert Shift:=xlDown
これで思い通りになりました。

463 :名無しさん@そうだ選挙にいこう:2009/11/26(木) 07:52:02
SUBPRODUCTで、3つの条件を指定しても
ちゃんと全ての条件を満たす行数をカウントして
くれないんですが、原因として考えられるのは
何でしょうか?


464 :複乳 ◆MeiY43UMr. :2009/11/26(木) 07:58:43
数式が間違っている

465 :名無しさん@そうだ選挙にいこう:2009/11/26(木) 08:41:26
SUBPRODUCTって何?

466 :複乳:2009/11/26(木) 12:18:44
入力間違い若しくはユーザー定義関数でしょう

467 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 09:35:54
windowsXPです
エクセル2003以前の物を安く購入したいのですが、どこかに打ってませんか?
PCショップ回ってみましたが2007しかありませんでした
あとPCソフトって型落品が安く売られるってことはほとんど無いんでしょうかね?
サブ機用に98か2000辺りを入れたかったのですが、これも売ってませんでしたし

468 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 11:15:01
>467
中古PC(メーカー製)を探したらどうですか?
たいていOfficeもバンドルしてあるので、リカバリCDの中にもOfficeが含まれている場合が
多いと思う。
ただし、中古PCショップがOSだけ独自に再インストールして、K-Officeを入れてる場合も
あるから要注意。

469 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 11:55:14
>>468
なるほど、そんな手もありますね
ありがとうございます

470 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 14:42:16
アホか
バンドル品はそのハードウェアとのセット商品だ
えらそうに犯罪の手口教えてんじゃねーよ糞が

471 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 22:59:29
マクロでChDirを実行したあと、元のディレクトリへ戻すにはどうすればいいですか?
例えば、元のディレクトリが C:\新垣結衣 になってるとき、マクロで ChDir C:\綾瀬はるか に変えたら、
C:\新垣結衣 に戻したい。

ChDir C:\新垣結衣 と書くのではなく、アクティブになってたディレクトリ名 "C:\新垣結衣" を
導く方法を教えてくださいです。

472 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 23:00:42
>>471
カレントディレクトリを変数に保存しとく

473 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 23:36:05
>>472
いや、だからその方法を知りたいんだけど・・・

474 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 23:53:24
誰か助けてくれ(´・ω・`)
Win XP Execel2003 環境なんだが
ハイパーリンクをオートフィルさせたときにリンク先も
01.xls → 02.xls → 03.xls → ・・・ とさせたいんだ
普通にオートフィルさせると表示名だけが01→02→03…となるだけだよな…

リンク先は別のExcelのファイル。
項目が5000近くあるから手打ちじゃいつまでもおわらん(´・ω・`)
それでできるのかも知らんがマクロは使わない方向で頼む(´・ω・`)

誰か助けてくれ…(´・ω・`)

475 :名無しさん@そうだ選挙にいこう:2009/11/27(金) 23:54:04
>>473
VBAだったら↓みたいになるけど・・・

Dim a As String

a = CurDir

ChDir "C:\綾瀬はるか"

ChDir a

476 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 00:00:08
>>475
即レス、ありがd!!

477 :複乳 ◆MeiY43UMr. :2009/11/28(土) 02:30:13
>>474
=HYPERLINK(ROW()&".xls","名前")

A1に設定すれば同じフォルダの1.xlsが開くはず(01.xlsではない)
別のエクセルファイルが同じフォルダならこう
後はファイルの数字がどういう風な規則かによるね
最初と最後のファイル名、あとフォルダ名教えてくれればもう少し詳しく解説する
ついでにいうと私は関数以外の設定でVBAを使わない方法は知らない


478 :474:2009/11/28(土) 03:36:50
複乳氏 すまねぇ、ほんと助かる(´・ω・`)

リンクさせたいxlsファイルは別フォルダにあるんだ
その別フォルダには001.xls〜999.xlsって名前で999個リンクさせたいファイルを用意してある
フォルダ名は"TEST01"フォルダの場所は
C:\Documents and Settings\ユーザー名\デスクトップ\TEST01 ここに置いてある

最初の書き込みからずっとググルだの別関数の応用でなんとかなるか?と試してるが
まったく解決の糸口が見つからん(´・ω・`)

なにとぞよろしく頼む(´・ω・`)

479 :複乳 ◆MeiY43UMr. :2009/11/28(土) 09:46:05
>>478
A1=HYPERLINK("C:\Documents and Settings\名前\デスクトップ\test01\"&TEXT(ROW(),"000")&".xls",TEXT(ROW(),"000"))
下にオートフィル

480 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 14:37:51
>>472-473
いい流れだw

481 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 14:51:51
if関数で結果が
trueの場合もfalseの場合も返り値を文字列で指定。

数式の結果が文字列、AとかBとかC、で表示されているにもかかわらず
「0」ってセルに表示される。

なぜだ?

if関数のネストは7以下、
ただしcountifを多用してるのでそれらを合わせると「if」の数は20ぐらい。

原因を見つけ出す方法内かな?

482 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 14:57:57
>>481
とりあえず式を分解。それしかねーべ

483 :複乳 ◆MeiY43UMr. :2009/11/28(土) 15:18:28
>>481
ファイルアップロードするか数式みせてもらえれば見るよ。暇で死にそうだ
書式設定で「"0";"0";"0";"0"」になってれば何入力しても強制的に0を表示させることはできるけど
そんなことはしてないよねぇ

484 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 16:03:24
>>483
笑わせんでくれ

485 :481:2009/11/28(土) 16:03:40
>>482
>>とりあえず式を分解。

だよな。

>>483
>>そんなことはしてないよねぇ

してねぇ〜。

>>暇で死にそうだ

Excel職場なんだ。それに苦手なWindowsだし、バージョンも興味ないし、、、
家のはMac2008、OS共に英語仕様。
月曜日以降暇だったら見てよ、おねがい。

486 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 17:47:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 集計

よろしくお願いします

時刻        売上
1月1日01:00    10
1月1日02:00    10
1月1日03:00    20
1月1日04:00    30
1月1日05:00    10
1月1日06:00    20



のように1時間ごとに集計した表を
以下のように3時間ごとに集計するにはどうすれば良いですか?
1月1日01:00    40
1月1日04:00    60





487 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 18:03:45
=CEILING(A1,"3:00")で3時間ごとに区切ってからピボットとかDB関数とかで適当に集計

488 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 18:21:23
ありがとうございます。
=CEILING(A1,"3:00")で3時間ごとに区切った後の集計の方法を
詳しく教えてください。
よろしくお願いします。

489 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 18:33:52
ピボット使えよ、ピ ボ ッ ト !

490 :487:2009/11/28(土) 20:36:54
データーが多いので関数の方がいいと思うのですがどうでしょうか?

491 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 20:46:53
好きにしてください

492 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 20:52:38
>>490
なんでデータが多いと関数がいいと思ったの?


493 :487:2009/11/28(土) 20:56:39
関数の方がコピーが使えるからなんですが違いますか?
初歩的な質問ですみません。

494 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 21:13:20
>>493
ほんとに初歩的だね。
たくさんのデータを取り扱う方法はいろいろあるよ。
ところであなたは>>487なの?

495 :486:2009/11/28(土) 21:22:47
間違えました。すみません。
関数で集計するなら、何を使えば良いですか?
よろしくお願いします。

496 :複乳 ◆MeiY43UMr. :2009/11/28(土) 21:40:23
>>495
C2=ROUND(CEILING(A1,"3:00"),5)
D2=IF(MOD(ROW(),3)=2,SUMIF(C:C,C2,B:B),"")
でc1d1選択して下にオートフィルでD列でオートフィルタで「空白以外」

497 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 22:05:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

数式の質問です。
C、E、G、I、K、M、O列に数値、D、F、H、J、L、N、P列に日付、Q列にC〜O列の合計、
R、T、V、X、Z、AB、AD列に数値、S、U、W、Y、AA、AC、AE列に日付、AF列にR〜AD列の合計、
AG、AI、AK、AM列に数値、AH、AJ、AL、AN列に日付、AO列にAG〜AM列の合計+
C〜O列の合計+R〜AD列の合計をしたいですが、次の3つをもっと簡素な書き方で出来ますか?

1.C〜O列の合計
2.R〜AD列の合計
3.AG〜AM列の合計+C〜O列の合計+R〜AD列の合計

今は、単にセルを足して=C1+E1+G1+I1+K1+M1+O1と書いてます。
よろしく御願いします。

498 :497:2009/11/28(土) 22:08:30
すいません。訂正です。

1.C〜O列にある数値の合計
2.R〜AD列にある数値の合計
3.AG〜AM列にある数値の合計+C〜O列にある数値の合計+R〜AD列にある数値の合計

499 :486:2009/11/28(土) 22:10:11
ありがとうございます。助かりました。

500 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 22:12:07
>>497
=SUM(C1:O1)

501 :複乳 ◆MeiY43UMr. :2009/11/28(土) 22:35:47
>>497
1
=SUMPRODUCT((C1:O1)*(MOD(COLUMN(C1:O1),2)=1))
2
=SUMPRODUCT((R1:AD1)*(MOD(COLUMN(R1:AD1),2)=0))
AG-AM
=SUMPRODUCT((AG1:AM1)*(MOD(COLUMN(AG1:AM1),2)=1))
3はこれらを全て足す
後付け加えると、表の構成が多分悪い
日付はA列数値をB列にして縦に並べるのが、良い

502 :486:2009/11/28(土) 22:38:00
もう一つ教えていただきたいのですが、
3時間ごとの最大値を関数で求めるにはどうすれば良いですか?
よろしくお願いします。

503 :複乳 ◆MeiY43UMr. :2009/11/28(土) 22:42:51
>>502
max関数

504 :486:2009/11/28(土) 22:53:32
IF(MOD(ROW(),3)=2,max(C:C,C2,B:B),"")
では上手くいきません。
どのようにすれば良いですか?

505 :複乳 ◆MeiY43UMr. :2009/11/28(土) 22:59:53
>>504
D2=IF(MOD(ROW(),3)=2,max(c2:c4),"")
と思う。試してないけど。範囲を絞ればok

506 :486:2009/11/28(土) 23:18:32
すみません。
「MOD(ROW(),3)=2」の2は
例えば6時間ごとの集計でも変えなくても大丈夫ですか?
たびたびすみません。


507 :497:2009/11/28(土) 23:19:04
>>501
ありがとうございます。
表の構成は、価格(数値)を支払う予定日を添えてるので、日付をA列B列に書けばいい訳ではありません。

508 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 23:22:49
>>486
もうピボットテーブルにしちゃいなよ。


509 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 23:23:23
>>500
アフォすぐる・・・www

510 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 23:26:16
>>507
またでた。
「表の構成は変えられません。その理由は…。」
この手でしっかりした理由のあるやつ見たことない。

511 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 23:29:05
500=510
アフォすぐるwwwwww

512 :複乳 ◆MeiY43UMr. :2009/11/28(土) 23:30:04
>>506
その数式の意味は「その数式が入ってる行の数字を3でわったあまりが2」
つまり2・5・8行目が対象になる
後は自分で考えてくれ
あと>>508は俺も同意。
今回は終わってからでいいから、ピボットでもできるようになっておいたほうがいい

>>507
支払う予定日等が横に18セットもあるのか。大変だな
まぁ、苦労するのは俺じゃないからいいんだけどさぁ

513 :名無しさん@そうだ選挙にいこう:2009/11/28(土) 23:30:46
>>506
数値を変えてみてどう変化観察してみてください。関数を理解する一歩です。

514 :486:2009/11/28(土) 23:34:42
お世話になりました。勉強します。

515 :497:2009/11/28(土) 23:55:13
>>512
横に18セット、縦に312セット*12シートあります。
前任者が作ったのは、312シートでマトリクス状になってたものが12のブックに分かれてました。
苦労してます。

516 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 08:02:53
使いやすいテーブル作れってのはよく見るけれど
現実にはわけのわからんフォーマット作るやつが山のようにいるわけでさ、


糞ブック相手に苦労して作業するうちいらんExcelの知識がたまるんだよなー

517 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 08:44:33
ピボットテーブル語れる人はsumproductなんて低級なもの教えちゃダメじゃね?

518 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 09:13:56
同一の問題の解決法を複数出せるのが上級者。
「3×5」でも「3+3+3+3+3」でも要は問題が解決できればいいんだし、
相手のレベルに合ったものを教えられる。

519 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 10:25:25
>>518
そういうことなら初心者にとっても上級者にとっても
ピボットテーブルを使うほうがおすすめだな。
使うの簡単だし、強力だし。

SUMPRODUCT, ROW, INDEX, 配列数式は上級者向きかつ非力。


520 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 10:41:11
えっ

その程度で上級者向き

521 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 10:43:32
>>520
うん。世間じゃ簡単なことにされてると思うけど、ピボットよりは難しい概念だと思うよ。


522 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 12:15:46
SUMPRODUCTとか配列数式は典型的な初級者向けだと思うが。
でも勘違いしてるやつ多いんだよな。

523 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 12:20:51
>>522
初級者向けじゃねーだろ?
そんなもの素人に教えちゃいかんよ。
馬鹿が増えるばっかだ。

524 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 12:43:41
SUMPRODUCT使わなくてもSUMIFとかCOUNTIFを組み合わせれば出来る事が多いし、
作業列使えば解決する事が多いし。
やっぱり初級者向けじゃないと思う。

525 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 13:22:07
>>524
初心者にはSUMIFとCOUNTIFすら教えるべきじゃないと私は思ってる。
こんな貧弱な機能を先に教えてしまうから、もっと豊かな世界を知ろうとしなくなるんじゃないかな。

526 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 13:26:23
>>516

> 糞ブック相手に苦労して作業するうちいらんExcelの知識がたまるんだよなー
その通りだ。必要ない。
つまらないことは知らなくていいんだ。

527 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 13:39:09
>>515
>横に18セット、縦に312セット*12シートあります。
>苦労してます。

君と同じような苦労を世界中の人がやってると思う?
そんな問題は何十年も前に解決されているよ。
たまたま日本はIT後進国だから君みたいな苦労してる人が多いけどね。

528 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 14:02:51
そうやって横やらシートやらに展開しないで全部縦に並べて1次元で処理すればいんだよ
世の中のデータベースってのはそういうことになってる。それがいちばん簡単で確実だから。

529 :複乳 ◆MeiY43UMr. :2009/11/29(日) 14:29:55
>>517
そうは言うても質問者が関数で教えてくれって言ってたからな
>>519
には同意。でも会社の帳票などの問題で使わざるを得ない

あとそろそろデータベースソフトは中小に広まって欲しい
いつまでエクセルでやり続けるのか

530 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 15:01:34
しかしOfficeにAccessまでもが入ってたのは97までだよね?
つまり需要がないってことか・・・
別途何万も出して買うのはきつい。

531 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 15:05:44
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2002 SP3
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 画像 図形の調整 位置合わせ 正確

貼り付けた画像をセルの枠線に合わせたくて、図形描画→図形の調整→位置合わせ→グリッド
をオンにしてみたんですが、どうも微妙にズレます。これは仕様なのでしょうか?
また、他に枠線に合わせる方法はありませんか?

532 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 15:16:52
>>531
Alt押しながら動かしてみたら

533 :複乳 ◆MeiY43UMr. :2009/11/29(日) 15:18:22
>>530
今もpro版か何かの上位版なら付いてくるはず。高いけど。
OOoのBase使うのが一番いいんじゃないかな

534 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 15:21:29
>>532
それは位置合わせONにするのと同じ

535 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 15:29:33
1週間前まで、全く問題なく開くことができた、Excel2003で作成した
ピボットテーブルを使ったファイルを、同じくExcel2003で(winXPのPC)
開こうとすると、左下の部分に「ピボットテーブル レポートの集計中」
と出てくる所でエラーが出てきて開けません。

次にドキュメント回復の画面になって、画面左側の分割された
「ドキュメントの回復」画面に、赤い!マークのついた、赤く「修復済み」
と書かれたファイルが出てくるので、それを開こうとすると、同じく
「ピボットテーブル レポートの集計中」の所でエラーにまたなってしまい、
同じことの繰り返しになってしまいます。

ピボットテーブルが何かおかしいのでしょうが、どういった対処をすれば
よいのでしょうか?
ちなみに、他の複数のPCで試してみても開かず、以前、正常に開いた前の
バージョンのファイルに復元しても、開かず、自動バックアップを停止して
開いてみても開かず、ほとほと困っております。
どうぞよろしくお願いいたします。

536 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 15:31:24
再度ピボットテーブルをつくりなおしてみてはどうかね

537 :複乳 ◆MeiY43UMr. :2009/11/29(日) 15:33:17
>>535
ファイルのどこかが壊れてるんじゃないかなぁ
新規ファイルにシートの内容をコピーした方がいいかも
ピボットも作り直したほうが良さそう

538 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 17:14:47
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

クラス 生徒 担当 成績 点数
A1  山田 加藤 2位 98
A1  米沢 加藤 3位 97
A1  増田 岡田 1位 99
B1  佐藤 加藤 7位 88
B1  武田 岡田 4位 90
B1  中川 岡田 5位 89


↑のような票が続いているシートAがあるのですが
シートBでクラスと生徒と担当を入力して全てが一致すると
成績と点数が出るようにするにはどうすればいいでしょうか?
VLOOKUPを使ったのですが条件が1個ならできたのですが複数になるとできませんでした。
お力お貸しください。


539 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 17:22:33
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】

質問です。
1行目にA列から順番にデータ(数値)が100個並んでるとします。(CV列まで)
B1に1から100の任意の数値を入力した場合にC1にその合計値を表示したいのですが、教えて下さい。
例えばB1に「10」と入力した場合はsum(A1:J1)を表示したいという事です。
よろしくお願い致します。


540 :539:2009/11/29(日) 17:24:27
(訂正)
B1に1から100の任意の数値を入力した場合にC1にその合計値を表示したいのですが、教えて下さい。
↓↓↓
B1に1から100の任意の数値を入力した場合にC1にその列までの合計値を表示したいのですが、教えて下さい。


541 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 17:33:13
>537
一応、ビューアーでは開けたので、必要なデータの抽出をして、
新規ファイルにコピーできました。ありがとうございました。

ビューアー使わないと、新規ファイル開こうにも、コピーしようにも、
強制終了→エラーのループになってしまって、全く操作ができない状態でした。



542 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 17:43:59
>>540
B1って計算される数字が入ってるんじゃないの。
B1→A2で読みかえるけど
=SUM(A1:OFFSET(A1,0,A2-1))

543 :複乳 ◆MeiY43UMr. :2009/11/29(日) 17:44:59
>>538
ピボットテーブルか。私はうまく使えないんだが
範囲を選択してピボットテーブル
「ここにページのフィールドをドラッグ」というところに担当とクラス
「行の〜」に生徒、「データアイテム」に点数
その後に担当とクラス選べばいいんじゃないかなぁ

じゃなきゃシートごとコピーしてオートフィルタか
オートフィルタ使った後の集計はsubtotal関数が使える

>>539
入力と出力は別にする。じゃなきゃ循環参照になって色々問題が発生しやすい
例だと2.3行目に出力、4行目に入力が見安いかね

A2=if(A4="",a1,a4)
A3=SUM($A$2:A2)
これをCV列までオートフィル。新しい数字は4行目で入力する
ほんの一例なので、好きなように変えておくれ


544 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 17:55:42
>>539
B1に任意の入力、C1に合計値、で、集計参照範囲はA1:CV1って無茶苦茶だな。

545 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 18:01:26
>>538
クラス 生徒 担当を&で結合した値をどこかの列にいれておいて、そこでVLOOKUP

546 :複乳 ◆MeiY43UMr. :2009/11/29(日) 18:10:00
>>545
それ考えたけど、一人しか引っかからなくね?普通教室には何人も生徒がいるもんじゃね?
と思ったけど家庭教師みたいなマンツーマンかもしれないな

547 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 18:33:47
そうですマンツーマンの資料です。
ありがとうございます。


548 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 18:45:40
>>538
ピボットテーブルで結構使い勝手よさそうなのは出来たけど・・・
担当・クラスをプルダウンで選ぶと生徒のランク(成績)と点数が出る、みたいな。

ランクは「位」をはずして数値にすれば使える

549 :名無しさん@そうだ選挙にいこう:2009/11/29(日) 18:57:31
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】
散布図グラフを作成して誤差棒を付けたいのですが、誤差範囲を『各値の標準対数の平方根』とすることは出来ないんでしょうか?

550 :複乳 ◆MeiY43UMr. :2009/11/29(日) 18:58:51
>>547
ナンテコッタ。じゃあ>>545が一番いいと思う

551 :539:2009/11/29(日) 20:43:39
>>542
>>544
ご指摘の通り「B1→A2」「C1→A3」の間違いです。
>>542
間違いをくみ取って解決していただきました。
ありがとう御座いました。



552 :481=485:2009/11/30(月) 00:26:37
酒は抜けたけどデートの予定もない、けだるい日曜の午後、
100%は面倒だけど10%位再現してみた。

1) }if関数とcountif関数の入ったセルを作る、式にエラーはない。
2} そのセルを元に隣接する複数セルに式をコピーする、循環エラー。

コピーされたセルはそれら各々の1部セルを参照している。

3} 元セルを修正、循環エラーも解決した、つ、も、り。
4} 返り値を文字列で指定しているにもかかわらずその元セル表示は数字の「0」、と変化。

ところが2)でコピーしたセル表示は元の文字列のまま、なんらか変化するはずなのに。
ここで分かった。
循環エラーは解決していない、当たり前だ、元セル以外は2)でコピーしたままだから。

だから、計算はされず元セル表示は、「0」。
そして、2}でコピーしたセルは再計算されずそのまま表示。

な〜〜〜んだ、猿にも分かるエラーじゃないか。

ぬりがとう、みんな。
もちょっと精進するわ、100%マメになるわ。
女に。

553 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 12:09:16
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vba の勉強をしたいのですが、本を買ったほうが良いですか?

554 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 12:12:29
>2・B

555 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 12:18:15
>>553
時間があるなら、ここで半年ROM

556 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 12:26:33
>>555
ありがとうございました

557 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 13:00:07
EXCEL2007ってよく画面乱れない?

558 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 13:45:27
PCのスペックが足りてないんじゃないでしょうか

559 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 14:41:07
Winxp SP3/C2D E7200/4GB RAM/500GB HDD/UXGA+SXGA2画面表示です
なんか、リソース枯渇の時に起こるようなコントロールの乱れ(メニューバー、リボン、その他いろんな物が乱れて消失)
が結構な頻度で起きるんだよね
2画面表示しているからだろうかなぁ
WORDやパワポでは起こらない
バグフィックスもないから一般的な問題ではないということなんだろうけど

とりあえず、TrueType切ってみる

560 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 16:22:44
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 コピペなら
【4 VBAでの回答の可否】
【5 検索キーワード     】 数値 置き換え

日付を含んだデータが送られてきたのですが
データ形式が 月/日/年 という形なのでソートが不便です
これを 年月日 というデータにするにはどうしたらいいでしょうか

03/05/07 ああああ
10/02/08 いいいい
11/30/09 ううううう

↓こうしたい

070305 ああああ
081002 いいいい
091130 ううううう

よろしくおねがいします

561 :複乳:2009/11/30(月) 16:38:18
>>559
スペックは十分ぽいね
OSごとインストールされてみては


562 :複乳:2009/11/30(月) 16:42:18
>>560
元のデータがシリアル値でそうなってるのか文字列なのかで変わってくる

シリアル値の場合
書式設定でユーザー書式「yymmdd」

元のデータがもういう文字列の場合
=MID(A1,7,2)&MID(A1,1,2)&MID(A1,4,2)

シリアル値が分からん買ったら両方試してください

563 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 17:59:12
>>561
それはちょっと・・・・

経験上、ひとつのブックに多数のシートを作成し、シート間でリンクを張っていくとおかしくなってきます
グラフの数も問題かも
それほど大量データを扱っているわけでもないのですけどね
ファイルサイズもxlsxで160 KBぐらいしかないですし

今は、おかしくなったらそのつどEXCEL立ち上げ直してごまかしてます
EXCEL 2003以前では全くおかしくならないんですけどね
これが2007の残念なところ
プラグインとかの外的問題なんだろうか・・・・

564 :複乳:2009/11/30(月) 18:50:02
そういやゴミとして残ってるtempファイルを消せば不具合が解消されるかも
じゃなきゃ2003形式のxlsファイルで作業してみるか
excelのアプリケーション自体がぶっ壊れてるならエクセル再インストール
APIがおかしいならOSごと再インストール


565 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 22:23:11
突然ですが、懐かしい画像

昔のエクセル
http://www-accps.kek.jp/staff/MR-Group/FastLoss/loss/ekuseru1.jpg

今のエクセル
http://okirakukoubou.com/office/excel//sample-image/macro-vba/security2007/2007_security-102.jpg


566 :名無しさん@そうだ選挙にいこう:2009/11/30(月) 22:43:08
グロ注意!

567 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 00:10:30
画像くずれすぎだろ

568 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 00:23:50
ほれ
ttp://downloads.myphotos.cc:8080/up1/src/FancyFree0734.png

569 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 02:00:35
C18セルに書いたフォルダ名に入ってるファイルを開いて集計したいのですが、
ChDirがうまく動作せず、フォルダが切り替わらないときがあります。
どこがマズーですか?

FLD = Range("C18").Text
ChDir FLD
FN = Dir("*.xls")

Do While FN <> ""
  If FN <> ThisWorkbook.Name Then
    IBO = False
    For Each WB In Workbooks
      If WB.Name = FN Then
        IBO = True
        Exit For
      End If
    Next

    If IBO = False Then
    Workbooks.Open Filename:=FLD & "\" & FN
    (以下略)

570 :複乳:2009/12/01(火) 08:50:20
>>569
セルに記入してるシートとは別シートや別ブックがフクテイブにはなってないよね
じゃなきゃフォルダが切り替わらないことはないと思うんだけど
後はウォッチ式を使って、ステップインで実行してみたら原因が分かるかもしれない

571 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 10:38:22
フォルダ名が間違っていないか、そのフォルダが本当に存在するか、
余分なスペースなどが入っていないか、全角になっていないかチェック

572 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 10:39:10
つ Debug.Print "<ここから>"; FLD; "<ココまで>"

573 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 12:15:58
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 時刻 自動開始

セルA1が8:30になったら、処理Aを開始するマクロを作りたいのですが、
よろしく、お願いします。


574 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 13:26:47
>>573
こちらこそ
今後とも宜しくお願い致します。

575 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 13:34:13
>>573
セルA1の時刻をどうやって変化させるかによる。
セルの中に時計を表示させる方法は、それほど単純じゃないので。

576 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 13:36:50
以前、MOS資格を取ろうとエクセル2002(XP)の問題集を買って勉強をしていてつい先日XPからvistaに買い換えました。
その場合エクセル2002の問題集に付いていたCDーROMは使えないのでしょうか?入れてみたのですが起動しなくて…。
どなたか教えてほしいです。

577 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 13:40:40
まずはPCリテラシー身につけた方がいいような

578 :452:2009/12/01(火) 14:38:56
>>573
A1に時計作って、8:30になったらイベントで処理Aを開始。

579 :複乳:2009/12/01(火) 14:52:47
>>576
出版社にお聞きください

580 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 15:05:30
>>576
MOSを取る以前の問題だなw

581 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 15:27:47
7が出るのわかってて、つい先日vistaにかえちゃうような奴だしなwww

582 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 15:49:35
576です!
出版社に確認してみたらできるとの事でした。
もう1度試しにやってみたら起動したのでよかったです!今一般しか持ってないので上級が取りたくて。
ありがとうございました!

583 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 16:56:03
>>578 他

既にA1セルには時刻データが1秒ごとに変更になるようにしてあります。
肝腎のイベントは何になりますか?


584 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 17:20:35
>>583
時計そのものが標準の機能じゃないんだからイベントなんてわかるわけないだろ
その時計を作ったやつに聞け

585 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 19:17:04
A1の時計が実際の時刻なら、
A1関係なくふつーにアラームくんだらいいんじゃないの?

586 :583:2009/12/01(火) 19:43:30
selectionchange しかなさそう。

久しぶりに来てみたけど・・・ orz


587 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 20:52:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel2007 並べ替え フィルタ

データを並べ替えで優先キーを設定して並べ替えます
その状態でフィルタを付けると↑で設定した並べ替え条件がクリアされてます
これは仕様なんでしょうか?何処かの設定を変える事によって並べ替え→フィルタをしても優先キーが消えないように出来ないでしょうか?
よろしくお願いします

588 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 21:48:07
>>587
クリアされないけど?

589 :569:2009/12/01(火) 22:11:56
>>570-572
ありがとうございます。
自分だけが使うものではないので、絶対パスに変えようと思います。

FN = Dir("*.xls") を FN = Dir(FLD & "\" & "*.xls") に変えるだけでよいのでしょうか?

-----------------------------------
FLD = Range("C18").Text
ChDir FLD
FN = Dir(FLD & "\" & "*.xls")

Do While FN <> ""
  If FN <> ThisWorkbook.Name Then
    IBO = False
    For Each WB In Workbooks
      If WB.Name = FN Then
        IBO = True
        Exit For
      End If
    Next

    If IBO = False Then
      Workbooks.Open Filename:=FLD & "\" & FN
      '集計、他
      Workbooks(FN).Close
    End If
  End If
  FN = Dir()
Loop

590 :569:2009/12/01(火) 22:13:05
ChDir FLD を消すのを忘れました・・・

591 :名無しさん@そうだ選挙にいこう:2009/12/01(火) 23:48:10
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 比較、VLookup、IF、関数

人物名・性別・住所・会社名を登録したエクセルのデータベースがあり、
このデータベースの内容を別のエクセルに貼り付け、
さらに性格・趣味・役職・出身を追加した拡張データベースを作成してました。
データベースは毎日更新され、新しいデータは一番下に追加される様になっており、
定期的に前回追加したデータから新しいものを拡張データベースに貼り付け、
追加のデータを更新していました。

ところが、データベースが壊れ、新しく登録したデータもろとも並び順がバラバラになってしまい、
どこからが新しいデータか分からなくなってしまいました。

そこで、今ある拡張データベースを元にして、
人物名を入力、またはコピペすると、性別・住所・会社名・性格・趣味・役職・出身が出てくるような
エクセルファイルを作りたいのですが、どの様にすれば良いでしょうか?
もしくは、どうすれば効率的に復旧出来るでしょうか?

説明が怪しいかもしれませんが、不明点はご説明したいと思いますので、
ぜひ、お力をお貸しください。

上記のサンプルファイルを下記にアップしましたので、参考にして頂ければと思います。
よろしくお願いします。

http://a-draw.com/uploader/upload.cgi?mode=dl&file=4562
DLKeyはxlssamです。

592 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 00:15:33
>>591
拡張データベースから余分なデータを削れば元のデータベースになるんじゃないの?

593 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 00:19:14
>>591
元データは時系列で正しく並んでいる。
拡張されたシートは時系列がめちゃくちゃになってる。
データの個数は一致していて、1対1で対応してる
でいいの?

人名が重複してないなら
元データE列に上から1,2,3って番号つけて
名前の列を並べ替え(昇順でも降順でも)
拡張シートも名前の列を同じルールで並べ替えて、
E列の数字を貼り付け
あとはE列をキーにして基の順番に並び替え。

そもそも、拡張シートのほうに日付なり、番号なり振っておくべき。

594 :複乳 ◆MeiY43UMr. :2009/12/02(水) 00:20:01
>>589
ウォッチ式、気に入らなければmsgbox使って変数の中身見れ
>>591
うーん、件数次第だねぇ
この件数なら、countifで行削除。F4(直前の行動の繰り返し)をするかね
I1=COUNTIF(A:A,A1)
下にオートフィル
あとはマクロで行削除。かなりクセの強いやり方と思う。
Option Explicit

Sub Macro1()
Dim gyo, i
gyo = Range("I65535").End(xlUp).Row
For i = gyo To 2 Step -1
If Cells(i, 9) > 1 Then
Rows(i & ":" & i).Delete Shift:=xlUp
End If

Next
End Sub

595 :591:2009/12/02(水) 00:57:39
皆さんレスどうもです。
後付けの説明で申し訳ないんですが、
元データには人物名以外イレギュラーなデータが入力されていたり、
重複した個人が入力されてました。
その為、1対1または時系列順では対応していません。
件数としては3000件前後になります。
また、拡張DBにはサンプルでは趣味とかにしましたが、
再度入力するのがかなりの手間になる様なデータが入っている為、
極力、今ある拡張DBを生かしたいのです。

(説明がややこしいですが)めちゃくちゃになった元データから
拡張DBにあるデータを抽出してやれば、前述のイレギュラーデータは
あるものの、残りは基本的に新しく登録したデータのみとなり、
あとはいつも通りの作業をすれば良いと思ったからです。

説明不足であれば、指摘下さい。
引き続きよろしくお願いします。

596 :591:2009/12/02(水) 01:20:42
例えば、新しいまっさらなシートに、めちゃくちゃとなった元データから名前の列だけを全部コピーしてきて
ペーストすると、拡張DBとマッチする名前だけ、
名前の横にその名前に付随したデータが表示される様に出来ないでしょうか?

597 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 01:21:07
>>595
作業列にVLOOKUP、オートフィルタ

598 :593:2009/12/02(水) 01:22:15
>>595
正しく並んでいるのは、拡張シートで
登録順番が判らなくなったのは、元シートでいいの?
元シートにはまだ、拡張シートに登録してない新規の行があり、
その新規の行を含めて、元シートの順番がめちゃくちゃになったせいで
どれが新規の行か判らなくなった
でいいの?

元シートにゴミデータ行があるなら、Indexつけて並べ替えで順番そろえる手は
後で人間が修正してやる必要がある。
名前+会社名の組み合わせがユニークなら、
その条件でMatchingさせてやればいいけど
もう寝るから今日はパス。

599 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 01:22:20
>>596
その程度のことならVLOOKUPとかINDEXとMATCHでできる

600 :複乳 ◆MeiY43UMr. :2009/12/02(水) 01:34:58
壊れた、というのがファイルが物理的にHDDなどのデータレベルで壊れたのか、
操作ミスで予期しない順序に並び替えられただけなのかで対処法が異なる
まぁvlookupの戻り値を&で結合したりすれば一発で戻るかもしれない
無理かもしれない

601 :591:2009/12/02(水) 01:42:24
説明がきちんとしていなくてすみません。
>>593さん
シートの経緯に関してはその通りです。

>>600さん
ファイルが壊れて読み込めなくなりました。
しかし、登録したデータ自体は登録した各人がバックアップしていたので、
それを戻したのですが、順番までは復元出来なかった。という経緯になります。

Vlookupの戻り値を&で結合とはどういったやり方になるんでしょうか?

602 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 12:24:04
>>600
進研模試でいうとfjがおよそ偏差値45、民放地上波は約40、
ニュース速報+は35程度を対象にしています。

603 :複乳:2009/12/02(水) 14:06:36
>>601
こんな感じかねぇ。シートの番号がそのまま手順
後はテキトーにかいぞーしてつかって
vlookupはなんかめん゛くさくなってきたのでやめ
>>602
マジですか!?

604 :複乳:2009/12/02(水) 14:08:08
進研模試でいうとfjがおよそ偏差値45、民放地上波は約40、 に一致する日本語のページ 約 457 件中 1 - 10 件目 (0.75 秒)
ウィルスにでも掛かってるのか、単なる変な人がコピペしてるだけか
なんでもいっか

605 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 15:20:59
番違いかもしれんが・・・

エクセルで作った表をパワポにコピペしたいんだけど、
エクセルの下地の薄い青線までしたくないのにペーストされてしまう。
どうしたらいいか教えてくだされ。

606 :複乳:2009/12/02(水) 15:25:30
>>605
おぷしよん ういんどうおぷしよん わくせん のちえつくをはずす

607 :複乳:2009/12/02(水) 15:26:28
>>605
白で塗りつぶすのも良いかもな
こっちのほうが手っ取り早いかも

608 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 15:33:30
できた!!!!!!
>>606>>607ありがと

609 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 17:22:12
判別式が効いていません
9時以降ならという意味です。
訂正をお願いします。

 if time >= timevalue("09:00:00") then



610 :複乳:2009/12/02(水) 17:32:29
>>609
なるけど。PCの時計がずれてるんじゃないか
Sub a()
If Time >= TimeValue("09:00:00") Then
MsgBox "9じいこう"
End If
If Time >= TimeValue("18:00:00") Then
MsgBox "18じいこう"
End If
End Sub

611 :569:2009/12/02(水) 19:22:23
>>594
ありがd!!
ウォッチ式って、ググって初めて知りまいた。
でも、msgboxの方がいいかな?

ついでに・・・
FN = Dir(FLD & "\" & "*.xls") の意味は分かったんですが、
FN = Dir() って、どういう意味でそ?

ちなみに私は女です><

612 :複乳 ◆MeiY43UMr. :2009/12/02(水) 19:37:33
>>611
dir関数でぐぐれ
あとdirの引数無いとエラー出るよ

613 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 19:49:00
複乳 (←なんて読むの?)

614 :複乳 ◆MeiY43UMr. :2009/12/02(水) 19:50:31
ふくにゅうだよ

615 :569:2009/12/02(水) 20:06:35
>>612
次のファイル名を取り出す って意味でいいのかな??
また教えてくださいね♥

616 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 20:28:07
>>610
サンクス。確かにPCの時計が orz

617 :591:2009/12/02(水) 20:42:39
>>複乳さん
レスどうもです。サンプルを作って頂いたんでしょうか?
ぜひ参考にしたいのでアップ先を教けますか?

618 :複乳 ◆MeiY43UMr. :2009/12/02(水) 21:06:26
あ、リンクはってなかったか
ttp://a-draw.com/uploader/src/up4584.zip.html


619 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 21:13:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル VBA 項目 一致 データ入力
〜環境〜
営業所にどれだけ電話がかかってきたかを吐き出すソフトが入っていて
エクセルデータが吐き出される。

これを全国営業所一覧のシートにまとめたい。


dataフォルダに着信回数が入ったフォーマットを入れる
集計表にて「回数」の取り込みをおこなう。

毎日取り込むわけではなく、データを取り込むはランダムです。
取り込む一覧表に日付を入力して、日付が一致
かつ一覧の営業所番号がフォーマット中の営業所番号と一致したら
該当のセルへデータ反映とする考え方だと思うのですが…
VBコードにするまでには至らず。


うまく伝わっているか微妙ですが、お力を貸してください。

ttp://nosm2o.hp.infoseek.co.jp/cgi-bin/up/src/rs0636.zip

620 :複乳 ◆MeiY43UMr. :2009/12/02(水) 21:38:51
>>619
ttp://a-draw.com/uploader/src/up4607.zip.html
使い方
ふくっシートにコピーして追加する。追加したらボタンを押す。終わり。
名簿に反映されると思う
ただ同じ日・同じ人のデータが複数あるとどちらを取るかは分からない
あと営業署名・担当番号・担当名前が全て一致していないと追加されないので、
そこは気をつけて
もし数式読めるなら担当番号だけの一致などに減らすといいかもしれない

621 :名無しさん@そうだ選挙にいこう:2009/12/02(水) 22:22:45
>>620
回答いただきありがとうございます。
これは一度、元のファイルからすべてのデータを集計表の方うつさないといけないのですよね?
こちらのほうは、バラバラのファイルから取得して一覧化できるマクロを組めそうなのですが
変更日の「日付が一致したとき」の設定はどのようにしたら良いですか?


622 :複乳 ◆MeiY43UMr. :2009/12/02(水) 22:34:17
>>621
fornextで回して一致すれば縦か横に検索、でいいんじゃないのん
ループ変数iをcells(i,1)のようにして使う
後はifで分岐させる
これを使えるようになればなーんとでもなる。気がする。

623 :名無しさん@そうだ選挙にいこう:2009/12/03(木) 14:55:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列 分解 右詰め

↓のようにA列に入力した数字(8桁以内)をB〜I列に右詰めで一文字づつ表示したいんですが
この場合B〜I列にはどんな関数を入力したらいいでしょうか?数字が入らないセルは空白にしたいです。
ttp://f12.aaa.livedoor.jp/~itatisa/phpup/cgi/src/up7944.jpg
よろしくお願いします

624 :複乳:2009/12/03(木) 15:27:05
>>623
C3=IF(LEN($A3)>=8,MID($A3,1-8+LEN($A3),1),"")
G3=IF(LEN($A3)>=3,MID($A3,6-8+LEN($A3),1),"")
I3=IF(LEN($A3)>=1,MID($A3,8-8+LEN($A3),1),"")

法則は分かるかな。こんなカンジで2箇所ずつ変えながら入力
column()知ってるならそれに置き換えればいいと思う。知らなかったら手作業でやるべし

625 :名無しさん@そうだ選挙にいこう:2009/12/03(木) 15:54:19
>>624
出来ました。ありがとうございました。
cloumn研究してみます

626 :名無しさん@そうだ選挙にいこう:2009/12/03(木) 18:09:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

リンゴ-バナナ.xls
リンゴ-なし.xls
リンゴ-いちご.xls

のように、ファイル名に「リンゴ」が入っているブックを全て開く
マクロを作成したいのですが、助けてください。

627 :名無しさん@そうだ選挙にいこう:2009/12/03(木) 18:28:56
たまにはググれ。カス野郎

628 :名無しさん@そうだ選挙にいこう:2009/12/03(木) 18:32:43
>>626
Dir("リンゴ*.xls")

629 :名無しさん@そうだ選挙にいこう:2009/12/03(木) 18:45:40
>>628
ありがとう

630 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 13:07:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 参照

参照をするための式(=A2など)を入れてあるのに
急にそれが実行されなくなりました
式自体はそのまま入っているので、そこをクリックしてenterキーを押すとやっと反映されます。
いままでのように自動的にはんえいされるようにするにはどうしたらいいですか?


631 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 13:18:25
>>630
ツール → オプション → 計算方法 → 自動

632 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 13:22:15
>>631
仕事が止まっていたので助かりました!
本当にありがとうございます!

633 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 13:33:21
こんな事で計算方法が手動になる事があるよ
ttp://www.relief.jp/itnote/archives/001258.php

634 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 15:10:44
>>633
ありがとうございます。

635 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 19:12:43
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000 / 2003
【5 検索キーワード     】 EXCEL ROUND 丸め

シートの関数について質問です。宜しくお願いします。

A1:=(350000*40.95/1000)
A2:=ROUNDDOWN(350000*40.95/1000,0)
A3:A1-A2

上記のように式を入れてセルの表示形式を数値(小数点以下2桁)にしたとき
A1:14332.50
A2:14332.00
A3:0.50
と表示されます。

小数点以下15桁にすると
A1:14332.500000000000000
A2:14332.000000000000000
A3:0.500000000001819
と表示されてしまい、A3の小数第12位以降に数値が表れ
予期せぬ結果となってしまいます。

小数第2位までで判断したかったのでA1,A2にROUNDをつければ解決できるのですが
この表れた数値はどのようなものなのでしょうか?


636 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 19:28:26
>>635
たぶんこの中に答えがある。計算してないけど。
ttp://support.microsoft.com/kb/78113/ja

637 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 22:21:27
>>635
それは2進数と10進数の変換誤差
ごまかすことはできるけどなくすことはできない

638 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 23:08:51
単に14332.500000000001819と数値で入れてもそんな表示だよね
15桁しか表示しないから誤差が隠れちゃってるんだよね

639 :名無しさん@そうだ選挙にいこう:2009/12/04(金) 23:10:19
あー、しないというか簡単にはできない

640 :複乳 ◆MeiY43UMr. :2009/12/04(金) 23:36:44
>>635
小数誤差とか言う奴です
エクセルの仕様としか言い様がない。
知ってないと防ぐことはできないと思う

641 :635:2009/12/05(土) 00:51:31
>>636-640
みなさんレスありがとうございました
勉強になりました


642 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 09:40:12
質問です。

PHONETIC関数で参照指定したセルが、他のセルを参照したもので
あった場合に振り仮名が表示されないようですが、表示させる方法はありますか?



  A   B    C
1山田 =A1 =PHONETIC(B1)


C1が空欄になってしまう。


よろしくお願いします。

643 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 10:18:24
>642

そういうものです。
ふりがな行を用意して「山田」と同じように参照するべし。

644 :642:2009/12/05(土) 18:04:05
そ、そういうものですか・・・orz

645 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 22:17:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002(OfficeXP)

数式にエラーメッセージが出てしまいます。
自分では間違ってないと思うんですけど、どこか誤りがあればご指摘ください。
文章だけでは説明しにくいので、画像ファイルを用意しました。
http://uproda.2ch-library.com/194242fyj/lib194242.jpg

B2〜M2が日付(m"月")、N2が日付('yy"年"m"月")、B3〜M4が数値になっています。
H6には =IF($N$2<H2,H4,IF($N$2=H2,SUM($B$4:H4),0)) を入れ、エラー警告が出ています。

数式の意味は、もしN2がH2と比べて過去のときはH4の値、同じ月ならB4からH4までの合計、違うときは0です。
よろしくお願いします。

646 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 22:28:14
>>645
ヤマカンで答えてみる。
隣のセルと数式が違うってだけの無視していいエラーではないかと思う

647 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 22:30:47
>>645
手っ取り早く自分で調べる方法。

画像ファイルを参考に言うと、C列上に"fx"ってあるでしょ。それを使って
自分でどこがおかしいのかが調べられます。
まずH6を選択するとそのfxの隣に関数式が現れますがその関数式のIFと(
の間にカーソルを合わせてワンクリックしてください。そのあと"fx"をクリック
するとその関数式のどの位置が問題点かがわかります。
やってみてください。

648 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 23:21:42
>>645
数式の合計範囲(H6でいう”$B$4:H4")が、隣り合う数式とは違うためC6:M6
の各セルにエラー警告の緑タブが付いているだけで問題は無いでしょう。
気になるなら注意マークをクリックして”エラーを無視する”でかまわない
でしょう。

649 :名無しさん@そうだ選挙にいこう:2009/12/05(土) 23:58:22
>>645
取りあえずエラー警告のマークにマウスを合わせてみて
なんて表示されてるかぐらいは確認しろよ

650 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 16:58:26
Excelグラフの作り方を学びたい。どの本が一番参考になりましたか?
中級以上のもので研究報告の際、見栄えのいいものを作りたい。

651 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 18:39:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
円グラフを作っています。
表で小数点の%を入れるけど、グラフにしたら整数でしかでてきません。
どうすれば小数点以下の数字も出せますか?
(表では16.8%と記入→グラフ17%となるのをグラフでも16.8%と出したい)
いろいろググってみたけど、よくわかりませんでした。


652 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 20:09:22
>>651
17%の表示形式を変更すればよい。表示形式まで辿り着いてみましょう。

653 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 21:16:05
【1 OSの種類】 Windows xp SP3
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか 】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】抜け、チェック、=IF、ttp://okwave.jp/qa3116582.html

Aというシートには連番が振られたデータが1000個あるハズが、途中、いくつも抜けがあります。
BというシートにはAでは抜けてしまっているデータも含めきちんと1000個あります。
Aの抜けていないデータにはBから更新されたデータがいくつか入っており、
それが複数あり、かつ、目印になるものがない為、AからBに更新分を入れ替える方法は難しい為、
BからAへ抜けたデータを補完していこうと思っています。
どうすれば効率良く補完出来るでしょうか?
よろしくお願いします。

654 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 21:32:29
>>646-648
645です。
ありがとうございました。

655 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 21:33:52
シートまるごとコピーしちゃだめなのか

656 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 21:51:55
>>653
シートAに1〜1000までちゃんと行があり
データが抜けてる箇所が単純に空欄になってるなら
シートAを丸ごとコピーして、
Bシートに形式選択貼り付け→空欄を無視


657 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 21:57:36
>>652
651です。おかげさまでできました。
ありがとうございました。

658 :653:2009/12/06(日) 22:20:45
>>656
残念ながら、リスト抜け部分は1、2、3、7、19の様に、空欄セルは無く、
詰められてしまっている状態なんです・・・。

659 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 22:24:11
>>653
1.Aというシートには連番が振られているということはこの連番でデータを一意に把握できるということかな?
そうだとすれば作業用のシートにAの連番をコピーしてその下にBの連番をコピーしてピボット集計を
使って連番のカウントを取れば抜けてる連番が把握できる。
(2個あるはずのところが1個しかないのが抜けてるデータ)

2.シートBから抜けてる連番の表をVLOOKUPなどで参照して目印をつけてフィルタをかければ
抜けてるデータだけを抽出できる。

3.そのデータをシートAの下にコピーしてソートをかければいいんじゃないかな

660 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 22:52:20
>>653
1:1〜1000までの連番?の列を作る
2:vlookupでAシートの内容、Bシートの内容を引っ張ってくる。
3:別の列で、もしAがN/Aになっていれば、Bシートの内容にする・・・というIFでAにないものはBにないものを持ってくる。

以上

661 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 22:53:14
訂正
3:別の列で、もしAがN/Aになっていれば、Bシートの内容にする・・・というIFでAにないものはBの内容を持ってくる。

662 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 23:08:58
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003 & Access2003
【3 VBAが使えるか    .】 はい(Accessは使いますがExcelは余り分かっていません)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 表示 ズーム

AccessからTransferSpreadsheetでExcelを吐いています。
但しただ吐き出したものではなくいくつか体裁を整えた状態にしたいのですがその1つである表示ズーム率の変更(30%指定)ができません。
あくまでAccess上のコードなので、もしAccessスレで聞くべきものでしたら済みません。Excel操作のVBAなのでこちらでまず質問させて頂きます。

663 :662:2009/12/06(日) 23:09:39
長すぎると怒られたので分割します。
'========================================================================
Dim StrXLfile As String
StrXLfile = "C:\Documents and Settings\ユーザ名\デスクトップ\今日の一覧" & Format(Date, "yyyymmdd") & ".xls"

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Q_今日の一覧", StrXLfile

Dim objEXCEL As Object
Dim wb As Excel.Workbook
Set objEXCEL = CreateObject("Excel.Application")
objEXCEL.Visible = False
objEXCEL.UserControl = True
objEXCEL.Workbooks.Open Filename:=StrXLfile

Set wb = objEXCEL.Workbooks.Open(StrXLfile)
With wb.Worksheets("Q_今日の一覧")

With ActiveSheet
.Zoom = 30
End With
wb.Save
wb.Close
Set wb = Nothing
objEXCEL.Quit
Set objEXCEL = Nothing
'========================================================================
前提としてもちろんAccessの参照設定でMicrosoft Excel 11.0 Object Libraryはチェック入れてあります。他にも
wb.Worksheets("Q_今日の一覧").Activate
ActiveWindow.Zoom = 30
というやり方もしてみました。
いずれにしても.Zoomのところで「メソッドまたはデータ メンバが見つかりません。」とコンパイルエラーが出てしまいます。
正直ExcelVBAはよく分からないままコピペで作ったコードなのは自覚しております。不適切な部分を教えて頂ければ幸いです。

664 :名無しさん@そうだ選挙にいこう:2009/12/06(日) 23:43:13
>>663
ちょっとしか見ていないが「End With」が足りなくないか?

>With wb.Worksheets("Q_今日の一覧")
>
>With ActiveSheet
>  .Zoom = 30
>End With

↓「ActiveSheet」じゃなくて「ActiveWindow」じゃないかな?
ActiveWindow.Zoom

>「メソッドまたはデータ メンバが見つかりません。」
エラーメッセージをよく読んで考えてみるとエラーメッセージの通りだったというのはよくある話

665 :664:2009/12/06(日) 23:53:12
ActiveWindowも試したんだっけ?
ActiveWindowがアプリに所属するオブジェクトなのかブックなのかシートなのか
というオブジェクト階層の話かもしれない↓

objEXCEL.ActiveWindow
wb.ActiveWindow

666 :662:2009/12/07(月) 00:06:44
>>664
済みません確かに最後にもう1つEnd Withが必要ですね。関係の無い部分を除いてコピペする際に貼り付け忘れました。
End With
End With
wb.Save
に読み替えてください。

.Zoomのところでコンパイルエラーが出るので.ZoomでF1押すとWordとMS Formsの.Zoomも候補に出るので
どの.Zoomか明示できていないのかな?という気もするのですが…
ただ明らかにExcelオブジェクトの中で書いてるつもりですので違うのでしょうか。

あとはActiveWindowというのは>>665でもおっしゃっているようにどのレベルでActiveでなければならないのかという
問題な気もします。あくまでExcelの中であればシート1つのブックなのでActiveになり得るシートは他に無いと思うのですが。
もしWindows全体の中でActiveで無ければならないとしたら、そもそも
objEXCEL.Visible = False にしている時点で無理なのでしょうか…?

667 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 00:12:06
wb.Application.ActiveWindow.Zoom = 30
かな?

668 :662:2009/12/07(月) 00:26:21
>>667
ありがとうございます。できました<(_ _)>
やはりオブジェクトの階層を明示してやる必要があったということでしょうか?
あまりよく分かっていませんがw求めることは果たせました。
ありがとうございました。

669 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 19:27:56
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 否
Excelの関数で質問です。よろしくお願いします。

x 1   2  3
■■■■■■■■■
■1■■2■■3■ 1
■■■■■■■■■
■4■■5■■6■ 2
■■■■■■■■■
■7■■8■■9■ 3
■■■■■■■■■
          y
xの最大数=3、yの最大数=3

上記の様な番号があった場合にAのセルに以下の番号を設定するとXとyのセルに以下の値を返す。
1、4、7の場合にXのセルに1を
2、5、8の場合にXのセルに2を
7、8、9の場合にXのセルに3を

1〜3の場合はyのセルに1を
4〜6の場合はyのセルに2を
7〜9の場合はyのセルに3を

設定するような関数を教えてください。
縦や横が伸びた場合(x=4, y=8)とかにも対応出来る様にしたくて、
IF文とROUNDDOWN、MOD関数の複合でやったのですが
思うように行きません。

どうぞご教授をお願いします。

670 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 20:25:24
>>669
説明がさっぱりわからん
Aのセルとは?
またその図も崩れてるのか何なのかまるでわからない
ファイルのアップロードを希望

671 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 20:58:58
>>670
http://uproda11.2ch-library.com/11213888.zip.shtml


手元にファイルが無かったので即興で作りましたが、
こんな感じでまとめたいのですが、手打ちじゃ辛いので関数での
どう言う風にすれば良いか教えてください。




672 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 21:08:53
>>671
7の場合はXのセルは1なの?3なの?
何をしたいのかまったくわからん。

673 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 21:14:29
>>661
0-1整数計画問題として考えるとよい。
0または1の値しかとらない変数をX, Y, 数値 の組み合わせ分用意して、それらの関係を一次式で表現するんだ。

674 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 21:17:23
>>672

お前の頭が悪いのさ。

675 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 21:23:42
アンカーミス。
>>673>>669への回答。

676 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 21:32:17
>>669
http://uproda11.2ch-library.com/11213893.xls.shtml


677 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 22:12:33
>>673
>>676
すみません回答ありがとうございました。
今確認しながら自分のやってたパターンと何が違って居たのか見ています。

本当にありがとうございました。


678 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 22:26:39
>>676
なんだそりゃ?
それのどこが回答なんだ?

「説明わかりにくいんじゃ!」などと悪態つくのは説明がわかってからにしろ。


679 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 22:43:40
自分はロム専だが、このまま質問者が回答者に対し悪態をつくようでは、
回答してくれる方がいなくなりそうで怖い。
折角技術を提供して貰っているのに・・・それも無償で。
この前の質問者も、おかしな人だったな。
よく分からないような質問の仕方をして「恐らくこういうことだろう」という内容で
マクロを貰っておきながら、お礼の言葉どころか、「私の言ってることの意味、分かってます?」
などという・・・。

680 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 22:49:19
ロム専ならROMってろよ
回答することに生きがいを感じてるのもいるんだよw

681 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 23:06:29
>>679
>>678は質問者じゃないぞ。
いいかげんな回答者は不要。
厨房は回答するな。

682 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 23:09:53
>>681
>>678は質問者じゃないぞ」って言い切れるのは、お前のカキコだからか?


683 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 23:11:48
>>682
そうだ。

684 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 23:13:36
>>679
質問もろくに読まず、勝手に解釈して回答するのもいるからな。
過去ログをざっと読み返してみたけど、「私の言ってることの意味、分かってます?」なんて書いて
お礼を書かなかったやつが探せなかったんだが、どれ?

685 :名無しさん@そうだ選挙にいこう:2009/12/07(月) 23:15:15
>>683
疑って悪かったw

686 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 01:05:18
>>684
俺も脳裏に残ってたのを探して>>437を見つけたが、
マクロをもらったのが>>439で、>>462でお礼をしてた。
679氏は、どれを指してるんだろうね?

687 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 02:17:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しだけ・・・
【4 VBAでの回答の可否】 可

A列にユニークなID番号、B列に担当係名のような表があるとします

A    B
001 図書係
001 掃除係
002 給食係
003 植物係
003   動物係
003   保健係
004   体育係

このときB列の値を、A列の値の単位で集計(結合?)してC列に表示するにはどうしたら良いでしょうか?
具体的には

A    B C
001 図書係 図書係兼掃除係
002 給食係   給食係
003 植物係   植物係兼動物係兼保健係
004   体育係   体育係

のように"兼"という文字でつなげて表示したいです。行は400行近くあり、B列は文字列です。

ご教示のほど、どうぞよろしくお願いいたします。



688 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 02:21:07
・・・すみません。列ズレが酷かったので再投稿します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しだけ・・・
【4 VBAでの回答の可否】 可

A列にユニークなID番号、B列に担当係名のような表があるとします

A      B
001     図書係
001     掃除係
002     給食係
003     植物係
003     動物係
003     保健係
004     体育係

このときB列の値を、A列の値の単位で集計(結合?)してC列に表示するにはどうしたら良いでしょうか?
具体的には

A       B         C
001     図書係     図書係兼掃除係
002     給食係     給食係
003     植物係     植物係兼動物係兼保健係
004     体育係     体育係

のように"兼"という文字でつなげて表示したいです。行は400行近くあり、B列は文字列です。

ご教示のほど、どうぞよろしくお願いいたします。

689 :653:2009/12/08(火) 02:49:55
お二方、書き込みありがとうございます。
659氏のピポット集計というのが分からない為、
わかりそうな660氏のN/Aになった場合〜というのをやりたいのですが、
どの様な式になりますか?
=Vlookup(A1,参照1!A2:Z30,1,FALSE)と
=Vlookup(A1,参照2!A2:Z30,1,FALSE)を
IFで条件によって切り替えるのかと思うんですが、
#N/Aとなった場合に参照2側を探すというのが…。
ご教示よろしくお願いいたします。

690 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 02:53:07
>>688
Sub aaa()
  r1 = 1
  Do
    If Cells(r1, 3) = "" Then Cells(r1, 3) = Cells(r1, 2)
    r2 = r1 + 1
    If Cells(r1, 1) = Cells(r2, 1) Then
      Cells(r1, 3) = Cells(r1, 3) + "兼" + Cells(r2, 2)
      Rows(r2).Delete
    Else
      r1 = r1 + 1
    End If
  Loop Until Cells(r1, 1) = ""
End Sub

691 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 04:14:20
>>689
ISNA関数

692 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 06:49:11
>>689
=IF(ISNA(A1),B1,A1)
とかそんな感じ。
iserrorでも。

693 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 07:03:48
>>690
無事できました!!ありがとうございます!

694 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 13:01:32
EXCEL2002で積み上げ棒グラフを作り
データラベルの系列名表示を施したのですが
ちょっと困ったことになりました

データの都合で0値の項目がいくつかあるのですが
その部分のグラフの系列名が重なって表示されて見づらくなってしまってます
その項目を非表示にすることなく、項目名も消すことなく
その部分の系列名だけを表示させなくすることはできますか?

695 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 15:03:56
StarSuiteとオープンオフィス、どちらにしようか迷っているのですが
双方の弱点とかありますか?


696 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 17:45:46
共通してマイナー

697 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 17:59:48
そうですね、ありがとうございました

698 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 20:38:47
Excel2007→Excel2005以下のバージョンで一部互換性がないと風の噂というか2chで
チラミしたんですが、2007で作成されたものを2005で開いても、特にバグもエラーも見当たりません。

どういった時(何をしたとき?)に、互換性がないのでしょうか?

また2007作成のファイルを「名前を付けて保存」してバージョンを2005に落とせば大丈夫でしょうか?

699 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 21:00:09
>>698
ぐぐてみるとこういうのがありました。
http://www.asahi-net.or.jp/~ef2o-inue/kankyo/sub02_04.html

700 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 21:10:12
>>699
とても参考になりました。ありがとうございました。




2010で更なる変貌を遂げ、(2ch情報では列はXXXXまであり、行は億までなんだそうで)
Excel崩壊か・・・・これヒッドイワァ(´・ω・)

701 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 21:58:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 初心者マーク
【4 VBAでの回答の可否】 可

Book1に下記のようなデータがあります。
Book2のD列へ、Book1のF列、G列を参照しながら、合致するE列のデータを
入れたいんですが、同じ番号が複数あるので、VLOOKUPでは別のデータを
取り込んでしまいます。どのような方法でやればいいでしょうか?

Book1.xls
 A    E    F   G
A01  1000  K1
A01  2000  K2  P012
C01  1500  K2  P013
B01  3000  K1
A01  1200  K2  P014

Book2.xls
 A   B    C     D
A01  K2  P014
B01  K1     
A01  K2  P012

     ↓

Book2.xls
 A   B    C     D
A01  K2  P014  1200
B01  K1       3000
A01  K2  P012  2000

702 :複乳 ◆MeiY43UMr. :2009/12/08(火) 22:11:28
>>701
H列辺りに=a1&f1&G1
のようにしてそれをキーにしてmatch、vlookupなど

703 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 22:50:50
>>702
ありがd!できました。
=CONCATENATE(A1,F1,G1)と書かなくてもいいのねん。ちょっとビクーリw

704 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 22:52:45
Sub あああ()
Dim a, b, c, d
Set a = Workbooks("book2").Worksheets("sheet1")
Set b = Workbooks("book1").Worksheets("sheet1")
Application.ScreenUpdating = False
a.Activate
For c = 1 To 100
For d = 1 To 100
If b.Cells(d, 1) = a.Cells(c, 1) And b.Cells(d, 6) = a.Cells(c, 2) _
And b.Cells(d, 7) = a.Cells(c, 3) Then
a.Cells(d, 4) = b.Cells(c, 2)
Exit For
End If
Next
Next
Application.ScreenUpdating = True
End Sub

705 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 23:07:59
>>704
ありがd!
でも、実行時エラー9 インデックスが有効範囲にありません と出て、
Set a = Workbooks("book2").Worksheets("sheet1")で止まってしまいます。

706 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 23:22:00
あーすまんsheet1のとこにそれぞれのシート名を入れてくれ
でもマクロ無しでいけるならそっちのほうがいーぜ

707 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 23:41:50
>>706
マクロどおりにファイル名とシート名を変えてみました。
Set a = Workbooks("Book2.xls").Worksheets("Sheet1")
Set b = Workbooks("Book1.xls").Worksheets("Sheet1")

エラーは出なくなったものの、何も書かれません><

708 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 23:50:19
よし じゃーなかったことで

709 :名無しさん@そうだ選挙にいこう:2009/12/08(火) 23:59:49
そこで、複乳さんの登場ですよ

710 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 00:19:35
これでおk?
Sub あああ()
Dim a, b, c, d
Set a = Workbooks("Book2.xls").Worksheets("Sheet1")
Set b = Workbooks("Book1.xls").Worksheets("Sheet1")
Application.ScreenUpdating = False
a.Activate
For c = 1 To 100
For d = 1 To 100
If b.Cells(c, 1) = a.Cells(d, 1) Then
If b.Cells(c, 6) = a.Cells(d, 2) Then
If b.Cells(c, 7) = a.Cells(d, 3) Then
a.Cells(d, 4) = b.Cells(c, 5)
Exit For
End If
End If
End If
Next
Next
Application.ScreenUpdating = True
End Sub

711 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 00:24:43
参照するのは2箇所っていってるぞ

712 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 01:48:38
WindowsXPSP2でExcel2007を使用。
[名前を付けて保存]から[エクセルマクロ有効ブック]の形式で[tool]で[全般オプション]でパスを設定し、
パス付き、マクロ有りの.xlsmを作成しました。

ファイルを開いてマクロを実行しようとしたら[セキュリティの設定により、マクロが無効化されました]と表示され実行できません。
[セキュリティセンター]の設定で[全てのマクロを有効にする]にチェックを入れているのですが、実行できない原因がわかりません
パスを解除するとマクロが実行可能になるのですが…

パス付きでマクロ実行可能なセキュリティ設定の仕方をどのように設定したらいいのかわからないので教えてください

713 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 02:04:46
2007はそのあたりなんか違うよな

714 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 06:16:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】

予算管理のため、毎月の支出予想・実績をEXCELで表にしたいと思っています。

セルB1〜M1には"4月"から"3月"までが記入されていて、その下の列は
2行が毎月の支出予想値、3行は支出実績値です。
2行は支出予想値なのであらかじめ値が入っていて
3行は支出実績値なので最初は空欄、その月の決算が終わったら値を入力する
という使い方をします。

セルN2に年間支出予想値を表示させたいのですが、
"その月までの実績値"+"翌月以降の予想値"を出したいと思ってます。具体的には、

年度当初:N2=B2〜M2の合計
7月時点:B3-D3まで値が入力されている→N2=B3〜D3の合計+E2〜M2の合計
1月時点:B3-J3まで値が入力されている→N2=B3〜J3の合計+K2〜M2の合計

といった感じです。

説明がうまくいったか不安ですが、うまいやり方があればお願いします。

715 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 06:26:17
>>714
どっかに一行作業用の行(今気付いたけど「作業列」とはいうけど「作業行」と言わないのはなんでw)を作って、
そこに実績が入力されてれば実績、なければ予定という数式を入れる
→そいつらを合計して完成

というやり方が一般的かな。

716 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 06:39:55
>>715
作業行って言えばええやん。
言わないのはなんで?

717 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 08:35:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】 なし

セルの左上にある緑の三角形はなんですか?
消すことはできますか?

画像を付けます↓

Down Key → aaa
(アップローダの仕様でkey必須だったので設定しました。)
http://onishibata.ddo.jp/2/download.php?id=00620

718 :717:2009/12/09(水) 08:37:26
画像のURLが違ってましたorz

http://onishibata.ddo.jp/2/download.php?id=00621
Down Key → aaa

719 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 08:54:50
>>718
ttp://syosinsyaexcel.seesaa.net/article/58293438.html

720 :717・718:2009/12/09(水) 09:26:27
>>719
できました!
素早いご回答ありがとうございました!

721 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 10:08:08
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Microsoft Office Excel 2003
【3 VBAが使えるか    .】 わかりません
【4 VBAでの回答の可否】 わかりません

経緯を少し書かせてもらいます。
会社でパソコンが壊れたため、windows7のパソコンを購入しました。他にXPのパソコンがあります。
会社に置いてあった2003があったので、インストし、XPに入ってるエクセルデータなどもwin7のパソコンに入れました。
ダブルクリックでエクセルの見積書などを開こうとすると、「プログラムにコマンドを送信しているときにエラーが発生しました」という表示が出ます。

検索したらとても似た症状の方がいました
http://windowsxp_nec.pasokoma.jp/6_125671.html
↑の方は
>「アクション」の「OPEN」の「編集」の中の「アクションを実行するアプリケーション」
>をエクセルファイルを選び、その最後に、スーペースをいれその後に "%1" を書き足しました。
>それから、「DDEメッセジー」をすべて消しました。そうしたら正常に開くようになりました。
>ワードも同じ対策で直りました。
で直ったそうなんですが、win7の操作になれていなくて、自分はフォルダオプションは開けたんですが、
>「アクション」の「OPEN」の「編集」の中の「アクションを実行するアプリケーション」がどこにあるのか分かりませんでした。

ようはダブルクリックして開こうとするとエラーが出るということなんです。分かりにくい説明すいませんでした。

722 :複乳:2009/12/09(水) 10:16:39
>>709
ほとんど同じだけど
Sub fuku()
gyo1 = Workbooks("Book2.xls").Worksheets("Sheet1").Range("A60000").End(xlUp).Row
gyo2 = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A60000").End(xlUp).Row
For i = 1 To gyo1
For k = 1 To gyo2
If Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 1) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 1) _
And Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 2) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 6) _
And Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 3) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 7) _
Then
Workbooks("Book2.xls").Worksheets("Sheet1").Cells(i, 4) = Workbooks("Book1.xls").Worksheets("Sheet1").Cells(k, 5)
End If
Next
Next
End Sub
>>716
単純におなじ読みの言葉が繰り返されるのが気持ち悪いからではないでしょうか


723 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 12:23:34
2007で作成したファイルを97-2003形式で保存し、2002で開くと
シートは表示しますが、ピボットテーブルが操作できません。
そんなもんなんですか。

724 :複乳:2009/12/09(水) 12:27:47
>>723
これか?
ttp://office.microsoft.com/ja-jp/excel/HA101672981041.aspx


725 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 16:19:28
Excel2007です
フォームのActiveXコントロールを使用した場合
ラジオボタンやラベルの文字が汚くなる(太字になっている?)
のはなぜなんでしょうか・・・
またそれを戻す手段というのはありますか?

726 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 16:27:35
【1 OSの種類         .】 Windows XP/2k3/Vista/7Client (複数人で使うことが考えられるため)
【2 Excelのバージョン   】 Excel2007 (今後、2010も使われると思います。断然2010の方が便利ですし)
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 +VBA コーディングルール 、+VBA 命名規則 、+VBA variable naming、column

Excel VBAにて、命名規則、コーディングルールで迷っています。
特に Const HogehogeCol as ingeger = 1 というように
カラムの名前にあわせた定数を定義しているのですが、この定数名で悩んでいます

候補に挙がっているのはこれだけです(=思いつくのはこれだけ)
{1] IdCol [2] ColId [3] Col_Id [4] COL_ID

意味的に{1]が一番わかりやすく、はじめはこれを使っていたのですが
コーディングする際、Colを頭につけた方が補完が効き有利になると思い
[2]以降に変更した方がいいと考えました。

特にIdの例でわかりやすいのですが、[2]は読みづらいと思います。
ということで、[3]を考えてみましたが、中途半端な印象があり、これもどうかなと思います。
伝統的には[3]を定数名として使われていましたが、
最近このような表記を避けている傾向があるように重い、避けるべきかと悩んでいます。

ネット上でVBAのサンプルなどに目を通しましたが、
そもそも、定数を使わず直接生の値(リテラル値)を使ってる例ばかりでした。
また、命名規則も、あまり統一されている様子はありませんでした。
そのため、個人で命名規則・慣習を調べるには限界を感じ、ここで質問するに至りました。

皆さんは、カラムに対応する定数を定義する場合、どのような名前でやっているのでしょうか?
何かテクニックがあれば伺いたいです。

727 :複乳:2009/12/09(水) 16:38:21
>>726
長ければ分かりやすい分、タイプの時間をとられる。これはトレードオフ
意味も無く長いのは問題外な
↓こういうスレもある
ttp://pc12.2ch.net/test/read.cgi/tech/1258777686/
ハンガリアン記法なんてのもある
俺は"a"や"m"が多い。一文字で目立つからね。
なんでもいいよ、本当に

728 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 17:11:59
>>726
定数の値が整数型だけなら
列挙型(Enum)を使えばある程度すっきりかける

候補の中で自分がよく使うのは[2]かな

定数や変数はある程度長くても2〜3文字打てば
Ctrl+スペースで変換候補が出るからこまらんな

それより後で見た時にパッと見わからん方が困る

729 :726:2009/12/09(水) 17:34:00
>>728
なるほど、Enum型をそんなことに応用するんですか。
型の扱いが曖昧なVBAならではの手法ですね。

たとえば、CountColと一緒にCountという変数が宣言されている場合が多く
こういう場合には、あまりIDEの補完の恩恵を受けられなくなるんです。
そのため、[2]を採用したいが、これは見た目が悪かったので躊躇していました。

Enumなら間にコロンを挟むので多少見やすくなりますし、後続の単語の頭文字も小文字にできますしいいですね。

730 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 18:18:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 参照

紙の数十枚のデータをエクセルに取り込みたいのです。
フリーのOCRソフトでエクセルに取りこむことはできたのですが
縦や横の複数のセルががっちり結合して一つの文字列になっています。
これらを分解し 数値 ごとに1個のセルを割り当てたいのですが
手作業でやるしかないのでしょうか


731 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 18:55:11
参照でググって何が出ると思ったのかわかりませんが
今度は文字列 関数でググってみたらどうだろう?

文字列から抽出するいろんなパターンが載ってるので
まずはそれを見て、それでも駄目ならもっと具体的な情報をもってここで聞くといいと思う。
元のセルにどんなデータがどういった規則で入ってたかがわからないと何とも言えないし。

732 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 19:18:59
>>730
スキャン→読み取り なんて業務用ですらエラーが出るんだから、
そこら辺のデータを読み取るのは無理だよ。
直していくより、地道に打ち込んだ方が早いね。

733 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 19:42:37
>>730
文字と文字の間にスペースとか特定の記号とかあればデータ(D)→区切り位置
というのを使えば文字をセルごとに分けられる機能があるんですが。

734 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 22:06:20
>>722
701です。定期的にやるハメになりそうなので、マクロでやります。
ありがdございますた。

735 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 23:38:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel フリガナ VBA

マクロでVlookupなどから条件抽出した文字データを別のシートに貼り付けます。
その際、記載しているフリガナも一緒に貼り付けたいのですが上手くいきません。
具体的には名前とか住所のフリガナです。よろしくお願いします。

736 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 23:42:28
>>735
せめてどんな感じにデータが並んでて
どういうことをしたらうまくいかなかったのかぐらい書こうね

人に聞くときには、答える人の立場になって考えるといいよ。
そうすると答えをもらうために必要なものが見えてくる。そうなると相手に答えてもらえやすい

737 :名無しさん@そうだ選挙にいこう:2009/12/09(水) 23:44:15
エクセルが使える携帯の購入を検討中です。
用途は基本的に四則計算程度で入力は数字がほとんどになってくると思います。
タッチパネルとテンキーのメリット・デメリット、それぞれの機種の使いやすさなど、
携帯でエクセルを利用してる方がいらっしゃったら教えていただけませんでしょうか?
それか、そういったものを比較・検証しているサイト、レビューサイトをご存じの方がいらっしゃいましたら教えていただけるとありがたいです。

ちなみに、携帯の形をしているものでないといけないので関数電卓やミニノートPCなどは使うつもりはありません。

738 :複乳 ◆MeiY43UMr. :2009/12/10(木) 00:01:58
>>735
フリガナはねーセルのプロパテイなんだー
Cells(1, 1).Characters(1, 2).PhoneticCharacters = "フクニュー"
ってやるとセルkフリガナt@フクニューになっちゃうんだよね
つまり
cells(1,1).VALUE=cells(1,2).VALUE
みたいにしてもvalueが上書きされるだけでフリガナは移動されない
Cells(1, 2).Characters(1, 2).PhoneticCharacters = Cells(1, 1).Characters(1, 2).PhoneticCharacters
みたいにすればうまくいく
やってないけどsetを使ってobjectごとコピーする要領でやればきっと上手くいくはず゛た
copyメソッド使うのもいいかもしれない
関数じゃ多分無理だからvlookupの代わりに他の方法を使うべきだと思う
>>737
携帯機種板の方がいいと思います
せめてキャリアぐらい書こう

ちなみにタツチパネルで文字入力は最悪なので絶対にやめたほうがいい、というぐらいしか知らない

739 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 00:42:28
>>738
> 携帯機種板の方がいいと思います
レス有り難うございます。
それっぽいスレが見つからなかったもので

> せめてキャリアぐらい書こう
ウインドウズモバイル搭載してればエクセルは使えるようなので、特にキャリアにこだわりません。

> ちなみにタツチパネルで文字入力は最悪なので絶対にやめたほうがいい、というぐらいしか知らない
ありがとうございます。
キーの配列をカスタマイズできるのが魅力的なんですけど片手の指だけでの操作には限界があるかもしれませんね。

740 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 01:42:19
722のマクロを書いた複乳さんは素晴らしいw
俺が超初心者だった頃、Set やら With を多用されてチンプンカンプンだったので
「略さないで書いてほしい」ってやりとりしたのをふと思い出した。

741 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 01:48:50

LOT     A箇所     B箇所
 A       10       150 
 B       20       200

縦軸をA箇所 横軸をB箇所としたとき縦10と横150 20と200の
交差するところにプロットされる様グラフを作りたいのですがうまくいきません。
ご教授願えないでしょうか

  
20|                 ・             
|
|
10| ・       
|
-----------------------150----------200-----


          


742 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 01:49:52
20|                 ・             
|
|
10| ・       
|
-----------------------150----------200-----


743 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 01:52:27
>742
うまくできませんが
横軸150、200の真上に縦軸の10.20の部分が交差したところに
点を持ってきたいのですが。

744 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 02:07:43
>>741
軸を選択してコンテキストメニューより軸の書式設定

745 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 07:28:07
A列に年度が"2009年12月"とyyyy"年"mm"月"の形式で書かれているのを
B列で年度のみの"H21"に変換したいのだがどうすればよいでしょうか?

"2009年4月"〜"2010年3月"→H21

746 :複乳 ◆MeiY43UMr. :2009/12/10(木) 07:43:31
>>745
書式設定のユーザー設定で ge

747 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 07:46:42
>>746
それをやると
2010年2月が"H22"になってしまうんです。H21にしたいのに・・・・

748 :複乳 ◆MeiY43UMr. :2009/12/10(木) 07:47:18
>>745
ああ、年度か。
=DATE(YEAR(B1)+IF(MONTH(B1)<4,-1,0),1,1)
こんな感じで一旦どこかのセルに計算させればいいんじゃないか

749 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 15:51:51
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい[さわり程度]
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel PDF出力 セキュリティ

excelのデータから印刷不可、コピー不可のPDFファイルをVBAで出力したいのですが
お勧めのPDF変換用のアドインはありませんか?
マイクロソフトのOffice2007用のアドインでは出力は出来たのですがセキュリティ設定はダメでした…。

すみませんが詳しい方よろしくお願いします。

750 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 18:37:03
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel Range.Find 見出し 検索 など

| ID(見出し以外必ず数字) | 項目(ここをキーとして検索) |...
上記のような表で、Range.Find/FindNextで見出しの行をのぞいて検索したいのですが
Find/FindNextを使い分けようとすると、どうしてもコードが冗長になります。
Find(...,After:= hogeCell) と FindNext(hogeCell)の違いはありますか?







751 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 19:47:24
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

初心者の質問です。本やネットを検索したのですがどうもわかりません。
2つあります。どなたか教えていただければ幸いです。

@画像に文字を貼りつけたいのですが、文字を直接入力して貼り付ける方法はありますか?
A記号・文字等を加えた画像を一つにして移動したいのですが(何もしないと、画像動かすと
そのまま記号等はその場所に残ります)、その方法はどうすればよいのでしょうか?

よろしくお願いします。

752 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 20:09:16
>>751
@文字を直接入力するのはエクセルでは無理。画像編集ソフトでどうぞ。
Ahttp://pc.nikkeibp.co.jp/pc21/tech/word50/27/

753 :名無しさん@そうだ選挙にいこう:2009/12/10(木) 20:11:44
>>752
大変ありがとうございます。
画像編集ソフトでやってみます。

754 :名無しさん@そうだ選挙にいこう:2009/12/11(金) 01:40:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】

日時データにおける営業時間判定ほ法を教えてください。
土日であればよく平日である月曜日の9時、平日17時以降であれば翌平日の9時、
それ以外はそのままといった数式はありませんでしょうか。

例)
  2009/12/19(土) 15:00 → 2009/12/21(月) 09:00
  2009/12/21(月) 15:00 → そのまま
  2009/12/21(月) 20:00 → 2009/12/22(火) 09:00

目的はメールの返信時間集計です。返信までにどれぐらいかかるかを計算したい
のですが、開始日時が営業時間外ですと、一気に時間が跳ね上がるため、営業時
間計算をかませたいのです。

755 :名無しさん@そうだ選挙にいこう:2009/12/11(金) 09:10:25
>754
祝日、国民の休日は考えなくていいんですか?

756 :複乳:2009/12/11(金) 09:32:50
>>754
=INT(A1)+(WEEKDAY(A1)=7)*2+(WEEKDAY(A1)=1)*1+(HOUR(A1)>17)*1+AND(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),HOUR(A1)>17)*-1+TIME(IF(OR(HOUR(A1)>17,HOUR(A1)<9,WEEKDAY(A1)=1,WEEKDAY(A1)=7),9,HOUR(A1)),MINUTE(A1),0)
WORKDAY関数でも良かったんだけどアドインだからやめとこうと思ったけど2007だと標準装備だっけ?


757 :名無しさん@そうだ選挙にいこう:2009/12/11(金) 10:28:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい・少々
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 印刷設定 一括変更

複数のシートを印刷する場合に、プリンターの使用トレイを一括変更する方法はないでしょうか?
↓の質問がまったく同じなんですが解決していないようでした。
http://questionbox.jp.msn.com/qa150134.html

プリンター側の設定のことになるんでスレ違いになるかもしれませんがよろしくお願いします。

758 :複乳:2009/12/11(金) 10:56:59
>>757
シートオブジェクトのどっかに設定があるはずなんだが見つからなかった
これが分かれば一発なんだが

変則的な解決方法は二つ

設定したシートを作る。それをコピーする。
そこに印刷したいシートの全内容(Ctrl+A)をコピーして貼り付け
更にそれをマクロに登録すれば楽

もしくは二つシートを作り、片方の全てのセルはもう片方のシートを参照するようにする
A1=sheet1!A1
A2=sheet1!A2
のような感じで
そしてシートの設定をそれぞれ通常用、裏紙用と変えておくとか
こっちのほうが最初面倒だけどマクロ等は不要
但し、列幅などを変えても変更されないんだよなぁ

いずれにせよ一括でやるのは難しいな
どーにかすればできそうなんだけど

759 :名無しさん@そうだ選挙にいこう:2009/12/11(金) 11:20:26
>>756
ありがとうございます!
いただいた関数が複雑でわかりませんでしたが、やりたいことはほぼできました。
ただ、755さんのおっしゃるとおり、祝日のことをすっかり忘れておりましたので、
祝日リストなどを使って祝日判定を入れることは可能でしょうか。

何度も質問して申し訳ありませんが、よろしくお願いします。

760 :名無しさん@そうだ選挙にいこう:2009/12/11(金) 13:23:49
workdayってかいてあんじゃん調べろよカス

761 :754:2009/12/11(金) 17:41:37
>>760
workdayは2007標準装備ですけど、workday+時間計算方法がわからないので質問してまして

http://oshiete1.goo.ne.jp/qa3554373.html

workday関数を使った上記URLの式を使ってみましたが、

 12/6(日) 09:00 → 1追加されて 12/7(月) 09:00 となる
12/6(日) 20:00 → 日付1+時間判定でさらに+1となって 12/8(火) 09:00 となってしまう

となって想定通りに動かなかったのです。
調べ方が悪いのでしょうが、756さんのweekdayをworkdayに置き換える方法がわからないため、
皆様のお知恵を拝借したいのです。

762 :名無しさん@そうだ選挙にいこう:2009/12/11(金) 21:40:24
>>761

参考になるかどうか分かりませんが・・・
http://kokoro.kir.jp/know/calendar3.html

祝日は別シートで手入力して、それを条件書式でいじって、
シート内の祝日行または列を非表示にしてしまって、祝日をIF関数細工するしか方法はないです。

763 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 00:19:31
XP
2002、2003

社内LANのサーバに共用で使うエクセルファイルがあり、
誰かがそれを開いてたらメッセージを出してExit Subにしたいのですが、
誰かが開いてるか否かを知る方法はありますか?
マクロは、その共用してるファイルとは別のファイルに書きます。
よろしくお願いします。

764 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 00:30:09
>754,761
当方Excel2003かつアドインなしのためWORKDAY関数が使えないので、最終的な確認が
できませんが、作業列をひとつ利用する方法でできそうなので試してみてください。
1:前準備
祝日一覧をシートのどこかに設定しておき、名前を「祝日一覧」と定義しておきます。
ここは>762さん照会の方法を利用しました。

2:作業列の内容(基準となる日付時刻がA2セルから始まっているものとします)
 作業列をC列とすると
C2セルの計算式は
=IF(AND(ISERROR(VLOOKUP(INT(A2),祝日一覧,1,0)),MOD(WEEKDAY(A2),7)>1,HOUR(A2)<17),0,1)
ゼロ:当日 1:翌日以降

3:求めたい日付時刻
=WORKDAY(A2,C2,祝日一覧)+IF(C2,(9/24),IF(HOUR(A2)<9,(9/24),A2-INT(A2)))

当方で試したのは
=INT(A2)+C2+IF(C2,(9/24),IF(HOUR(A2)<9,(9/24),A2-INT(A2)))
なので、単純に翌日の日付時刻までの確認となっています。

765 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 02:12:04
>>741
軸を選択してコンテキストメニューより軸の書式設定
コンテキストメニューってそんなのどこにでる?

766 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 02:32:31
>>765
コンテキストメニューっていうのはマウスの右ボタンをクリックした時に出てくるメニューの正式な名前だよ

767 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 10:04:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel シート 保護 ロック 重なる 点滅

ブック内の複数のシートに対して,保護をかけたいですが,
 1.ロックされたセルは,選択すらできないようにしたい。
 2.ロックされていないセルは,選択できるようにしたい。
ため,ブックを開くたびに,これらの条件で保護できるように下記のようなマクロを使ってきました。(2年以上)

Private Sub Workbook_Open()
Application.ScreenUpdating = False
For i = 2 To 21
With Sheets(i)
.Unprotect
.EnableSelection = xlUnlockedCells
.Protect
End With
Next
Application.ScreenUpdating = True
End Sub

今までは,このマクロで正常に動作していたのですが,3日前あたりから,から下記の操作をしたときに,
「各シートがつぎつぎ表示されて,画面上も各シートの一部分が重なった状態に見える」
という症状に悩まされています。
 A.ブックを開いたとき
 B.何からしらの編集をしたとき

768 :767:2009/12/12(土) 10:05:38
続きです。

解決策として,
.Unprotect
の行を削除すれば,
「各シートがつぎつぎ表示されて,画面上も各シートの一部分が重なった状態に見える」
は起こらないというところまではわかりましたが,これだと,
 3.ロックされていないセルは,実際は選択できるものの,
   カーソルの形状が「選択できないときと同じ白色の太いプラスマーク」のまま
となってしまいます。

正常に使えなくなる直前に新たなアドインなども入れていませんし,また,すべてのアドインを
削除してみても状況は変わりませんでした。
この間にあったのは,Office2003のMicrosof tUpdate なのですが,これによってExcel2003の挙動が
変わったのでしょうか?

何か,わかる方,よろしくお願いします。

769 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 10:38:06
>この間にあったのは,Office2003のMicrosof tUpdate なのですが,これによってExcel2003の挙動が
>変わったのでしょうか?

そりゃそうだろw

770 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 10:54:55
>>763

読み取り専用 かどうかを調べる構文ならあります。
ただし元々のファイル属性が読み取り専用の場合でも同じ結果が返ってきますが。

771 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 11:38:19
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 sendkeys vista

経過・状況
xpでは正常動作するものの、vistaでは無効になるのでmicrosoftで調べてservice packで
更新してみたものの変化無し。
2007では時間がかかることから2003を継続中

希望
sendkeysを使わないでやる方法がベターとのことなので作り替えたいのですが、vbaで可能なのでしょうか?


772 :771:2009/12/12(土) 12:56:02
人に訊く文章になっていませんでした。
無視してください。
orz


773 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 15:44:26
質問です
A1に愛知県があってB1に愛知と返したいです。
たまに和歌山県みたいに3文字もあるので
そう行った場合どうすればいいでしょうか?

774 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 16:02:09
>>773
=SUBSTITUTE(A1,"県","")

775 :767-768:2009/12/12(土) 16:26:47
原因がわかりました。
下記のセキュリティ更新プログラムのみをアンインストールしたところ,正常に動作するようになりました。

Microsoft Office Excel 2003 セキュリティ更新プログラム: KB973475
公開された日付 : 2009/11/09
http://www.microsoft.com/downloads/details.aspx?familyid=6A6A0F5D-17DC-4A34-B9A0-0774AA287BA5&displaylang=ja

>>769
ありがとうございました。

776 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 16:49:01
>>773
>>774に手を加え都道府県対応
=SUBSTITUTE(A1,RIGHT(A1,1),"")

777 :776:2009/12/12(土) 17:09:53
でも北海道はそのままがいいかな?
=IF(A1="北海道",A1,SUBSTITUTE(A1,RIGHT(A1,1),""))

778 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 17:19:30
例えとして愛知県を使っただけで実際の対象は都道府県と無関係に100ペリカ

779 :776:2009/12/12(土) 17:26:35
かもしれないけど中部・近畿地域を例にしているので最低大阪や京都も考慮
したほうが良いかと思って。

780 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 17:35:03
>>774 >>776 ありがとうございます。
3文字が気になっていたので。とにかくありがとうございました。

781 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 17:43:07
>>776 その式の意味分りませんが例えばハンセンって入れるとハセになるんですねw

782 :776:2009/12/12(土) 18:05:47
>>781
”ハンセン”と違って幸いにも47都道府県の名前自体に”都””府””県”
の漢字が入っている自治体は無いから出来る訳だけどひらがな(カタカナ)
やアルファベットだと問題があるかもしれませんね。

783 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 18:31:28
>>782なるほどw 式の意味が分りましたw 助かりました

784 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 21:28:29
どこかであったんだが、、、

ifのネストの制限を回避するひけつ、教えてくれ。
もうどうにもならん(泣。

785 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 21:46:25
>>784
2007買え

786 :名無しさん@そうだ選挙にいこう:2009/12/12(土) 21:59:21
>>784
多重ネストなんてバカのすること。素直に列を分けろ。

787 :複乳 ◆MeiY43UMr. :2009/12/13(日) 00:42:49
>>784
and、or関数
ifを使わずに論理式
vba
作業列
ifの数式を整理
例えば
=IF(A1=1,"いち",IF(A1=2,"に",""))
のネストを省こうと思えば
=IF(A1=1,"いち","")&IF(A1=2,"に","")
の用に書くこともできる。数値なら&ではなく+にすれば良い
ま、ぁネストでもいいんじゃないの。あってたら

788 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 03:59:49
IFをやたらとネストしたがるのは、まあ、知識不足の初心者に多いな。
普通は論理式、作業列、ユーザー定義関数なんかを使う。

789 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 04:57:50
結局、ワンライナーで書かなきゃいけないわけだから
ネストできる数には限りがあるけどね。
else if を使うなら、switch/caseか配列で代用しようとするのは常套手段だが、Excelじゃ使えないみたいだな…
もっとも、IFを連ねなければいけない状況にはなったことないな。あきらめて作業列を作るし
あと、VBAで自分で関数定義できたんだな。てっきりVBAで宣言した関数はVBAの中でしか使えないと思ってたわ。
これは利用しない手はないな。

790 :784:2009/12/13(日) 08:03:28
みんなありがとう。
だいぶヒントがあったよう。
希望した回答とは違うが、、、

>>VBAで宣言した関数はVBAの中でしか使えないと思ってたわ。
ほんと?

酔ってきたので、寝るわ。
あ、漏れ環境は2008(Mac)、仕事場が2K(Win)だったかな、要は古いやつ。

791 :複乳 ◆MeiY43UMr. :2009/12/13(日) 11:17:33
>>789
それはchoose関数で代用できる
どうせならselect関数とかな名前がついてたらもっと使うのにね。知ってたらすげー便利よ
配列も{}括弧でくくれば何かできた気がするんだがよく覚えてないな。

792 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 13:34:37
質問です

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

Excelを2つ開き、それぞれにブックAとブックBを開きます。
リンク先のブックAのSheet1A1と、リンク元のブックBのSheet2A1をリアルタイムでセル同士をリンクさせたいのですがうまくできません。

同じExcel内にブックAとBを開けばできるのはわかっていますが、上記の方法だとブックBのSheet2A1の値が変わっても
ブックAのSheet1A1の値が変わりません。

下手な文章で済みませんが、何か良い方法があれば教えてください。

793 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 13:52:28
>>792
VBAでイベントを拾って更新かけてやるくらいかなあ。
そこまでしてExcelをふたつ立ち上げる理由が気になるけど。

794 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 15:28:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】 条件付き書式 反映 描画 

条件付き書式を2つ以上設定した場合、書式が反映されません。

実際使用した条件付き書式は以下の2つです。

[1つ目]
数式:「=$C$1<>0」
適用先「=$A$1:$A$10」
書式:セルを赤色にする

[2つ目]
数式:「=$C$15<>0」
適用先「=$A$15:$A$20」
書式:セルを黄色にする

このルールを作成し、セル「C15」に2を入力しEnterで決定後、A15からA20のセルは黄色になると思うのですが、
全く色が変わりません。その後、A15からA20をドラッグで範囲選択したり一度画面を切り替えると黄色くなります。

これはバグなんでしょうか?計算方法は自動にしてあります。


795 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 15:32:49
>>794

垂直同期か何かをしていますか?
上書き保存すると自分がかけた設定が反映されますか?

796 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 15:33:44
>>794
本当に計算方法が自動になっているか確かめた?
画面を切り替えると・・・というところからすると、計算方法が「手動」に設定されているっぽいよ

797 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 15:44:58
>>795
ありがとうございます
垂直同期にはなっていません。
上書き保存して一度閉じ、再度開いても現象は改善されませんでした・・
>>796
ありがとうございます
まっさきにそれを疑ったんですが自動になっています。
ちなみに今、一度手動にしてから再度自動設定にしてみましたが
改善されませんでした。

もし2007をお持ちの方がいたら再現性があるか確認してもらえないでしょうか

798 :792:2009/12/13(日) 15:54:08
>>793
やはりVBAしかないですか。

レスありがとうございます。

799 :複乳 ◆MeiY43UMr. :2009/12/13(日) 15:59:03
>>794
2003でもやってみた
一つ目の式の滋養軒付き書式を入れたあと、C1に1を入れてみるとA1:A2だけ色が変化
ドラッグしたり他のウィンドウで一旦各したりすると色が変化する
再計算しても変化なし
バグじゃないですかねぇ

800 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 16:00:46
>>794
うちの場合2000だけど、一つめの式試してみたら、たしかにおかしい。
でも二つ目は普通に反応した
一つ目の式は、C1に0以外入れても、A1:A2しか色が変わらない。
画面を切り替えるとA1:A10まで反映される。
C10になにか適当なDataをいれると、A10の色は反映される。(A3:A9は反応しない)
各行に適当なデータをいれDeleteしてやると、上手く行く。

思うにデータがない行やアクティブにしてない箇所は反映をサボってる感じがする。
でも二つ目のやつは普通にできたけど。


801 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 16:07:19
>>799-800
ありがとうございます。2007以外でもダメなんですね。
やはりバグという可能性が高いですね・・。
>>800
2007だと2つ目も反映されませんでしが、2000だと大丈夫なのですね

802 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 16:08:42
>>792
”リンク貼り付け”しとけばsheetBへ入力EnterでsheetAの貼り付け箇所が即座に
変わるけど。
ちなみに2002ですが。

803 :800:2009/12/13(日) 16:38:06
>>801
追試してみたけれど
A1:1A100まで範囲選択して同じ条件書式つかったとき
A3:A16が反映しなくて、それ以外の行は反映した。
条件を見に行くセルをC3に変えてみたら
A3:A4の色が変わって、A1:A2とA5:A16の色は反映しなかった

次にC5になにか適当なデータをいれるとA5:A6の色が反映され
さきほど反映されていたA4が反映されなくなった

思うに、
16行目までについては処理が特殊であり、
なにかデータが入ってる行とデータが入ってる最終行の次の行のみが
反映されるようだ。

ちなみに、A1にのみ条件書式を設定してそれをコピーしてA1:A16まで
張り付ければちゃんと期待通り動作する。

Excelにとって16行目ってなんか古い仕様で特殊なのあるのかな。

804 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 16:52:28
>>803
追試ありがとうございます。
こちらでも同様で現象が起きました。
データが入ってる行+その次の行は反映されるようですね。

>ちなみに、A1にのみ条件書式を設定してそれをコピーしてA1:A16まで
張り付ければちゃんと期待通り動作する。

こちらだと正常に反映されること確認できました!
今まで範囲選択で条件付き書式を設定していましたが、
コピペで1つ1つ設定していくと正常になりますね。
この設定でいきたいと思います。

本当にありがとうございました。

805 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 17:03:42
>>794

同じように設定してみました・・・・・・が、動作というか反映が不安定です。@2002

一度画面を切り替えると反映されたりします。
うちのは1つ目の設定でA1〜A3までしか色がつきません。
2つ目のは問題なく反映しました。画面を切り替えて再び画面を見ると反映されていたりします。

ナニコレ?

806 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 17:07:46
>744
縦軸と横軸のどちらをどのようにいじればよいのでしょう?
交差した点にプロットされず
>742のような縦軸のみに反映した場所にプロットされてしまいます。

807 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 17:22:18
>>806
なにをしたいのかよくわからん。
交差するってどの線とどの線が交差するの。
プロットするって、どのデータをプロットするの。

808 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 17:45:10
>>794
2003だけど、ちゃんと反応するよ?
なんか取り残された感じがするw

809 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 18:47:28
ピボットテーブルについて教えてください

平均なんですが、「加重平均」ってできないのでしょうか??

単価などの加重平均を出したいのですが、どうしても単純平均になってしまいまして…

810 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 18:59:10
>>809
多分無理かな。
ピボットではデータ抽出までにして
その先は数式でやればどうだろう?

811 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 19:01:30
>>810
やはり無理ですか…
ググってもググってもそれらしきものがでなかったし…

地道にやります、どうもです

812 :名無しさん@そうだ選挙にいこう:2009/12/13(日) 19:05:08
単価×数量の値をだして、その平均をピボットでとればいんじゃないの

813 :せんせー! 質問です!:2009/12/13(日) 21:02:16
excel 2002 をWinXPで使ってます。

セルの説明などで追加できるコメントについてです。
コメントのフォントの色を代えて見やすくしています。

色分けしたコメントの内容を、コピーして他のコメントに貼り付けると
色の情報が無視され、全て黒のフォントに変更されてしまいます。

コメントの内容をコピーして、貼り付けるときに、色分けした文字を
有効にする方法を教えてください m(_ _)m

814 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 00:27:22
2003でコントロールツールボックスからオプションボタンなどを使おうとしていますが
Captionの文字が太いというか汚くてチェックなりすると普通のワークシートに表示される
フォントと同じになって別なところをチェックすると一瞬間をおいて元に戻ります。
この汚い文字を通常のままにすることってできますか?

815 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 01:47:22
くだらない質問ですがお力をお貸し下さい。
現状、Word Excelで文字や表作成、計算程度はできますが
どちらも使いこなせているというほどではありません。
そこで、「完全制覇」シリーズなどの書籍を使いながら
勉強してみようと考えています。

ただ、オフィスのモバイルPCは2003、当方のPCは2007です。
互換性や操作感がかなり違うという話をよく聞きますが
いまから始めるのであれば、2003より2007の方がいいでしょうか?


816 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 01:50:59
>>815
オフィスのモバイルPCは2003
         ↓
会社のモバイルPCは2003 の方が誤解を与えないですね。
連続書き込み申し訳ありません。


817 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 02:24:47
>>815
似ている部分もあるし違う部分もある。
関数やマクロなどの基礎的な部分はどちらでも共通で使える知識が多い。
仕事で使うんなら会社の環境に合わせて優先順位を決める。
趣味で覚えるんならまずは2007。ただしマクロを重点的にやりたいなら2003。
最終的には両方使えるのがベスト。

818 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 03:50:51
【1 OSの種類         .】 WindowsXP pro
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 match index

コンビニ別の飲料の1日の売上本数がSheet1に書かれてあり、それを別シート(コンビニ名)に転記したいのですが、途中で混乱してきましたので教えてください。

---sheet1(シート名)
12月2日
メーカー名 コーヒー ビール   コーラ   ワイン
セブン    20              11     30
ファミマ          21
ローソン   2      30       33      4

↓このように転記したいです

---セブン(シート名)
       コーヒー ビール   コーラ    ワイン
12月1日
12月2日    20              11     30
12月3日
12月4日

分岐がうまくいかず、セブンを転記後、次のファミマを転記する時に参照先が…
http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=2665

モジュール
http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=2666

よろしくおねがいします

819 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 03:59:13
>807
交差するってどの線とどの線が交差するの。

横軸150、200の真上に縦軸の10.20の部分が交差したところに
点を持ってきたいのですが。

プロットするって、どのデータをプロットするの。
LOT     A箇所     B箇所
 A       10       150  →AとBの接点部に
 B       20       200   散布図として点を表示したいのです・・



820 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 09:47:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル マクロ 開かずに 印刷

マクロで、別ブックの任意のシートを、開かずに印刷したいのですが、
そういうマクロがあったら教えてください。

821 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 10:05:10
>>819
あいかわらず、わからないけど
X=175, Y=15で軸を交差させたいの?
縦軸(Y軸)をえらんで軸の書式設定→目盛り→X/数値軸との交点175
横軸(X軸)を選んで同じ手順でY/数値軸との交点25

822 :複乳:2009/12/14(月) 11:37:20
>>818
一日に付き一つのファイル?
それとも12/2の下に12/3が来る?

823 :複乳:2009/12/14(月) 11:38:02
勘違いしてた
>>822はナシでお願いします

824 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 15:50:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 シート名 関数

A B C
_________________________________
1| 100 あああ XXXX 
2| 101 いいい ZZZZ
3| 102 ううう  YYYY
4| : : :
6| : : :

Aの列に入っている文字列(100)と同名のシートが同じブック内にあります。

B1(あああ)やC1(XXXX)の部分を 100のシートのセルから参照したいです。
例えば ='100'!B5 実際のシート名を記述すれば参照できますが、
A1の値を元に参照させることはできますでしょうか?

また1の行を複製して2の行を作った場合、B2は='101'!B5とペーストされてほしいのですが
='100'!B6になってしまうのも困ってます。これは回避できますでしょうか?
たくさん行があるので、手で修正するとミスりそうなので、コピペしたいのです。

825 :824:2009/12/14(月) 15:52:02
あああ、ズレズレになってしまった。orz
不慣れなものですみません。
意味不明になってしまったかも知れませんが、
何とか質問の意図が汲み取れた方はご回答おねがいします。


826 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 16:16:26
>>824
=INDIRECT(A1&"!B5")

827 :824:2009/12/14(月) 16:29:11
>>826
すごい!!できました!
感謝です。ありがとうございます。

828 :複乳:2009/12/14(月) 18:01:36
>>818
こんなんじゃだめかねー
Sub Macro1()
Sheets("sheet1").Select
hizuuke = Cells(1, 1)
g = Range("A1000").End(xlUp).Row

For k = 3 To g
meekaa = Sheets("sheet1").Cells(k, 1)
x = Sheets(meekaa).Range("A1000").End(xlUp).Row

For i = 1 To x
If Sheets(meekaa).Cells(i, 1) = hizuuke Then
Sheets(meekaa).Cells(i, 2) = Sheets("sheet1").Cells(k, 2)
Sheets(meekaa).Cells(i, 3) = Sheets("sheet1").Cells(k, 3)
Sheets(meekaa).Cells(i, 4) = Sheets("sheet1").Cells(k, 4)
Sheets(meekaa).Cells(i, 5) = Sheets("sheet1").Cells(k, 5)
End If
Next
Next
End Sub

829 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 21:13:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

シート"P1"のA1に =DATA!C3+DATA!C4 と入ってるとき、シート"DATA"のC3が
どこの(シートの)セルと繋がってるのか調べる方法があったら教えてくださいですo

830 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 21:46:14
>>829
ツール→ワークシート分析→数式の検証→ステップイン→(行き着くとこまで)ステップイン。

831 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 21:52:16
>>828
ありがとうございます。
そんなシンプルにできるとは・・
こういうの作ろうとする時に何が必要で何から設計していけばいいのか上手く理解できてなかったです。
勉強なりました。

832 :名無しさん@そうだ選挙にいこう:2009/12/14(月) 22:23:04
>>830
レスありがとうございます。
ツール→ワークシート分析→数式の検証 までは追えたんですが、ステップイン以降は
ボタンが[閉じる]しか現れませんでしたo 何で???

833 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 08:19:14
質問です
エクセル2003にて

ペイントで作った画像を張り付けるとき、透明色を指定する事はできますか?

クリップアートそのままなら背景が透明なんだが、少し加工したい場合透明に出来なくていつも困っています。

他のスレで質問したのですが一週間答えがなかったです

834 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 10:01:01
2003じゃ図の透過処理はなくなったんじゃないかな?
その代わり、元の図のほうを透過PNGとかにしときゃ透過するよ

835 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 12:12:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 R1C1 Cell Range

3列目は「C」、30列目は「AD」ですが、この3や30という数値から「C」や「AD」という文字を取得するには
どうすればよいのでしょうか?

836 :複乳:2009/12/15(火) 12:38:49
>>835
=column()

837 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 14:04:12
コード(変数)がファイル名の先頭に入ったエクセルファイルを取得するマクロを組んでします。

Dir(ThisWorkbook.Path & "\" & コード & "*.xls")

上記だとうまくいかないのですが、どこがおかしいんですか><

838 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 14:48:36
↓このようにデータが並んでいるのですが、
a b c
d e f
g h i
dとeの間にxが入る場合、↓のようにしなければなりません。
a b c
d x e
f g h
i
この並べ替えが結構面倒なのですが、簡単にやる方法はないでしょうか?

839 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 15:18:30
>>838
別シートか別の場所に1次元のリストを作っておいて
そうやって並べるときには、ソノシートを参照すればいい。

ロジック・データ・インターフェースを分離するのは基本中の基本

840 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 15:20:10
ソノシート -> そのシート
ソノシートってなんかの用語っぽいな。感じの御返還はまだ読めるが、カタカナで書かれたら勘違いするよなw

841 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 15:22:14
ソノシートってあれじゃん、雑誌の付録とかで付いてたレコード

842 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 16:26:55
>>839
すみません、その参照のしかたを教えていただきたいのですが。

843 :複乳:2009/12/15(火) 16:42:58
>>838
まずsheet1に縦一列にデータを並べる
そしてsheet2でそのデータを横3列のデータにする
sheet2!a1=INDIRECT("sheet1!r"&(ROW()-1)*3+COLUMN()&"c1",0)
後はこれを縦横にオートフィル

844 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 17:51:16
>>843
ありがとうございます!

845 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 20:39:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 時間

03/01という日付と01:00という時刻を合体させ、
03/01 01:00という風にするにはどうすればいいですか?
よろしくお願いします。

846 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 20:48:44
>>845
足し算

847 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 20:53:20
足し算して書式をmm/dd hh:mmn

848 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 21:06:40
シリアル値でも文字列でもどっちでもいける
=A1+B1
=A1+" "+B1

849 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 22:22:27
>848
それは2007ならできるってこと?

850 :複乳 ◆MeiY43UMr. :2009/12/15(火) 22:35:59
>>849
全バージョン可能と思う。95以前は知らんけど
聞く前に試してみれば

851 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 23:30:48
シリアル値は整数部分が日付
小数部分が時刻になってる
だから普通に足せばOK

852 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 23:39:58
【1 OSの種類         .】 Windows7 (64bit)
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】「Excel 上方 参照」など

※まどろっこしい質問なのですが、ご容赦ください。
  ググりキーワードが思いつかず、こちらに駆け込んだ次第です。

現状このような列があります。
----
[H列] ←A〜G列の値にもとづいて、減算またはソノママ。
4,000
4,000
4,000
3,600
----

やりたいことは以下の2点です。
・上のセルに等しい場合は「−」と表記したい。
・一つ上が「−」の場合でも、元々あるべき「4,000」を参照したい。
 (参照できないと、そのセルを計算できない)
----
[H列]
4,000
 −
 −
3,600
----

どなたか、どうかご助力ください…><

853 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 23:45:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002

ソフトウェアの償却を、3年償却の定額法で月割計算したいのですが、
ググっても年間の償却費を計算する作例しかみつけられませんでした。
見よう見まねで、月割で計算できるものを作ってみました。
このとき、点線内だけでも数行を使ってしまうので、月割計を計算するのに
1〜2行程度でまとめる方法があれば教えてください。
商品が多数あるので、できるだけシンプルにしたいです!
(ただし、行を非表示にするのはナシでw)


12月から償却が始まるとき
        10月    11月    12月    1月    2月    3月
支払      1,000    5,000    2,000    1,000     0    2,000
償却対象                  8,000    1,000     0    2,000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                         555    555    555    555
                                69       69      69
                                        0       0
                                            139
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
月割計                  555     624    624    763


よろしくお願いします。

854 :853:2009/12/15(火) 23:47:35
誤記訂正です。すみません。

誤 定額法
正 定率法

855 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 23:51:41
>>852
2007なら条件付き書式で上のセルと等しいときに表示形式を"-"になるようにすれば
いいとおもう。

856 :名無しさん@そうだ選挙にいこう:2009/12/15(火) 23:56:47
>853

定率法であろうと定額法であろうと月単位なら
該当年の償却費÷12だろ・・・

857 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:07:20





20 ・


10 ・

150 200


858 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:15:53
>>856
はぁ?

859 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:26:41
>>853

10月に支払いが発生しているということはソフトウェアの導入は10月から?
で、減価償却は12月から3年後の12月まで?ていうか耐用年数と残存価額は?

860 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:37:22
>>856
12で割ったのを並べてますが?
8000→555とか、1000→69とか。

>>859
商品の量産開始月が12月なので、そこから償却が始まると聞きました。
設計部なので、経理上の詳しい説明ができませんが、12月から
2012年の3月までだと思います。3月が期末決算なので。
耐用年数は3年償却なら3年ではないのでしょうか?
残存価額は初耳なので、意味が分かりません・・・・ orz

861 :849:2009/12/16(水) 00:37:37
>>848-850
> =A1+" "+B1
2003だけど、やっぱこれはできないですよ・・・
で、2007ならできるの?それともただの勘違い?

862 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:46:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

どうしても分からないので、どなたか教えてください。
それぞれの人の12月の在籍営業日日数は何日かを調べるときは、
どのような関数を組めばよいでしょうか。

氏名  開始日    終了日
Aさん 2009/10/1 〜2009/12/31 (当月以前〜当月  )
Bさん 2009/12/1 〜2009/12/18 (当月  〜当月  )
Cさん 2009/12/21 〜2010/01/31 (当月  〜当月以降)
Dさん 2009/10/1 〜2010/01/31 (当月以前〜当月以降)

863 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:46:40
>>860

あー、やっと意味が分かった。

例えば3月の、555と69と0と139の月割合計763だけを表示したいと言う意味?
555と69と0と139はどこか他のシートやブックからリンク飛ばしてますか?
それなら単純に足し算すればよいのでは・・・?

864 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 00:58:09
>>853
経理知らんけど、
今月の月割り計 = 今月の対象額 * 月割り償却率 + 先月の月割り計
ってするだけいいんじゃないの。


865 :853:2009/12/16(水) 00:59:27
>>859
残存価額について調べてみました。

 残存価額 = 減価償却資産の取得価額 ×残存割合
 (無形減価償却資産は0%)

ゆえに、残存価額 = 0 で良いのでは?

>>863
月割合計763だけを表示したいと言う意味です。
他のシートやブックからリンクを飛ばしていません。
4月から償却を始めると、巨大な逆ピラミッドができてしまうので、見た目で
こんな感じにできればと。。。

        10月    11月    12月    1月    2月    3月
支払      1,000    5,000    2,000    1,000     0    2,000
償却対象                  8,000    1,000     0    2,000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
月割計                  555     624    624    763

866 :853:2009/12/16(水) 01:06:53
>>864
あ、累積していけばいいみたいですね。
ありがとうございました。

867 :864:2009/12/16(水) 01:49:05
>>866
おれは経理わからんので、数字合わせをしただけだが
本当にそれでいいのかちょっと疑問が残る。
12月を起点に掛かる償却対象は、いつか終わるんじゃないのか。
そうすると、その表は三角ではなく平行四辺形になるはずだ。
だとすれば、いつまでも単純に累計とってると間違うよ。
自分の求めたい数字がなんの累計なのか、よく考えてね。

868 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 02:11:50
>>861
うーん、どちらにせよ、DateTime型のまま直接足しあわせた方が
融通聞くからそれを使えばいいんでない?わざわざ茨の道を通る必要ないよ。

ちなみに2003だろうが2007だろうが2010だろうが文字列連結演算子は&です。

思いっきり関係ないけど、2010で配色を黒にするとメニューの前景色が灰色になって読みにくくなる件について。
アクティブなタブはコントラストを高くしてあるから、ケアレスなバグじゃないと思うけど…
注目すべきはむしろ非アクティブなタブだから、設計が間違ってるようなw
http://imagepot.net/view/126089707050.png
こういうやつって何処に凸入れればいい?

869 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 03:02:24
>>868
テーマは変更せずそのまま使うのが基本

870 :せんせー! 質問です!:2009/12/16(水) 07:07:48
>>813 をよろしくお願い致します m(_ _)m


871 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 07:44:52
>>862
エラーケースを考えなければB2開始日、C2終了日として

=(MIN(C2,"2009/12/31")-MAX(B2,"2009/12/1")+1)

空白セル対応、期間に12月が入っていない・・・などの対応はしてないよ。

872 :757:2009/12/16(水) 09:42:29
>>758
遅レスで申し訳ありません。ありがとうございました。
別のシートを作るのは思いつきませんでした。その方法でやってみようと思います。
しかしexcelもビジネスユース考えるんならその辺も何とかしてほしいですね。。。

873 :複乳:2009/12/16(水) 09:43:42
よく見てなかった
>>848

=A1&" "&B1
だろ
>>852
H列はA列+B列とすると
H1=A1+B1
H2=IF(A2+B2=INDIRECT("r"&MAX($I$1:I1)&"c8",0),"-",A2+B2)
I1=IF(H1="-",0,ROW())
H2とI1を下にオートフィル
>>853
つーかさ
http://excel.onushi.com/function/sln.htm
減価償却用の関数ちゃんとあるよ
SLN関数


874 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 10:47:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 可

複数のエクセルファイルを検索し、該当する列を
別ファイルに順々に表示させていきたいですが、可能でしょうか。
下のように、AAAとBBBのようなファイルがあって、B列が222であるものを、
XXXファイルに表示させていきたいのです。


AAA.xls
 A  B  C  D  E
111 222 333 444 555
111 333 333 333 444
111 222 444 444 444

BBB.xls
 A  B  C  D  E
222 444 333 444 555
222 333 333 333 444
222 222 444 444 444


XXX.xls
 A  B  C  D  E
111 222 333 444 555
111 222 444 444 444
222 222 444 444 444

875 :複乳:2009/12/16(水) 11:04:30
>>853
定率法か
ttp://pasomiti.sakura.ne.jp/merumaga/mkx/mkx025-2.htm
でいいんじゃないの。db関数
月割りしたいなら月数で割ればいい
>>870
VBA必須かなのかどうかもよく分からない
普通しないからなぁ
>>872
裏紙めんどくせーよなw


876 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 15:02:10
>>874
ようはExcelをRDBとして使いたいわけだろう?
しかも、対象となるテーブルがいくつもある…

CSVで保存されていれば
copy /b *.csv cat.csv (ディレクトリを再帰的に探索してくれるかは不明)
for /R "PATH" %%i in (*.csv) do copy /b "PATH"\cat.csv+%%i
すればおk。*.csvファイルを検索して、一時フォルダにコピーして連結させたほうが確実かもしれない。
あーでもExcelは65536行までしか扱えないからはまるかも。

xlsで保存されているならCOMやVSTO、もしくはVBAを使わなきゃいけないと思う

Accessがあるなら割と簡単に事は済みそうです↓
http://www.ken3.org/vba/backno/vba128.html

877 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 18:51:52
>>757
強引なやり方だと、Excel開いたままで、
コントロールパネルの通常使うプリンタの設定を変えると
今変えたプリンタ/トレイでの印刷になる。
その切り替えが簡単かどうかは別だけど・・・
Excelでできなくてもそういうプリンタ切り替えるフリーソフトあるかも。

878 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 19:19:41
>>757
一度、PDFに出力してしまえば、あとはAdobe Readerの問題になるのでは?ただし2007以降限定だけど。
そうすれば、試し刷り->印刷。 清書->PDF->印刷でできる気がする。

879 :名無しさん@そうだ選挙にいこう:2009/12/16(水) 19:45:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 必須
【5 検索キーワード     】 ?

テキストボックスの中を検索して、その結果の一つをリスト(セル)に追加する物を作ったんですが
追加するところをうまく表示するにはどうしたらいいですか?

UIはこんな感じです

01
02 [ TextBox ]
03 検索結果/追加候補1
04 検索(ry) 2
----分割線---------
50 追加結果1
51 (ここに追加される)
60 (このあたりは画面外。ここに追加するときに、ここが見えるようにしたい)

ちなみに、Range.Select ; TextBox.Selectすると
TextBox.Selectの時点でまたTextboxにスクリーンが移動し、またセルにフォーカスが残ったままなので
完全に意図することと逆の結果になりました

880 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 03:51:39
>>879
テキストボックスの中を検索て、テキストボックスが複数あるのか?
それともカンマ区切りとかでなんか入ってるのか

まあ、コンボボックスなのかもしれんが

881 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 04:57:29
>>880
Textbox.text をクエリとして検索すると言うことです。
Textboxに入力、名簿からインクリメントサーチして候補を表示
その候補を選択して、リストに追加する物です。

リストはExcelのセルをそのまま使ってます。

そこで、上部の検索部、下部のリスト部をウィンドウ分割を使って同時に表示してるのですが
下のパネルを自動でスクロールさせたいのです。

一応、Pane.ScrollRow プロパティを使えばいいことはわかりましたが
Windows(w).Panels(p).ScrollRow = appendedCell.Row
wやpに何を入れればいいのかわかりません。
ThisWorkbooks.Windows(w).Panels(p).ScrollRow
とすることで、w = 1 の決め打ちでどうにかなると思います。
(0を指定するとなぜかエラーが起きます。VBAでは序数を1から数える特殊な習慣があるのでしょうか?)

882 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 05:32:05
>VBAでは序数を1から数える特殊な習慣があるのでしょうか?

仕様だね、VBAのコレクションは1から始まるから
Windowsもコレクションの1つだから

883 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 05:53:09
>>881
Windows(w).Panes(p).ScrollRow = appendedCell.Row

Windows(w)は複数のウィンドウを開いて無ければw=1でもOK
複数開いているなら開いた順番になる

Panes(p)は上下の2分割ならp=2でOK
複数ある場合は左上→右上→左下→右上の順番だから
左上ならp=1、左下ならp=3になる

884 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 15:57:27
>>882
なるほど、それは注意しないといけないですね。
'Cellsのrow/col指定も1から始まりますね。これは見出しの数字に合わせるためだと思っていましたが…
'別の理由からですか。そうなると、配列が0から数えるのは謎ですね。(1から数えられたらそれこそ苦痛ですがw)

結局、Windows.CountやPanes.Countを利用することで解決しました。
やはりThisWorkbookWindows.Countは必ず1になるようでした。(つまり、ThisWorkbookWindows(1)は捜査対象のウィンドウに確定)

解決しました。どうもありがとうございました。

885 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 16:04:35
後学のために例を残しておきます。
Private Sub ShowCursorAtBottomPan(tgtRow as integer)

  Const offset As Integer = 10
  Dim win As Window
  Dim topRow as integer

  Set win = ThisWorkbook.Windows(1) ' ThisWorkbookでWindowは確定する。Windows.Countは必ず1になる
  topRow = offset + tgtRow

  Select Case win.Panes.count '画面の分割数によって場合分け
    Case 1: '画面を分けてない場合
      'noop
    Case 2:
      win.Panes(2).ScrollRow = topRow
    Case 3: 'あり得ないが、一応。 ここでエラーログを取るのも良い
      win.Panes(3).ScrollRow = RListDataStartRow + RListCursorPos - offset
    Case 4:
      win.Panes(3).ScrollRow = RListDataStartRow + RListCursorPos - offset
    Case Else: 'これもあり得ないので、エラーログ対象
  End Select  
End Sub

そういえば、関数の呼び出し元を調べられるリフレクションクラスなんてありませんよね…
もっとも、本来は使い捨てのマクロを書くための物ですから、無くて当然かもしれませんが。

886 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 21:53:32
シート1のA列とB列にそれぞれ
伊坂幸太郎 重力ピエロ
我孫子武丸 殺戮にいたる病
東野圭吾  悪意
伊坂幸太郎 鴨とアヒルのコインロッカー
東野圭吾  手紙
・・・

とあった時に
シート2のA列にそれぞれの名前があって
そのA列の名前とシート1のA列と同じ名前のB列を
下記のように一つのセルに自動的にまとめて表示したい場合どうすればいいのでしょうか?


伊坂幸太郎 「重力ピエロ、鴨とアヒルのコインロッカー」
我孫子武丸 「殺戮にいたる病」
東野圭吾  「悪意、手紙」

887 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 22:10:46
>>886

=Sheet1!A1&"「"&Sheet1!B1&"」"

シート2のA1に貼り付ければいいんじゃないの?

ところでその推理小説と作家名みたいな例題は何・・・・?

888 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 22:12:09
>>887
ありがとうございます
例題は特に意味はなく、ただわかりやすくしただけです

889 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 22:14:27
>>888

あ、自動的に名前が重複してるのを一緒に表示させたいって話でしたね。
すみません。

890 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 22:29:13
べつに誤るこたーねーだろん?

891 :名無しさん@そうだ選挙にいこう:2009/12/17(木) 23:01:35
>>889
はい、そうです

892 :名無しさん@そうだ選挙にいこう::2009/12/18(金) 03:34:34
質問です。

たとえば、セルに1と入力したら、別の表で指定している数値で計算したいのですが。
1=5と決めておいて、1と入れたら合計欄には5と出るようにしたいのだが。
すいませんが教えてください。エクセル2007です

893 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 03:48:46
>>892
入力セル =A1
合計欄 =B1

で、A1に1が入らない時は空欄という場合は、
B1 =IF(A1=1,5,"")

894 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 03:55:06
>>892
「別の表」って言ってるものが「1=5」の1を左の列、5を右の列に入れた形式の表なら、
vlookup関数を使う。
=vlookup(「1」が入ってるセル,「別の表」,「5」が入ってる列の位置,true)

895 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 07:17:00
http://www.nicovideo.jp/watch/sm9102358

896 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 07:19:18
間違えたけど、Excel版もねね

897 :892:2009/12/18(金) 10:06:02
>>893
ありがとうございます
で例えば、1=5の他にもたくさんあってその合計の場合もいけますか?
2=6や3=7があってセルの表に、1 2 3と順番に入れたら合計欄に18と出るようにしたいのですが。

898 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 10:23:56
>>897
ちょっとは応用しろ
同じパターンの数式を必要なだけ並べるだけだ

899 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 20:51:18
回答する先生は、もっとやさしくしろやハゲ!

900 :893:2009/12/18(金) 20:59:08
>>893は1=5にのみ対応してます。
1=5
2=6
3=7
ということなら
=A1+4がいいね。

901 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 00:10:20
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2007 Bussines
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 2007 vba 実行 ボタン

Excel-VBAを勉強し直そうと簡単なコードを実行しようとしていますが、
意図した動作が実現できず困っています。
(当時はExcel2000)

目標はボタンを押して2つのセルの合計を隣のセルに出すというもので、
全体像は下の通りです。
http://uproda11.2ch-library.com/215659A7q/11215659.png

単にデザインモードを解除しボタンを押せばC1,C2のセルに合計の9と5が
出ると思ったのですが何も変化しません。
※リボンをホームにしても空白のままです。

ただし、VBAウインドウの書式の下の緑三角ボタン(実行ボタン?)を押すと
指定したセルに合計の9と5がでます。

どうしたら良いでしょうか?


902 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 00:24:45
>>901
イベントを書く場所が違ってない?
ボタンをダブルクリックするとイベントが出るからそこに書くんだよ

903 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 01:02:26
>>901
こういうこと
ttp://ourfilehost.net/up/file1/img/up081.png

904 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 01:27:30
>>902-903
さんきゅうです。
コードをボタンのコードウインドウに書いて実行できました。

また、コードウインドウも (General),(Declarations)の組にしてもOKでした。


905 :名無しさん@そうだ選挙にいこう::2009/12/19(土) 01:40:26
あのエクセルでワークスケジュール?っていうのを作りたいんだけど、
出勤時間と退勤時間を入力したら、自動で棒が延びる線が出るやつってつくれます?

■■■■■←こうやって勤務時間がでる

また、時間の早いもの(早く出勤して早く退勤する早番)から上に出したいんだけど・・。
エクセルでつくれますか?
2007です。

906 :名無しさん@そうだ選挙にいこう::2009/12/19(土) 01:41:54
■■■■■■
   ■■■■■■
    ■■■■■■

こんな感じです。自動で。

907 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 02:24:53
つくれます

908 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 07:56:21
済みませんが宜しくお願いします

【1 OSの種類         .】 Windows
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ(全くの素人です)
【4 VBAでの回答の可否】 否(VBAで処理するのに参考になるものでしたらお願いします)

物が売れたデータを基にして、商圏を調べるデータを整理したいのですが、
以下のデータから以下のように整理したいと思うのですが、やり方や、参考になる事例などを教えていただけたらと思います。

◆手元にあるデータ
(1)顧客の住所(都道府県から市町村レベルまで)
(2)(1)から、顧客の居住地から当店までの距離を測定したもの
(3)初めて顧客になった年月
(4)当店で買い物をした理由(5択)(数字番号と、理由どちらで記したものもある)

◆求めたいデータ
(a)顧客の居住地までの距離と件数を表したもの(年別に表したものと、全体でまとめたもの)
例えば20キロ単位(0〜20キロとか、120〜140キロ)で何件あるかをグラフにしたものと、それを2次式で近似した数式

(b)(4)を用いて、1の理由⇒??%、2の理由??%という円グラフを作成したい

909 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 08:33:39
>>908

とりあえずピボットテーブルを調べてみて。
そしたらほとんど解決するから。その後、未解決の問題だけもう一度質問して。

910 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 11:15:34
>>909
有難うございます
勉強しながらやってみます

質問ついでにあと一つ伺いたいのですが、

ある列において、A行、B行の値がそれ以前に入力したデータのある列と全く同じ場合に、
C行、D行に、その列と全く同じ値を自動的に入力するような事って出来ます?


911 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 12:32:00
>>871
ありがとうございました。
ただ、12月の日数はカウントできてるのですが、
そこから営業日がカウントできないのです。
NETWORKDAYSとかと組み合わせればよいものでしょうか・・・。

912 :名無しさん@そうだ選挙にいこう:2009/12/19(土) 18:23:15
>>910

ABの組み合わせによって決まる値を別テーブルに用意しておき、VLOOKUPで参照したらよい。

913 :名無しさん@そうだ選挙にいこう::2009/12/20(日) 00:20:38
>>907
お願いします

914 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 00:48:50
>>913
丸投げすぐる
シートのデザインぐらい自分でやれ
自分でできない部分だけを聞け

あと質問にはテンプレ使え

915 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 00:56:18
>>912
有難うございます
そんなことも出来るのですね
段階的にやってみます

916 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 20:03:06
=SUMPRODUCT(($BN$14:$BN$709<=25)*($BX$14:$BX$709>0))

ここの

$BN$709

の部分を外部のセル参照にできないものでしょうか?

気持ち的には

=SUMPRODUCT(($BN$14:A1<=25)*($BX$14:$BXA1>0))
                 ^^^            ^^

A1 には ”BX300”
とかが入ってます

917 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 20:05:12
間違えた

=SUMPRODUCT(($BN$14:A1<=25)*($BX$14:$BXB1>0))
                 ^^            ^^

A1 = BN300
B1 = BX300

とかです


918 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 20:22:19
>>917
INDIRECT

919 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 20:36:40
>>918
ありがとうございます
今から調査します!!!

920 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 20:49:09
>>918
できました!!!!
ありがとうございました
ついでと言っては何ですが、以下のような使用法は駄目みたいです。
解決法がありましたらお願いします!!

=SUMPRODUCT(($BN$14:indirect(A1)<=25)*($BX$14:INDIRECT(B1)>0))

閾値25 ( <=25 25以下の条件部) を外部参照にしたい

=SUMPRODUCT(($BN$14:indirect(A1)indirect(A3)*($BX$14:INDIRECT(B1)>0))
^^^^^^
これではエラーになるようです

921 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 21:01:12
>>920
できました!!!事故解決

=SUMPRODUCT(($BN$14:INDIRECT($CE$9)<=CB14)*($BX$14:INDIRECT($CE$10)>0))

922 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 21:23:10
>>916
他スレにマルチしたらそっちへ解決したことをきちんと報告しておけよ。

923 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 21:25:16
>>922
はい!!!  たった今行って来ました!!

924 :名無しさん@そうだ選挙にいこう:2009/12/20(日) 23:25:57
巡回厨うざ

925 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 04:26:04
不連続なセルの範囲に対して COUNTIF は使えるのでしょうか?
カンマ区切りで複数のセル範囲を与えようとしても
引数が多すぎると言うことになってしまいます。

926 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 04:40:22
CONCATENATE で複数の文字列の間に特定の文字列を挟み込むことはできますか?

927 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 07:58:59
>>925

そろそろCOUNTIFから卒業するころということだ。
そんなの使っていては仕事にならないだろ?

928 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 08:09:56
>>926 やってみれば?失敗するとPC爆発するから気をつけてね。

929 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 11:29:40
A1 データ1
A2 空白
A3 データ2
A4 データ3
A5 空白
A6 データ4
・・・

3行ごとに同じパターンのデータがあった場合
A3、A6、A9・・・と3の倍数のデータを
それぞれB1、B4、B7・・・にまとめて移動させる方法とかあるのでしょうか?
数行なら手でやるのですが、さすがに数百行になるときついので

930 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 11:57:56
>929

B列に=IF(MOD(A1,3)=0,A1,"")してから値貼付け

931 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 11:59:14
>929

訂正:=IF(MOD(ROW(),3)=0,A1,"")

932 :複乳:2009/12/21(月) 12:20:00
>>925
a-c,i-k列を数えたければ
=COUNTIF(A1:C1,5)+COUNTIF(I1:K1,5)
みたいなカンジ
>>926
&の方が使いやすいと思うけどなぁ
=CONCATENATE(A1,"aaa",B1)
=A1&"aaa"&B1
どちらてせも

933 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 12:59:26
使えねぇコテだな〜w

934 :複乳:2009/12/21(月) 15:01:23
じゃぁどうやるんだよ〜っ><

935 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 15:24:03
>>929
B1=IF(MOD(ROW(),3)=1,A3,"")
あとは下にコピー

>>931
質問をよく嫁

936 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 15:46:54
????5月??????
!!!!12月!!!!!!

という文字列から、5月、12月を抽出するマクロか関数を教えてくだしあ。
「月」以降の文字数は同じです。

937 :複乳:2009/12/21(月) 16:47:02
>>936
b1=MID(A1,FIND("月",A1)-2,2)
c1=IF(ISERROR(OR(B1*1=10,B1*1=11,B1*1=12)),RIGHT(B1,1),IF(OR(B1*1=10,B1*1=11,B1*1=12),B1,RIGHT(B1)))&"月"

938 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 18:05:56
>>937
ありがとやんした!

939 :名無しさん@そうだ選挙にいこう:2009/12/21(月) 21:28:32
>>936
=SUBSTITUTE(A1,LEFT(A1,1),"")

940 :名無しさん@そうだ選挙にいこう:2009/12/22(火) 01:06:49
>>936
=IF(MID(A1,FIND("月",A1)-2,1)="1",MID(A1,FIND("月",A1)-2,3),MID(A1,FIND("月",A1)-1,2))


941 :名無しさん@そうだ選挙にいこう:2009/12/22(火) 02:02:21
>>936
= (????5月??????) - (????) - (??????)w

942 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 02:36:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

発注管理.xlsのE列に0.0000があるとき、部品リスト.xlsの中から該当する部品番号を
探して埋めるのにVLOOKUPを使っていますが、マクロでできますか?

発注管理.xls
     A        B          C      D     E      F
10  DATE   PART NUMBER  PART NAME  QYT  PRICE  AMOUNT
11  20/Dec  E-72U        LENS CAP 72  1   0.0000  0.0000
12  22/Dec  E-67U        LENS CAP 67  2   0.0000  0.0000
13  22/Dec  E-58U        LENS CAP 58  1   0.3570  0.3570


部品リスト.xls
       A         B         C
2  PART NUMBER  PART NAME   PRICE
3  E-52U        LENS CAP 52  0.3280
4  E-58U        LENS CAP 58  0.3570
5  E-67U        LENS CAP 67  0.3790
6  E-72U        LENS CAP 72  0.3960

943 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 05:17:27
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ecsel2007 if

[・5月が60000以上の人を「優秀」、6月が50000以上の人を「合格」、
それ以外の人を「今後に期待」と表示する。]
をif文をつかって表現するにはどうすればいいですか。

944 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 05:24:11
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ecsel2007 関数
38 49 49 73 83 92 94 67 32 78 94 88 40
「表を作成し、並べ替えせずに、70点以上のものだけを
一つの関数を用いて合計せよ。
(計算式を入力せずに、関数を用いること)」
のやり方を教えていただけないでしょうか。

945 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 05:33:27
>>943-944
ecsel2007ってなんだ?
宿題は自分の力でやれよw

946 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 08:05:34
>>944
ヒント:SUMIF関数

947 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 09:08:40
>>943
=if(5月のセル>=60000,"優秀",if(6月のセル>=50000,"合格","今後に期待"))


948 :複乳 ◆MeiY43UMr. :2009/12/23(水) 13:11:32
>>942
できる
ワークシート関数をマクロ内で使う事もできるので、
そっちでやるのもいいかも


949 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 17:50:02
WEB上のhtmlデータを参照し、その中から文字列を抜き出してセルに表示することはできますか?

950 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 17:57:26
できる

951 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 18:03:39
!!
htmlをコピペするのではなく、WEB上のデータを範囲指定して取り込むことはできますか?

イメージとしては、価格情報サイトから価格を抜き出し、簡単に更新できるようにしたものを作りたいです。
excel上の操作で更新作業を行える感じがしないので少し不安です。



952 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 18:25:14
データ−外部データの取り込み−webクエリ
2003以前ならしらない

953 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 20:26:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002

セルにファイル名を書き、そのセルを選択してボタンのクリでアクロバットリーダーが立ち上がり、
PDFを開くようにしますた。このとき、セルに入れたファイル名が hoge.pdf ならおkですが、
hoge.PDF だとダメぽです。

FN = ActiveCell.Value
FOL = ActiveCell.Offset(0, -1).Value
If Right(FN, 3) = "pdf" Then
  Call ShellExecute(0, "open", FOL & "\" & FN, vbNullString, vbNullString, 1)
End If

この If Right(FN, 3) = "pdf" Then を If Right(FN, 3) = "pdf" Or "PDF" Then に
変えてもダメぽですた。Ifを無くせば立ち上がりますが、意図しないセルを選んだときに
誤動作を防ぐ意味で書いてます。どこを直せばいいですか?

954 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 21:04:49
>>953

orの使い方が間違ってる。
Right(FN, 3) = "pdf" Or Right(FN, 3) = "PDF"

955 :名無しさん@そうだ選挙にいこう:2009/12/23(水) 21:06:43
>>953
自分だったら
If UCase(Right(FN,3)) = "PDF" Then
とでもするかな。あんまり無いとは思うけど"Pdf"とか"pDF"とかあったら困るじゃん

あと
> If Right(FN, 3) = "pdf" Or "PDF" Then に
> 変えてもダメぽですた。

「演算子の優先順」について調べたほうがいいと思う

956 :953:2009/12/23(水) 21:41:55
>>954-955
ありがとうございます。どちらもうまくいきますた。
演算子の優先順も調べますた。
お恥ずかしい限りです・・・

957 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 04:32:52
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 Excel 有休 計算 残日数 7時間45分


有給休暇の残り日数を管理しています。
1日=7時間45分
と考えて次のような計算シートを作りたいのですが…

現在の残り日数…[1日3時間15分]
今回の使用日数…[4時間]
   ⇒ 結果… 7時間

こんな感じにしたいのですが、検索してもなかなかこれだという物が出てきません…
カッコ内に自分で残り日数と使用日数を入力すれば、結果を自動計算してくれる、という物が理想です。

手計算だと計算間違いが多いので、色々な人に自由に使ってもらえるような形にしたいと思っています。ご助言頂ければ幸いです

958 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 09:01:07
日付+時間の計算は、探せば、見つかるはず(昔使った記憶がある)
#今風邪で探すのめんどい

959 :複乳:2009/12/24(木) 09:04:14
>>957
その現在の残り日数1日3時間15分は、10時間15分ととらえてよいのか?
そこから4時間減れば6時間15分だと思うんだけど
計算方法が良く分からない

960 :複乳:2009/12/24(木) 09:52:02
>>957
見間違えてたぜ。寝不足は良くないなぁ
B1=INT(ROUND(D1/(7.25/24),8))
C1=D1-ROUND(B1*7.25/24,8)
D1=10:15
D1は前月繰越を直接入力、A1は空白

A2に今回の時間
B2C2は下にオートフイル
D2=D1-A2
これでどう

ちなみに時間計算でfloor使うと小数誤差が
起きやすいからあんまり使わないほうがいい


961 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 12:35:44
7時間45分だから10進に直せば7.75だろ
基本的に時間で管理して表示するときだけMOD()で日単位にすればいい

962 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 12:37:12
10進ってゆーの・・・・知らなかった

963 :複乳:2009/12/24(木) 12:59:33
そうだな。合歓い

964 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 16:13:58
excel2003、標準ビューに改ページプレビューの
点線みたいなのが表示されるんですが消すことはできますか

965 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 16:45:11
繰り越しが20日あるとして年初に休暇日数が40日だとする。
1日が7:45だから、×40で310:00。日に直すときは=INT(A1/TIME(7,45,0)) =40

4時間の休暇取得は引き算でいい。B1に"4:00"が入ってればC1=A1-B1 =306:00
結果はD1=INT(C1/TIME(7,45,0)) =39日
E1=MOD(C1.TIME(7,45,0)) =3:45

966 :複乳:2009/12/24(木) 16:59:26
>>964
ツール おぷしょん 表示 改ページ

967 :名無しさん@そうだ選挙にいこう:2009/12/24(木) 17:40:35
>>966
ありがとうございました

968 :957:2009/12/24(木) 23:24:32
レスくださった方々、ありがとうございます!

参考にしながらなんとか求めていた形のシートを作る事が出来ました。これで計算間違いを減らせそうです。

969 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 01:23:15
1以上の数字が入っているセルを、
全て1に置き換えたいんですが、どのようにすればいいのでしょうか。
置換でワイルドカードがうまくつかえなくて・・・。

970 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 01:31:15
>>969
数字の大小を条件に置換することはできない
作業列に=IF(A1>1,1,A1)とか入れる
二次元の表なら作業シートかマクロか条件付き書式で

971 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 03:09:09
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 印刷されない 網掛け フォーム コントロール テキストフィールド
ttp://www.vector.co.jp/soft/dl/win95/business/se456949.html
上のURLでダウンロードできる見積書みたいに入力できる場所だけに
印刷されない網掛けみたいなのをかけたいのですが、
この網掛けのような物はどうしたら設定できるのでしょうか?

シートの保護は出来てます。

説明が下手ですみません。

972 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 03:26:59
>>971
このファイルは印刷プレビュー→設定→シート→のところの
白黒印刷にチェックがついている。
これをはずすとカラー印刷のプレビューになる
これのことかな?

973 :971:2009/12/25(金) 03:45:51
>>972
ありがとう御座います。
凄い申し訳ないです。勘違いしてました。

URLの見積書で出来てるのだと勘違いしてました。

印刷されない網掛けって出来ないのかなぁと思いまして・・・


974 :971:2009/12/25(金) 03:51:57
相談を間違ってしまっていたので、もう一度書き直させて頂きます。
すみません。

【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 印刷されない 網掛け フォーム コントロール テキストフィールド

印刷されない網掛けみたいなのをかけたいのですが、
網掛けのような物は設定できるのでしょうか?

>>972さんの方法は、非常にたすかるのですが、
印刷は、カラーでもしたいので、できれば嬉しいなぁと思いまして・・・


色々と、本当にすみません。

975 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 04:10:35
>>974
これはどう?
http://oshiete1.goo.ne.jp/qa2736577.html

976 :複乳:2009/12/25(金) 08:53:24
>>318
超遅レスだけど
オプション 表示 コメントとコメントマーク
で常時コメント表示されたわ
移動してもそのまま保存される

977 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 19:09:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup ♯N/A

特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。

 A  B   C   D
○日     ○日
0:00  1   0:00  2
0:01  1   0:05  2
0:02  1   0:10  2
0:03  1   0:15  2
0:04  1  ・
0:05  1  ・
・      ・



※B列、C列には任意の数値が入ります。

といった元データで、VLOOKUPを使ったのですが、♯N/Aエラーがでたりでなかったりします。
数値が無いもので♯N/Aエラーが出るのはわかるのですが、参照範囲中に当てはまる数値があるのに
エラーとなってしまう箇所が多々あります。
A列、C列の時刻はセルの書式設定で揃え、オートフィルで作りました。

良い対処法はないものでしょうか?

978 :977:2009/12/25(金) 19:13:13
えらいずれてしまったので、書き込みなおします。


【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup ♯N/A

特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。

 A   B   C   D
○日    ○日
0:00  1   0:00  2
0:01   1   0:05  2
0:02   1   0:10  2
0:03   1   0:15  2
0:04  1  ・
0:05  1  ・
・      ・



※B列、C列には任意の数値が入ります。

といった元データで、VLOOKUPを使ったのですが、♯N/Aエラーがでたりでなかったりします。
数値が無いもので♯N/Aエラーが出るのはわかるのですが、参照範囲中に当てはまる数値があるのに
エラーとなってしまう箇所が多々あります。
A列、C列の時刻はセルの書式設定で揃え、オートフィルで作りました。

良い対処法はないものでしょうか?

979 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 19:15:49
>>978
D2=VLOOKUP(C2,A:B,2,TRUE)

980 :977:2009/12/25(金) 19:41:43
度々修正が入ってすみません。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup ♯N/A

特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。

 A   B   C   D  E
○日   ○日
0:00  1 0:00  2
0:01   1 0:05  2
0:02   1 0:10  2
0:03   1 0:15  2
0:04  1 ・
0:05  1 ・
・ ・


※B列、E列には任意の数値が入ります。


C2=VLOOKUP(A2,$D$2:$E$288,2,FALSE)  で、オートフィルでやっています。後に♯N/Aを消すために、

C2=IF(ISERROR(VLOOKUP(A2,$D$2:$E$288,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$288,2,FALSE)) を実行しました。

981 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 20:44:01
C2に
=OFFSET($A$2,(ROW()-2)*5,0)
以下コピー

じゃないの・・・VLOOKUPの意味がわからん

982 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:07:09
>VLOOKUPの意味がわからん

分らなかったら、ググれ!ピボット厨

983 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:24:01
V L O O K U P 「を使う」 意 味 が わ か ら ん

984 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:36:42
>>982
規則的に並んでるんだから、いちいち検索しなくてもセル位置は計算で求められるだろ

985 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:38:01
>>980
相変わらず表がずれててよくわかんない
こう?

   A   B   C    D  E
1  ○日    ○日
2  0:00  1  0:00  2
3  0:01  1  0:05  2
4  0:02  1  0:10  2
5  0:03  1  0:15  2
6  0:04  1   ・
7  0:05  1   ・

986 :977,980:2009/12/25(金) 22:11:24
あいかわらずずれまくりですみません。
こんどこそ。

   A   B   C    D   E
1  ○日        ○日
2  0:00  1      0:00  2
3  0:01  1      0:05  2
4  0:02  1      0:10  2
5  0:03  1      0:15  2
6  0:04  1       ・
7  0:05  1       ・

>>981
OFFSET関数でぐぐってみます

>>985
今度こそうまく表示されてるんではないでしょうか。

987 : ◆Excel//q4U :2009/12/25(金) 22:17:36
A2=1/24/60/60
A3=A2+1/24/60/60
A4以下はコピぺ

C2=1/24/12
C3=C2+1/24/12
C4以下はコピペ

書式はm:ss
でどうだ?やりたいのはこういう事なの?

988 : ◆Excel//q4U :2009/12/25(金) 22:21:55
ごめん。60を入れそこなった。

C2=1/24/60/12
C3=C2+1/24/60/12
C4以下はコピペ

989 :977,980,986:2009/12/25(金) 22:28:35
>>987
こちらの説明不足でした。

手元にあるデータは、別の場所で測定した温度のデータです。
両方0時から測定を開始し、一方は1分間隔、もう一方は5分間隔で測定しました。
A列B列が1分間隔のデータで、D列E列が5分間隔のデータです。


C2にE1のデータを、C7にE3のデータを…


という具合に整理したいと考えています。
自分の文書力と説明力のなさが辛い。

990 : ◆Excel//q4U :2009/12/25(金) 22:33:24
>>989
C2に
=IF(ISERROR(VLOOKUP(A2,D:E,2,0))=TRUE,"",VLOOKUP(A2,D:E,2,0))
以下コピペすると5分、10分の箇所にはデータが入るけど?

991 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:44:14
>>989
C2に
=IF(MOD(ROW(),5)=2,OFFSET($E$2,ROW()/5,0),"")
と入れて、C2のフィルハンドルをダブルクリック

992 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:46:14
>>989
=IF(MOD(ROW(),5)=2,OFFSET($E$2,INT((ROW()-2)/5),0),"")
こういうこと?

993 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:50:16
>>991
OFFSETで行数が小数になっても出来るんだ〜、へ〜

994 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:53:46
>>989
これでいいんじゃないかな
=IF(MOD(ROW(),5)=2,OFFSET($A$1,INT((ROW()-2)/5)+1,4),"")

995 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:56:33
おまいら書き込む前にリロードしろ

996 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:59:13
>>993
小数点以下は切り捨てられる。つまりINT関数を省略しても結果が同じになるれけ

997 :977:2009/12/25(金) 23:23:17
>>990-996
さまざまな助言をいただきありがとうございます。

恥ずかしながら、excel初心者で、
参考書片手に皆様のレスを解釈している状態でして。
自分のデータに反映させるにはどこをどういじればいいやら
頭をひねっております。

時間がかかりそうですが、がんばってみます。

998 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 23:29:23

       フアァァァ
     ∧_∧____ ネムクナッチャッタ
    /(*´o`) ./\
  /| ̄∪∪ ̄|\/
    |   しー  |/
      ̄ ̄ ̄ ̄

999 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 23:30:10

     ______ オヤスミナサイ,,,
    /∧ ∧/)./\
  /| ̄ ̄ ̄ ̄|\/
    |   しー  |/
      ̄ ̄ ̄ ̄

1000 :名無しさん@そうだ選挙にいこう:2009/12/25(金) 23:31:20

         パタン
      ____ミ
    /  /  /|
    | ̄ ̄ ̄ ̄|. |
    |   しー  |/
      ̄ ̄ ̄ ̄

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

338 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)