1 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:40:05 ] Excelに関する質問は、ここで! ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━ ★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。 ★2 要望は具体例や図を使って明確かつ具体的に。 ★3 質問前に>>2-10 あたりの注意書きや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総合相談所 67 pc11.2ch.net/test/read.cgi/bsoft/1207792832/
2 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:40:42 ] ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:41:03 ] ★ルールを無視すると… >>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 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:41:25 ] ★ 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 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:41:55 ] ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
6 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:42:56 ] 上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
7 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:44:05 ] ________________________________ || || ━ 質問のしかた ━ || || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。 || ★2 要望は具体例や図を使って明確かつ具体的にしる。 || ★3 質問前に>>2-20 あたりの注意書きやQ&Aを必ず読むこと。 || ★4 質問テンプレ(雛形)は必須ではないが、 || OSやExcelのバージョン、VBAの可否などは必須情報。 || || ∧ ∧ 。 || ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /  ̄ ̄ ̄ ./| ________________ | ̄ ̄ ̄ ̄| | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \ は〜〜〜〜い / ∧ ∧ ∧,,∧ ∧ ∧ ( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧ 〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧ @(_(,,・∀・)@ ( *)〜ミ_ ( ,,) @(___ノ 〜(___ノ 〜(___ノ
8 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:49:15 ] エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。 【質問不可】Excel総合相談所スレの雑談・議論スレ2 pc11.2ch.net/test/read.cgi/bsoft/1151651536
9 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/07(水) 23:50:34 ] 次スレ立ってなかったから立てようと思ったらw >>1 乙
10 名前:名無しさん@そうだ選挙にいこう [2008/05/07(水) 23:56:27 ] 【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 こんなの↓(A列とB列。100行程度) 4/12 | 山田 4/20 | 佐藤 4/8 | 鈴木 4/21 | 佐藤 4/7 | 山田 4/25 | 佐藤 4/8 | 佐藤 から、こんなの↓(C列とD列) 山田 | 4/7,4/12 佐藤 | 4/8,4/20,4/21,4/25 鈴木 | 4/8 を作りたいのですけ、どどうすればいいでしょう? D列に関数を入れておいて、C列に「山田」と 入れると「4/7,4/12」が出てきてほしい。 「4/12,4/7」になっちゃってもいいです。 D列に出てくる日付の数は、無制限だと嬉しいけど、 10個もあれば実用上問題ないです。
11 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 01:05:02 ] 【1 OSの種類 .】 Windows*XP Home 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 軸ラベル 表示されない ttp://support.microsoft.com/kb/870698/ja グラフのy軸の軸ラベルの末尾が切れて表示されます 文字が長すぎると思い、全角3文字にしても切れたままでした 上記のリンク先の通り、解像度を4:3のものにしても改善されません (使用しているノートのディスプレイの本来の解像度は16:10です) 考えられる改善策を教えていただけませんか?
12 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 06:39:39 ] >>10 名前でソートする方が実用的だと思うけどな。
13 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 07:38:54 ] >>11 グラフを移動させてみるか、軸の書式設定を変えてみるか・・
14 名前:10 [2008/05/08(木) 07:57:23 ] >>12 今は名前でソートしたあとメモ帳にコピペして 指定の書き方に直してる。 たまに間違えて怒られちゃうの。
15 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 08:21:31 ] >>14 普通の機能だけだと完全自動化は難しいと思う。 ピボットで名前×日付の集計表に直してから、IFとか&とかで整形する方法くらしか思いつかない。 こういうのやりたかったらVBAが向いてるんじゃないかな。
16 名前:15 mailto:sage [2008/05/08(木) 08:29:22 ] ちなみにピボットテーブルでやる方法 1.名前×日付の集計表に直す。 2.集計表の右隣にIF関数で「集計値がある時は日付,ないときは""」として集計表と同じサイズの表を作る。 3.新しく作った表を&でつないでできあがり。
17 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 09:35:52 ] VBA不可なのでとりあえずピボットテーブルでやってみた。 サンプルは集計できる範囲が10日間の簡易版だから、1ヶ月分ぐらいいっぺんに集計したいなら、 式をもっと長くする必要がある。 どう考えてもVBA使った方がすっきりできる。 スクショ ttp://www.07ch.net/up2/src/lena2019.png ブック本体 ttp://www.07ch.net/up2/src/lena2018.zip
18 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 10:17:06 ] 集計をピボットでやってから文字列の連結をVBAで関数作ってやるのが一番手間が少ない。 適材適所で組み合わせて省力化することを考えないから厨って言われちゃうんだよ。
19 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 10:49:01 ] >>15 どこぞのDQNどもは数式でやっちゃうかも。 ひどいのになると配列数式でやるからね。
20 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 12:57:24 ] へー 配列数式を書けないようなDQNは配列数式が書ける奴のことをDQNとか 言っちゃうんだw 何でもかんでも配列数式で片付ける奴もアレだが、VBA回答否の 質問者にとってVBA以外の回答を出せない奴ほど役に立たない奴はいない。 分からなきゃ黙ってろw それとこの反論は>>8 で受け付けるぜ!
21 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 13:49:13 ] 配列数式ぐらい書けるやつゾロゾロいるだろ? みんな馬鹿らしいから書かないだけ。 特にSMALLとROWを使った式なんて超恥ずかしいもんね。
22 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:00:44 ] >>20 配列数式での解答を書けばいいじゃない。他人が何を言おうと自信もてばいいよ。 私は普段ピボットテーブルがいいぞと主張しているんだけど、それはもうすごい叩かれかたですよ。 ちなみに今回は>>12 >>15 >>16 を書きました。
23 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:13:56 ] >>22 あれは覚えたてのやつが面白くて仕方がなくて書くだけだろ? 分かってるやつは馬鹿らしいから普通書かないよ。 普通はある程度で卒業するものなんだが、中には死ぬまでやめないやつもいる。 サルがナニを覚えると死ぬまでやめないとか言うからなぁ。
24 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:25:40 ] >>23 具体的な解法を書けない奴が吠えるなよw
25 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:26:28 ] もっとカジュアルに使えばいいのに そんな大層な物でもあるまいしアホくさ
26 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:28:57 ] 前スレ966ありがとうございました
27 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:29:34 ] 間違えた前スレ969でした
28 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 14:34:39 ] >>23 X サルがナニ ○ サルがズリズリ
29 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 15:26:37 ] 以下のように、 A列=日付、B列以降にデータが入っています。 A B C 2000/1/1 ********** 2000/1/2 ******** 2000/1/2 ********** 2000/1/3 *** 2000/1/3 ***** 2000/1/4 ********* 2000/1/4 ******* 今日が1/4とするならば、 2000/1/4 ********* 2000/1/4 ******* のように オートフィルタでA列の今日の日付を選択抽出するVBAコードを 教えて頂けないでしょうか?
30 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 16:25:21 ] >>21 確かにぞろぞろいるね。 でも、君は書けないんでしょ? 書けない香具師は黙っとけ
31 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 18:53:11 ] >>30 難しいことは長所ではありません。
32 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 19:12:16 ] >>30 かわいそうな人だねまったく。 書こうと思えば書けるから馬鹿にしてんのよ。 でもプライドがある人はあぁいう不細工な式は書かないよ。 お前はプライドなさそうだから書けば?
33 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 19:18:16 ] >>30 ピボットテーブルは誰でも簡単に使えるのが魅力です。そんな私は配列数式には魅力を感じません。 配列数式でなければ実現できないことがあれば別ですが。
34 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 19:27:23 ] >>32 不細工な式ってどういう式よ。 配列数式を縦に横にフィルコピーか? だとしたら、そんなことするやつは終わってるわな。 >>31 が言わんとするように簡単がいちばんだから、まともな人はまずソートするね。 言っとくけどピボットもソート使ってるから。 もちろんdictionaryが使える人はそれでもよいが。
35 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 19:38:07 ] >32のブライドってのは自分に能力が足りないから書かないって事かwww
36 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 19:41:42 ] またやってるw 前スレで配列数式とSUMPRODUCTが好きなやつはほとんどドキュソだって書いたんだが。
37 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 19:47:53 ] >>34 >言っとくけどピボットもソート使ってるから。 それで何が言いたい?
38 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 19:53:07 ] 俺以外は全員馬鹿
39 名前:34 mailto:sage [2008/05/08(木) 19:54:46 ] >>37 ピボットもまともな方法の一つということ。
40 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:07:53 ] >>39 実際、>>10 のやろうとしてることはあまり良いことではないね。 横方向に並べるのはいろんな不都合がある。 名前でソートした時点で必要な情報は得られているんだからそれでよしとすべし。
41 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 20:13:16 ] 俺にできないから我慢しろ
42 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 20:14:17 ] 我慢するべき 我慢できない奴は頭がおかしい
43 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:17:55 ] 配列数式を入力する時にCtrl+Shift+Enterと同時に3つのキーを押さないといけないのは 手が不自由な人に対する差別じゃね?指が2本しか無い人は押せなくね?
44 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:18:02 ] 配列数式って覚えようと思ったけど作業列で代用できることに気づいて途中から勉強してない
45 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:20:53 ] >>41 >>42 まあまあ茶化すなって。 横方向に伸びるレポートは実際に困ることが多いんだよ。 明細は縦に並べるスタイルに早く慣れたほうがいい。 >>10 にとっても>>10 の上司にとっても。
46 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:22:54 ] >>43 指一本でよくね?
47 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:24:08 ] >>46 すんません、指1本で何とか押せました
48 名前:34 mailto:sage [2008/05/08(木) 20:28:20 ] >>40 そういえばそうだね。
49 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:29:16 ] >>29 Sub Macro2() Columns("A:A").Select Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:=Date, Operator:=xlAnd End Sub マクロの記録そのままだけど
50 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 20:44:12 ] 昨日公開されたXP用メイリオフォントを入れました。 ダウンロードの詳細 : Japanese ClearType fonts for Windows XP www.microsoft.com/downloads/details.aspx?FamilyID=f7d758d2-46ff-4c55-92f2-69ae834ac928&DisplayLang=ja 大概の部分ではとても快適な視認性なのですが,Excel2003においては, 下記のようにフォント,フォントサイズ,ズームのボックスが異様に幅広になってしまいました。 upp.dip.jp/01/img/6636.png 直す方法がありましたら教えてください。
51 名前:29 mailto:sage [2008/05/08(木) 20:49:00 ] >>49 ありがとうございました。
52 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 22:04:57 ] 質問です。xp 2003 c列始まりでの、n行(n=3,4,5)列毎に24個の平均値を出す方法を教えてください。 n=3の例 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,bu列
53 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 22:10:37 ] すみません。条件を書き漏らしですので追加。 個別列指定をしない方法で。
54 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 22:13:18 ] もとい! すいません。 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,buという 個別列指定をしないでという意味です。
55 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 22:15:19 ] >52 =IF(MOD(COLUMN()-3・・・
56 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 22:29:53 ] >>52 INDEX関数を使えばできる。 ところでなんでそんな変わったことやりたいの?
57 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 22:34:25 ] 質問の仕方かまずかったので再設定しますです。xp 2003 c列始まりでの、n行(n=3,4,5)列毎に24個の平均値を出す方法を教えてください。 n=3の例 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,bu列 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,buという 個別列指定をしないで、また、average関数を使うという与件で よろしく、お願いします。
58 名前:57 [2008/05/08(木) 22:36:04 ] >>56 移動平均
59 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 22:36:58 ] >>55 だけじゃわからんだろw >>52 1行目に数字が入ってるとして A2に=IF(MOD(COLUMN(),$A$3)=0,A1,"") これを右にオートフィルして、後はA3にn行列を示す3か4か5いれて B3に=if(A3=3,SUM(A2:BU2)/24,"") B4に=if(A3=4,SUM(A2:CS2)/24,"") B5に=if(A3=5,SUM(A2:DQ2)/24,"") でもいれておけばok
60 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 22:38:03 ] ttp://www1.tcue.ac.jp/home1/abek/htdocs/stat/Excel/time/ma-excel.html だったらむしろこれは?
61 名前:59 mailto:sage [2008/05/08(木) 22:41:55 ] 作り方は汚いが用途限定ならこんなもんだろ と思ったらaverage使うのかよ =if(A3=3,average(A2:BU2),"")とでもするといいよ
62 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 22:45:26 ] >>58 移動平均はそんな計算じゃないでしょ? 移動平均で検索してみた?
63 名前:57 [2008/05/08(木) 22:53:37 ] これまで、結構、調べてきたつもり。で、 57の設問となった次第です。
64 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:01:20 ] >>63 もう一度調べておいで。 あ、報告はいらないからね。
65 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:03:05 ] >>63 例えばどんな本やサイトを参考にしましたか。 そこでは移動平均はどんなふうに説明されてました?
66 名前:57 [2008/05/08(木) 23:13:48 ] どうも、移動平均を書くと話がおかしくなるようなので、57の設問での回答が 可能であれば、お願いします。
67 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:14:21 ] >>59
68 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:14:58 ] ×移動平均を書くと話がおかしくなる ○57がおかしい
69 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:18:22 ] >>66 自分のオリジナルな指標を計算したんだな。 それならそう言えばいいんだよ。 要はセルを数字で指定できればいいんでしょ。 INDEXという関数を調べてみたら?
70 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 23:26:49 ] エクセルのファイルと間違えて、上書き保存してしまったのですが、 その前のデータを取り出すことは不可能でしょうか?
71 名前:名無しさん@そうだ選挙にいこう [2008/05/08(木) 23:37:09 ] Excel2003を使用しています 仕事で一日中使っていますが、一日二回くらいは数字入力しているとき、 連続して同じ数字が走り出します キーボードのNimLockキーの上のランプの二番目のCapsLockのAランプが勝手に点いて、 同じ数字が連続記入されていきます。 別のキーなりを押せば、異常は停止します。 何が原因か判らずに悩まされています。 キーボードとマウスは新品と交換し、「窓使いの友??」で両方のキャッシュも150にしました。 どうぞ宜しく
72 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:37:22 ] 無理です
73 名前:57 [2008/05/08(木) 23:37:58 ] >>59 さん サンクス でも、私の意図するものとはうまく言えないのですが、異なっております。 >>69 さん サンクス indexやindirectでも考えるだけはしたのですが、私の頭では無理とわかり、 聞きに来ました。
74 名前:72 mailto:sage [2008/05/08(木) 23:39:23 ] 72は>>70 宛ね >>71 は一生困ってればいいとおもう
75 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/08(木) 23:40:49 ] >>70 不可能です。 ただ、噂によると一千万ぐらいの費用で、上書きされた領域のデータを ディスク上の残留磁気を精密に測定して救出してくれるサービスがあるそうです。
76 名前:69 mailto:sage [2008/05/08(木) 23:43:23 ] >>73 まずは等差数列を作れるようになるといい。 3,6,9… 3,7,11… 3,8,13… みたいにね。 数式で作ってもいいし、オートフィルでもいいな。
77 名前:57 [2008/05/09(金) 00:17:19 ] >>76 A1に3,4,5を入力するとして、 =average(index(配列又は範囲,row(),A1+1),index(配列又は範囲,row(),A1*2+1)+…) のようなこと?
78 名前:57 [2008/05/09(金) 00:19:07 ] 訂正 =average(index(配列又は範囲,row(),A1+1),index(配列又は範囲,row(),A1*2+1),…)
79 名前:69 mailto:sage [2008/05/09(金) 00:36:06 ] >>78 ううん。そんなに複雑なこと考えてない。 A列に3 B列に6 C列に9 ↓ X列に72 となるように数字を並べてみて。
80 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 00:40:49 ] averageを使うなんて条件をつけた時点でろくな回答が出るわけがない・・・
81 名前:69 mailto:sage [2008/05/09(金) 00:54:53 ] >>80 averageを使うことは別におかしいとは思わないですけどね。 ただ、3個おきや4個おきにサンプリングした時系列データの平均を求める ことに何か意味があるのかという点には疑問が残るところです。 でも>>57 さんはやってみたいようですし。
82 名前:名無しさん@そうだ選挙にいこう [2008/05/09(金) 00:55:04 ] エクセルを閉じると必ずエラーになりMSへエラー報告するかしないかを問うメッセージが出ます 基本的には問題なく使えてますがどういうことでしょうか エロサイトを閲覧、新しくソースネクストのウイルスソフトを入れた後あたりから始まった現象です 関係あるでしょうか どなたか教えてください。よろしくお願いします
83 名前:10 [2008/05/09(金) 01:38:46 ] >>17 ありがとうございます。‥‥こんな感じになりますか、うーーん。 リストには金額も入っていて、20人弱のうち数人「今回は現金で」 って人が来たときだけ、名前を入れてSUMIFで合計額出して、日付の 列は >>14 で作って、別のアプリにコピペ、ってことしてます。 SUMIF で合計を出す代わりに文字列をくっつけてくれる関数って ないかなぁ、と。 >>40 だって、「1行100字入るんだから詳しく入れてやれ」って言われ てて‥‥。コピペしたらもうその「4/7,4/12」は使わないです。
84 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 01:55:05 ] >>83 もしかして営業さんの出張旅費清算や仮払い手続きをやっているのではないですか。 山田さんに旅費を渡す時に「4/7,4/12分で合計金額が○○円です」とわかればいいのでしょう。 違いますか?
85 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 05:21:13 ] >>83 データの入ったファイルに対して、別ファイルからODBC経由で接続して SQL.Request関数でも使ったらどうか? っていうかAccess使え。
86 名前:名無しさん@そうだ選挙にいこう [2008/05/09(金) 05:53:47 ] 複数の離れたセル選択して、 一括コピー貼り付けできる方法を教えて下さい。
87 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 06:57:39 ] >>86 コピー前とコピー後、それぞれどんなふうにセルが並んでいるかによって方法が変わってくる。 とりあえず離れたセルを選択するにはCtrlを押しながらクリックまたはドラッグ。
88 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 07:19:12 ] >>87 、ありがとうございます。たとえば、 A1,C1,E1をctrlキーで選択コピーしてA2に貼り付けすると、 A2,B2,C2にまとまってしまうので、 A2,C2,E2と言う具合で貼り付けしたいのです。
89 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 07:28:50 ] >>88 A2,C2,E2をctrlキーで選択、この時最後にA1を選択するようにする そしてA2に=A1と入力後、ctrl押しながらenterかな 今のところコレぐらいしか思い浮かばないや
90 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 07:30:25 ] >>83 面倒な作業をまとめてやってくれるのがVBAなんだけど、処理しなきゃならないのが数人分だと、 おおげさすぎる気もするかなあ。 時々間違えて怒られるのとVBAを覚えるのと、どっちも面倒だけどどっちにするか選んでもらうしかないね。 とりあえず合計金額は、SUMIFなんか使うよりピボットテーブルで集計した方が速いよ。 メニューやセルを、たった10回クリックするだけで、何百人いても一瞬で計算してくれる。 ttp://www.07ch.net/up2/src/lena2025.png
91 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 15:27:42 ] 横棒100%グラフで、件数と売上を月ごとに2列表示させる 方法を教えて下さい。
92 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 15:49:12 ] >91 軽〜くエスパーすると・・・ワカンネw
93 名前:名無しさん@そうだ選挙にいこう [2008/05/09(金) 16:10:04 ] VLOOKUPで「行番号」をマイナスで指定するようなことがしたいのですが、 それが出来る代替の関数はありますか?
94 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 16:21:49 ] >>93 つINDEXとMATCH C1の値をB1:B10で検索して、A列から答えを求めるなら =INDEX(A1:A10,MATCH(C1,B1:B10,0))
95 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 16:24:12 ] HLOOKUPじゃなくVLOOKUPで行番号? 上は列番号のつもりで書いて理から。 どっちでもINDEXとMATCHだ。
96 名前:名無しさん@そうだ選挙にいこう [2008/05/09(金) 16:34:53 ] >>95 すみません、列番号でした・・。 ありがとうございます。前スレでなんか話題になってた手法ですね。
97 名前:名無しさん@そうだ選挙にいこう [2008/05/09(金) 16:45:29 ] だからLOOKUPなんぞ使わずにINDEX/MATCHの方が(ry
98 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 22:12:38 ] >>INDEX/MATCHを使うと何が実現できるの?
99 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/09(金) 22:14:43 ] アンカー間違えた。 >>97 INDEX/MATCHを使うと何が実現できるの? マイナスで指定できること?
100 名前:名無しさん@そうだ選挙にいこう [2008/05/09(金) 23:37:56 ] >>99 おまい、いつまでも、しつこく、せからしいことやってないで、勉強するか寝てろw あぁ、そうそう、関数というのはどうゆう風に使われているか、役立っているかをな。
101 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 01:12:31 ] >>100 おもしろいやつだな。
102 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 02:34:09 ] 識別子の左側の列にある値を取り出したいならばINDEX/MATCHを使えということだな。 識別子は一番左に配置するのがセンスいいとは思うけどね。 ■INDEX/MATCH派の主張 識別子の左側の列にある値を取り出すなど、柔軟にセルの値を参照できる。 LOOKUPウィザードが作成する数式もINDEX/MATCHを使っているんだから当然我々もINDEX/MATCHを使うべきだ。 ■VLOOKUP派の主張 VLOOKUPさえあればデータを分類できるのでINDEX/MATCHの柔軟性は必要が無い。(売上データを商品分類別や地域別に分けるなど) LOOKUPウィザードが作成する数式もINDEX/MATCHを使っているんだから当然我々もINDEX/MATCHを使うべきだとは思わない。 ■両者に共通する認識 VLOOKUPよりINDEX/MATCHの方が柔軟である。 INDEX/MATCHよりVLOOKUPの方が覚えるの簡単。
103 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 07:55:40 ] 屁理屈、こだわり、全く無意味、根っ子が解ってないベービー
104 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:05:11 ] >>102 一番肝心なことが分かってないね。 E1:E10を検索してG列から答えを引っ張るのに =VLOOKUP(A1,$E$1:$G$10,3,FALSE) =INDEX($G$1:$G$10,MATCH(A1,$E$1:$E$10,0)) この二つの式の動作の違いが分るかい?
105 名前:洋子♪ [2008/05/10(土) 09:20:22 ] countif関数の活用で、教えていただきたいのですが。。。 A2:A30 と B2:B30 の2列に対して、例えばA列は”2” で、B列は”3” のセルの数を数えたい場合は countif関数をどのように活用すればよいのでしょうか? 宜しくお願いいたします。<m(__)m>
106 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:20:42 ] >>104 どっちが動作が軽いの?
107 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:21:27 ] >>105 足し算しろよw
108 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:22:24 ] >>104 弱い私の頭では分かりませんでした。 違いを教えていただけないでしょうか?
109 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 09:23:18 ] XPpro、EXCEL2003で、VBAは使えません。 質問です、下記の表のうち、4月に購入した 野菜−人参の合計額を求めたいのですが どういった関数を組み込めばいいのでしょうか? お願いいたします。 月 項目1 項目2 支出額 4 野菜 人参 100 4 野菜 人参 500 4 野菜 大根 100 5 果物 みかん 300
110 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:26:31 ] >>107 おまえ天才だな。 >>105 作業列が必要。 C列に=AND(A2=2,B2=3)と入れて、C列でTRUEが入ったセルの数をCOUNTIFで数える。
111 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:29:13 ] >>109 月、項目2、支出額でピボットテーブルを作りなされ。
112 名前:名無しさん@そうだ選挙にいこう mailto:123 [2008/05/10(土) 09:30:26 ] このスレの回答者はバカばっかりだね レベルの低い、何のノレッジも無いアホばっかり wwwwww
113 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 09:32:14 ] >>112 2ちゃんですもの・・・・・・(藁)
114 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:36:03 ] >>109 ・ピボットテーブル ・作業列 E2に=if(and(a2=2,b2="野菜",c2="人参"),d2,"") でどこかのセルに=sum(E:E)
115 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:37:09 ] >>104 分かんないんで教えていただきたいのですが っていうか前スレ辺りにも無かった? 結局答えないまま逃げていったけど
116 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:39:50 ] 【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 A列にはID B列にはそのX座標 C列にはY座標が入っています。 ここで、D列とE列に、A列から2つのIDを入力すると、 F列に、2つのID間の距離を出すような動作 はどのようにすれば良いでしょうか? F列で計算をさせる際に、A列のID2つを入力すれば、 =((B1-B2)^2+(C1-C2)^2)^(1/2) 上式のB1,B2,C1,C2に自動で値を入れるようにしたいのですが、 何か方法はありますでしょうか・・・
117 名前:100 [2008/05/10(土) 09:46:13 ] >>104 横レスだが、その与件を設定して比較する意味のなさ、というか、式自体が間違ってね?
118 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 09:59:21 ] >>116 IDが100個あってA1からA100まで入ってるとすると、IDから座標を求めるにはこういう関数を使う。 1番目のX座標 … VLOOKUP(D1,A1:C100,2,FALSE) 1番目のY座標 … VLOOKUP(D1,A1:C100,3,FALSE) 2番目のX座標 … VLOOKUP(E1,A1:C100,2,FALSE) 2番目のY座標 … VLOOKUP(E1,A1:C100,3,FALSE) これを式に代入すると =((VLOOKUP(D1,A1:C100,2,FALSE)-VLOOKUP(E1,A1:C100,2,FALSE))^2+(VLOOKUP(D1,A1:C100,3,FALSE)-VLOOKUP(E1,A1:C100,3,FALSE))^2)^(1/2)
119 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 10:03:37 ] >>118 今試して見ました、何の問題も無く動作しました。 本当にありがとうございます!
120 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 11:06:03 ] >>103 >屁理屈、こだわり、全く無意味、根っ子が解ってないベービー 反論できなくなって人格攻撃開始。 >>104 >=VLOOKUP(A1,$E$1:$G$10,3,FALSE) >=INDEX($G$1:$G$10,MATCH(A1,$E$1:$E$10,0)) >この二つの式の動作の違いが分るかい? 分からない。説明して。 >>117 >横レスだが、その与件を設定して比較する意味のなさ、というか、式自体が間違ってね? 式は間違ってないみたいだぞ。比較する意味のなさには同意する。
121 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 11:23:00 ] INDEXとMATCHを混ぜて使うときには 扉にちゃんと「有毒ガス発生中」と貼るんだぞ。
122 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 11:32:09 ] >>112 君がレベルの高い回答をしてやればいいじゃないか。
123 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 11:38:15 ] おまいら馬鹿ばっかだな。 >>104 がなかなか答えないから、おれがヒントだけ出してやるよ。 F1からF10の値が変わったときの違いは分る? こういうことだろ? 他はほとんど同じだと思う。
124 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 11:44:59 ] 【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 どこをどういじったのか、わからなくなってしまったのですが、 作業していてワークシートがAからDの列と 1から20行までの表示のみになってしまいました。 どうすれば、元のAからIVまでと、1から65536まで表示されるのでしょうか?
125 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 11:57:31 ] 状況がよくわからんな。 とりあえず最大化ボタンをクリックしてみる。 ttp://aaabbbccc.s6.x-beat.com/upload/src/up17593.png
126 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:04:41 ] >>123 F1からF10に乱数を入れてみたが違いはわからなかった。 ヒントでは不十分なので正解を書いてください。
127 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:06:13 ] >>124 ウィンドウ枠を固定していませんか? 「ウィンドウ」メニューから「ウィンドウ枠固定の解除」を選んでみてください。
128 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:13:28 ] >>104 は、出てこれないでなく、逃げた?
129 名前:123 mailto:sage [2008/05/10(土) 12:14:57 ] >>126 シートのタブを右クリックして、コードの表示で出てきたウィンドウに Private Sub Worksheet_Calculate() MsgBox "計算した" End Sub と書いて、F1:F10のうちのどれかのセルに何か入力してみろ。 おれは>>104 じゃねーから俺に正解をって言われても困るが、まずこういうことだと思う。
130 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:24:05 ] >>129 なるほどね。たしかに違うと言えば違うな。 その違いが処理のボトルネックになることはないと思うがね。
131 名前:123 mailto:sage [2008/05/10(土) 12:33:03 ] 他にも式がたくさんあるかないかの問題だね。 F1:F10を参照してる別の式があるとき、その別の式だけ再計算すればいいものを、 よけいなVLOOKUPの式まで計算させる必要はないからね。 式が山ほどあるときは、こういう小さな積み重ねがブックを重くするか軽くするかにかかわって くることもあると思うよ。
132 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:37:25 ] >>131 なるほどなるほど。 君の答えは非常に明快だ。INDEX/MATCHにもメリットはあるということがわかったよ。 ありがとう。
133 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:37:50 ] >>104 でないものが、いろいろ言っててもな 読み返すと、104は相手にされないと逃げたとかいう本人。 普通、関数厨は論理明確で好きなんだがね。常にそうとは限らない例外。
134 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 12:43:19 ] 今までロジックの通じない宇宙人とばかり話していたから>>123 >>129 >>131 に出会えてほっとした。
135 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 13:17:57 ] で、元興しのINDEX/MATCH はVLOOKUPがあれば、いらねという人は いる、使えるということでいいのかな
136 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 13:26:41 ] メリットは分かったが、めんどいな
137 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 13:32:27 ] >>135 本人です。そういうことでいいよ。 ただ、VLOOKUPがボトルネックになっていて、それをINDEX/MATCHで解消できる ような状況自体がめずらしいだろうとは思ってる。
138 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 13:35:54 ] >>135 もともとINDEX/MATCH派は検索の柔軟性をメリットとしていなかったか? それをもっと説明してよ。
139 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 13:40:39 ] >>136 実際にVLOOKUPが遅くて困ったことなんかないからねえ。
140 名前:104 mailto:sage [2008/05/10(土) 14:27:49 ] 代わりに正解書いてもらってすまんな>>123 こちとら急用で出かけてたが、みんな耳を傾けてたらしいな。 2chの馬鹿でも話せばわかるとは驚きだw
141 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 14:35:14 ] >>140 正しいことを書いていれば理解できるよ。 こっちも屁理屈を言ってるわけじゃない。
142 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 14:36:09 ] 質問なんですけど、一つのセルの中で他のセルを参照することは可能でしょうか? 例えばA1が「195」と入力すると、A4の中でその値を参照させて 計算式では 「="私の身長は"+A1+"cmです"」とし、 (↑当然エラーになります。ふいんき(←なぜか変換できない)だけ感じてください) 表示上では 「私の身長は195cmです」 のように表示させたいのです。 つまりは一つのセルの中で文字列と参照を結合するにはどぎゃんしたらよかとですか?
143 名前:123 mailto:sage [2008/05/10(土) 14:37:51 ] >>140 やっぱそういうことだったのね。 まほかに違いなんてないもんね。 ところで俺の意見のSUMPRODUCTと配列数式が好きなやつはドキュソが多いってのには賛成でつか?
144 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 14:46:47 ] これで円満解決かな。 ■INDEX/MATCH派の主張 (無関係の列を編集した時でも再計算されてしまうから)VLOOKUPはINDEX/MATCHよりも遅い時がある。 ■VLOOKUP派の主張 まあそういうときもあるかも。INDEX/MATCHを覚えることがまったく無駄とは言わない。 ■両者に共通する認識 VLOOKUPはINDEX/MATCHより遅くなる場合がある。 INDEX/MATCHよりVLOOKUPの方が覚えるの簡単。
145 名前:142 mailto:sage [2008/05/10(土) 14:51:27 ] 自己解決しました! ・CONCATENATE関数を使う「CONCATENATE("わしの月収は",A1,"しかないたい")」 ・アンパサンドを使う「"わしの身長は"&A1&"まであるぞ"」 ・質問者を蔑にして雑談してるお前らは知識の低さ以前にクズ ということですね、わかります
146 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 14:52:40 ] >>142 ="私の身長は"&A1&"cmです。" とするとよかと。 それから雰囲気は「ふんいき」が今のところ正しいとされている。
147 名前:104 mailto:sage [2008/05/10(土) 14:54:05 ] >>143 ペーハー4くらいの酸性かな? 配列数式も正しく使えばいいんだが、変な使い方するやつ結構いるからね。 同じ計算を何度もやってるような式をみるとこいつ駄目だなと思う。 SUMPRODUCTなんかも金種計算なんかに使ってるやつ見るとかわいそうになる。 何度同じ計算やらせてんだか。
148 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 14:58:47 ] >>147 私の場合、同じ計算を冗長に実行することに抵抗はない。 それよりも「わかりにくい」「メンテしにくい」「引継しにくい」が問題だと思う。
149 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:02:47 ] >>146 私がお人好しでした。 今度から自己解決しそうなやつには回答しないことにします。
150 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:09:11 ] >>123 君のドキュソぶりはさておいてw index/matchとvlookupの議論としては、解決に、ほど遠いだろw 俺も出かけるw
151 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:13:13 ] >>150 さてはSUMPRODUCT好きだなw 解決にほど遠いって作業列にMATCHのこと? そんなの常識だから104も書かんだけじゃないの?
152 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:24:58 ] うざい自演にしか見えない・・・
153 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:25:43 ] Excelでやりたいことなんて結局データをグループ別に集計することなんだから VLOOKUPでグループ分けしてピボットテーブルで集計すれば解決するんだけどな。
154 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:30:42 ] ほら、何書いても聞く耳持たんやつがでてくる。
155 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:32:02 ] >153 君がそう使っているからといってみんながそう使っている とは限らんワナw こういうやつが使えないのに「VBはうんこ!ピボマンセー!」 って言ってる気がする。
156 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:38:11 ] 元データ → 関数でデータ抽出 → 元データ削除 って可能ですかね? 可能でしたら どのような方法が考えられるか教えてくれませんか?
157 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:40:07 ] >>155 Excelどんなことに使っての?
158 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:45:03 ] >>156 抽出できたんなら簡単に削除できるだろ?
159 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:51:40 ] >>158 例えば LEFTとかで数字や文字列を抽出した後、削除するとエラー値が表示されてしまいます
160 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:53:44 ] 値貼り付けを知らないんだなきっと。 しかし関数でデータ抽出をやる害虫がまだ発生してるのか。
161 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:56:00 ] >>159 ああそういうことか。 データの形式を選択して貼り付けするとき形式を値にしたらいいよ。
162 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:56:57 ] >>160 ありがとう!
163 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:57:14 ] なんだ関数でデータ抽出ってLEFTとかのことか。 害虫なんて言ってすまんかった。 おれはまた配列数式かと思ったよ。
164 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 15:58:45 ] >>160 LEFTとか使っちゃだめなの?
165 名前:160 mailto:sage [2008/05/10(土) 16:00:11 ] >>164 いやいやおれの勘違い。
166 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 16:03:45 ] >>149 問題はそこじゃない希ガス
167 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 16:07:14 ] >>166 そだね。 >・質問者を蔑にして雑談してるお前らは知識の低さ以前にクズ こんなこと書くやつこそ人間のクズだな。 おれも書こうとしてたんだが、こんなやつに回答しなくてよかったよ。
168 名前:洋子♪ [2008/05/10(土) 16:24:11 ] >>110 ありがとうございます<m(__)m> countif関数にandを追加して・・・ との一発で 抜き出す、方法はナイのですね。。。。
169 名前:10=83 [2008/05/10(土) 16:36:37 ] >>83 そんな感じです。営業さんでも出張旅費でもないですけど。 >>90 VBAは「ちょっと知ってる」けど「ここでは使っちゃだめ」なんです。 こそぉり使っちゃるかな、もう。
170 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:15:56 ] >>169 ピボットテーブルがいいと思うけどな。 >>90 の回答で満足できないのはどういう点なの?
171 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:25:53 ] >>170 いや、元々の質問は集計じゃなくて文字列の連結だから。 >>169 個人用のブックを別に作って私物のUSBメモリにでも入れといて、 そこにデータをコピペして作業すれば?
172 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:46:15 ] >>168 条件が2つある時はCOUNTIFだけでは不可能。 複数の条件でカウントしたい、しかも作業列は使いたくない、 そんな時はSUMPRODUCTとか配列数式を使う。
173 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:50:14 ] >>171 もともとの質問は文字列の連結だけど >>83 >リストには金額も入っていて、20人弱のうち数人「今回は現金で」 >って人が来たときだけ、名前を入れてSUMIFで合計額出して、日付の >列は >>14 で作って、別のアプリにコピペ、ってことしてます。 のように言ってるから本質は集計なんだよ。
174 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:54:11 ] なんだ、また天才か。 ピボット厨はみんな頭が良すぎて困るよ。もっとレベルを下げて俺たちに合わせてくれよ。
175 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:58:00 ] >>171 まあまあ。質問者はVBA使えるんだから、個人用ブックを用意しとけというのは 良いアドバイスだと思うよ。 この件はもう解決でいいかな?>>10
176 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 17:58:19 ] 質問主は文字列と集計と、2つの作業をやりたいって言ってるんだから、 1つ片付けて終わりじゃあんまりだろ
177 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 18:49:14 ] >>168 2007を買えば複数条件で使える関数がいろいろ増えた。 ただ今までの配列数式やSUMPRODUCTと比べると速度はあまり変わらんみたいだな。
178 名前:10=83=169 [2008/05/10(土) 18:51:15 ] >>170 リストに変更があったとき、どうも「データの更新」しないと 古いままで出てきちゃうように見える点、かな。 >>171 文字列を対象にした集計というか連結と言うか。 ズバリこれ、な関数とかないみたいなので、 別のブックとか、なんか方法を考えて見ます。 >>175-176 「週末つぶして調べましたが関数じゃ無理です」とか言って VBA使わせてもらえれることになったら解決。 だめだったら‥‥また考えよう。
179 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 18:58:31 ] >>178 ブックにVBAを残してはいけないということであれば、VBSから処理しては? うまくやると別アプリへのコピペまでできてしまうかもしれません
180 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 19:07:21 ] >>178 >リストに変更があったとき、どうも「データの更新」しないと >古いままで出てきちゃうように見える点、かな。 今の手作業よりよっぽど楽だと思うけど。 これを嫌う人はけっこう多いなあ。ピボットテーブルの弱点だな。
181 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 20:01:34 ] ピボットテーブルはセルの幅がやたら広くなるのが嫌。
182 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 20:10:50 ] ピボットテーブルにできないことで代表的なのは 1.第一正規化されていない(繰り返し項目のある)データを扱うこと。 2.枝分かれ構造のある解やデータを再帰的に探索すること。 3.最適化問題を解くこと。
183 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 20:13:46 ] >>10 暇だから作ってみた。VBAガ使えなきゃ意味ねーんだけどな Sub macro1() Columns("B:B").Select Selection.Copy Columns("C:C").Select ActiveSheet.Paste Columns("A:A").Select Application.CutCopyMode = False Selection.Copy Columns("D:D").Select ActiveSheet.Paste Columns("C:D").Select Application.CutCopyMode = False Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Key2:=Range("D1") _ , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _ xlSortNormal, DataOption2:=xlSortNormal Dim gyo As Long Dim i As Long Range("c1").Select gyo = Range("c65536").End(xlUp).Row
184 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 20:14:44 ] Range("e1").FormulaR1C1 = "=TEXT(RC[-1], ""m/d"")" Range("E1").AutoFill Destination:=Range("E1:E" & gyo), Type:=xlFillDefault Range("e:e").Copy Columns("D:D").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("e:e").Delete Range("c1").Select For i = 1 To gyo If Selection.Value = Range("c" & i + 1).Value Then Selection.Offset(0, 1).Value = Selection.Offset(0, 1).Value & "," & Range("d" & i + 1).Value Range("c" & i + 1 & ":d" & i + 1).Value = "" Else Range("c" & i + 1).Select End If Next Columns("C:D").Select Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal End Sub
185 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 20:17:18 ] >>181 それはピボットテーブルに起因する問題ではない。
186 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 21:21:51 ] ピボットテーブルで解決できない問題について 1.第一正規化されていない(繰り返し項目のある)データを扱うこと。 できることならVBAで解決するのでなく、データを正規化しよう。 そうすればピボットテーブルで自在に集計、分析できる。これこそが本当の効率化。 2.枝分かれ構造のある解やデータを再帰的に探索すること。 これは例えばオセロの思考ルーチンを作ったりだとか、プログラミング言語の構文解析をすることがあてはまる。 ただ、大部分のExcel利用者にとって縁の無い問題とも言える。 3.最適化問題を解くこと。 制約条件を満たしながら、目的の値を最大化(最小化)するようなパラメータを見つける問題。 パラメータが200個以下ならソルバーが利用できる。でも大規模になったら有料だ。高いぞ! しかたがないVBAで作るとするか。しかし、実際作るとなると難しい。仕事の片手間にできるかな? もうひとつ追加 4.シミュレーションを行い、解の分布を求めること。 モンテカルロシミュレーションだな。これなんかはVBAを使うと本当に便利。 利益を計算するシートを作って、為替や材料費などパラメータを乱数で変化させる。 結果の度数分布を作れば、その事業がどの程度儲かる可能性があるか把握しやすい。
187 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 21:27:19 ] 5.車を運転すること ピボットテーブルには手足が付いていないため、アクセルやブレーキ、ハンドルの操作が出来ません。 6.ピザを食べること ピボットテーブルには口や消化器官が付いていないため、ピザを食べる事が出来ません。
188 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 21:30:34 ] それってExcel以外の方法を考えた方がよっぽど能率いいんでね? 確かにVBAは手軽な言語ではあるけど、 C#コンパイラの統合環境が無料で落とせることを考えるとねえ。
189 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 21:32:59 ] >>188 そう。結局そうなるのが落ち。 Excelではピボットテーブルでできることをやっとくのがいいんだよ。
190 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 21:34:58 ] Excel2002だけどセルの背景色がうまくいかない
191 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 21:56:38 ] おうちのかたへ。せんせいからのコメント >>189 くんは考え方がきょくたんすぎます。もうちょっと柔軟に考えられるよう、 指導してあげてください。
192 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:00:36 ] >>191 どのように極端なのかな。 ごく当たり前の結論だと思うが。
193 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:03:08 ] >>190 君もしばらくしたら自己解決するんだろ?
194 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:03:08 ] 【1 OSの種類 .】 Windows*XP Home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】=RAND コピー 乱数が発生しない 同じ値に A1に=RAND()とし、A2からA30くらいまでフィルハンドルやコピー&ペーストに貼り付けました。 しかし、なぜかA2-A30までもA1で発生した値のままになってしまいます。 貼り付けのとき数値だけを指定したわけではありません。A2-A30までちゃんと=RAND()となっています。 普通に個々で=RAND()と書くとちゃんと別の乱数が発生します。 どうすればコピーして乱数を個々に発生させられるのでしょうか。ご教授をお願いします。
195 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:06:23 ] >>194 君もしばらくしたら自己解決するんだろ?
196 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:06:29 ] >>194 ツール→オプション→計算方法が「手動」になってるんじゃないかな? 「自動」にすればいいと思うよ。
197 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:07:58 ] >>194 F9を押してもバラバラの値になりませんか?
198 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:08:12 ] >>194 F9キーを押してみ
199 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:09:06 ] >196 ! 直りました。助かりました。 設定を変えて直していなかったのだと思われます。早い回答、ありがとうございます。
200 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:10:57 ] >194 >195 その方法でも再計算されました。 本当にみなさんありがとうございます。
201 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 22:43:03 ] 質問なんですが、 セルに、”2006-09”という数値を打ち込むと勝手に日付と認識されて ”Sep 06”と表示されてしまいます。”2006-09”をただの数値として このまま表示させたいのですがどのように設定若しくは設定を解除すれ ばいいですか??教えてください!! なお、セルの書式設定の「表示形式」で色々やってみましたがよく分か りません。。。
202 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:43:39 ] >201 文字列に設定
203 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 22:51:51 ] >202 回答ありがとうございます! 早速やってみたのですが、「38961」という全く違う数値に 変換されてしまったのですが・・・
204 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 22:54:11 ] >>203 もうちょっとで自己解決できる。
205 名前:名無しさん@そうだ選挙にいこう [2008/05/10(土) 23:02:47 ] >202 >204 [表示形式]を[標準]に設定しなおしても入力したとおりにならずに "38961"って出ちゃう・・・。 "2006-09"(型番)←をこのまま表示できないの?
206 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 23:08:52 ] >>183 暇だから要約してみた。VBAガ使えなきゃ意味ねーんだけどな Sub macro1() Dim i As Long Columns("B:B").Copy Columns("C:C") Columns("A:A").Copy Columns("D:D") Columns("C:D").Sort _ Key1:=Range("C1"), Order1:=xlAscending, Key2:=Range("D1"), _ Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, SortMethod:=xlPinYin For i = 1 To Range("c65536").End(xlUp).Row If Cells(i, 3).Value = Cells(i + 1, 3).Value Then Cells(i + 1, 4).Value = Cells(i, 4).Text & "," & Cells(i + 1, 4).Text Cells(i, 3).Resize(, 2).Value = Empty End If Next Columns("C:D").Sort _ Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin End Sub
207 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 23:09:29 ] >>205 なんで標準なの? 言われたとおりのことを実行できないとこの先も苦労するぞ。
208 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 23:09:41 ] >>205 '2006-09
209 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/10(土) 23:19:53 ] 数値を入力後にセルの書式設定ではダメだす。 設定した後に数値を入力。
210 名前:205 [2008/05/10(土) 23:29:42 ] >208 できた!!ありがとう!! >各位 解決です!お手数かけました!
211 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 00:42:56 ] >>206 勉強ニなります
212 名前:45 mailto:sage [2008/05/11(日) 09:05:03 ] >>10 の質問は>>183 と>>206 が解決してくれたようなので しつこいと思われるかもしれないけど最後っ屁をこいておきます。 将来業務の規模が変わったらこんな方法では破綻するよ。 その時は上司を説得してレポートの形式を縦型に変えるといいよ。 例 山田 4/7 4/10 合計 5000 佐藤 4/8 4/20 4/21 4/25 合計 8000 鈴木 4/8 合計 6000
213 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 09:33:40 ] >>212 業務の規模が変わったら2007を入れるんじゃない? 何列までか知らないが、かなりの列数が使えるらしいから。
214 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 09:39:38 ] >>213 そういうのをナナメウエの工夫という。
215 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 09:45:37 ] どうでもいいけどなんで回答者が>>45 >>212 みたいに自分の名前を出し付けるの? なにか意味あるの?
216 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 09:50:22 ] この後すぐになりすましが登場するぞ。犯人は>>215
217 名前:45 mailto:sage [2008/05/11(日) 09:50:41 ] そんなことはしませんよ?
218 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 09:53:21 ] >>217 お約束通りだな。 もう先読みされてるぞ。
219 名前:215 mailto:sage [2008/05/11(日) 09:56:39 ] うるさーい!おまいら全員氏ね!
220 名前:45 mailto:sage [2008/05/11(日) 10:10:01 ] 死ぬのは俺一人で十分だ
221 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 10:48:21 ] いやいやここは俺が
222 名前:45、215 mailto:sage [2008/05/11(日) 10:48:58 ] どうぞどうぞどうぞ
223 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 10:54:37 ] >>214 「今までのやり方を変えない」ってのも、場合によっちゃ十分に意義があるんだけどな。 中小だと、今だにWin3.1やらDOSベースのソフトを使ってるところも珍しくない。 こないだメンテに行ったとこなんかFM-TOWNSを使ってたぞ。 社長に故障したら終わりですよとは言ってあるけど、開発に1000万かけた業務用ソフトを もう一度作り直すだけの予算は出せないだろうなあ。
224 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 11:30:31 ] 晴れたり曇ったりって、あんまり面白くないね
225 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 11:52:40 ] 【1 OSの種類 .】 Windows*XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel 式だけ 別のシート 参照 別のシートの式だけを参照させることは可能でしょうか。(その式に代入される変数はそのシート上にあるセルの値) 例えば以下のような感じです。 シートA: A1| 1 A2| 2 A3|=A1+A2 (→計算結果は3) シートB: A1| 3 A2| 4 A3|=シートA!A3 →普通に参照するとシートBのA3の計算結果はシートAのA3の計算結果である「3」になってしまいますが、 シートBのA3において求めたいのは、A1+A2の答えである「7」です。 なにがしたいのかと言うと、シートAのA3の計算式を変更した時に、 それを参照しているシートBのA3の計算式も同時に手を加えることなく変更したいということです。 どなたかお分かりの方がいらっしゃいましたらお教えいただきたく、よろしくお願い申し上げます。
226 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 12:26:22 ] >>225 VBAを使わないと無理 VBA使わずにやるなら シートAのA4とA5に足算したいセル番地を入力する シートA: A1| 1 A2| 2 A3|=INDIRECT(A4)+INDIRECT(A5) A4 | A1 A5 | A2 シートB: A1| 3 A2| 4 A3|=INDIRECT(sheeta!A4)+INDIRECT(sheeta!A5) 別にA4とA5じゃなくてもいいけどね
227 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 12:31:16 ] >>223 変える必要無いものは変えなくていいよ。だけどこのケースは違うだろ? 「日数が300日になったら256列制限を越えちゃうよ。どうしよう。そうだ!2007使えばいいんだ。俺頭いい。」 ではダメなの。 例に挙げてるタウンズ社長だってそう。これなんか今すぐやり方変えないといけない例であって、「今までのやり方変えないのも意義があるよ」の例になっていない。 要は自分の意見がなくて反論したいだけなんだよ。
228 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 13:32:10 ] >>226 早速にありがとうございます! VBAを使わないと無理ですか・・・、でもそれがわかっただけでも大いに助かりました。 ありがとうございますm(_ _)m 今やろうと思っていることは、多くの基礎データを多くの計算式に入れて解析するということなのですが、 基礎データは同じ内容の何枚ものシートに日付ごとにまとめているため、 解析項目や計算方法を変更する必要があると、全ての基礎データシートに手を加えなければなりません。 そこで解析項目・計算内容のフォーマットになるシートを作り、全ての基礎データシート上にある解析項目・計算式はそのフォーマットを参照するようにすれば、 解析項目や計算式を変更する場合はフォーマットシートだけをいじれば全ての基礎データシートにも反映されるようにできると思ったのですが データを解析する項目が多い上に計算内容が複雑なので、お教えいただいたやり方でもやはり無理があると思います。 これを機に今まで敬遠していたVBAにも手を出してみようかという気になっていますが、 まず手始めに上記のようなことを実現するにはどこから手をつければよいか、 もしできましたら糸口になるWebページなどあればお教えいただけると幸いです。
229 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 13:47:09 ] とりあえずデータを作る時に 日付 内容1 内容2・・って感じで一つのシートに入れてしまうのが一番いいんだけどな これをしてしまえば後はピボットなり、オートフィルタなりで簡単に集計することができる 但し、間にセルの結合してたりタイトル行が混じると上手くいかなくなることもあるんだけどね・・
230 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 13:59:10 ] >228 ちょっと強引なやり方だけど、 集計用ファイルの、 式のファイル名部分[*****月*日データ名]なんかだとして、 そこを置換するっていう手も。 あるいは逆に、 シート名を入れる欄を作って、 INDIRECTでシート名をそこからひっぱってくるっていう手もある。 どっちもちょっと無理やりだけど。
231 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 14:06:46 ] >>228 はい、基礎データが住所録のような単純なものであれば、そういうやり方が手っ取り早いのはわかってるのですが、 日付ごとの1枚のシートの中においても基礎データ相互を参照しながら演算が必要だったり、 全ての日付のデータを集計した平均値などを元の基礎データそれぞれのシートの演算にフィードバックしたりする必要があり、 単純なやり方では無理なんだろうなって思っています。 ここまでくると、解析とデータを完全に切り分け、解析の方できちんとしたプログラムを組み、 基礎データを解析する場合は解析プログラムの方から基礎データを読みに行くようにした方が、 演算処理上も計算方法を変更する場合を考慮した上でもいいんでしょうね。
232 名前:226=228=231 mailto:sage [2008/05/11(日) 14:10:02 ] しまった、>>231 は>>229 へのレスです。 >>230 ありがとうございます。 パッとイメージしにくいやり方ですが、ちょっと検討してみます。
233 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 14:30:53 ] >>232 解析用シートを作成し、解析したいデータをそれにコピペしたらどうか?
234 名前:226=228=231=232 mailto:sage [2008/05/11(日) 14:37:55 ] >>233 はい、当初はそのイメージでした。 基本解析フォーマットをつくり、そのフォーマットをコピーしたものに基礎データを入力して、基礎データとそのデータを解析したものを日ごとに蓄積していく、 しかし、あとから解析項目や計算方法を変更する必要が出てくると、それまでのフォーマットに基礎データを貼り付けたものも全て個別に変更しなければ、 解析項目や解析結果の統一性が保たれなくなってしまいます。 そこで思い浮かんだのが>>226 の方法でした。
235 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 14:38:29 ] >>231 関数で今までいけてるなら関数でなんとかなるよ あとこのスレの質問者が言う複雑っていうのはいつもそれほどでもないんだよな
236 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 14:40:38 ] >>234 当初のイメージ通りがいいね。 シートからデータを分離しよう。
237 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 14:47:58 ] >>235 そうだな。 関数でできない処理だったら最初から関数では実現できない。 データが複数かどうかはVBAを使う基準にはならないはずだ。 >>234 単純に考えてみて。
238 名前:226=228=231=232=234 mailto:sage [2008/05/11(日) 15:17:05 ] >>235-237 え〜と、ちょっと誤解されているフシもある気がしますが、、、 私が求めているのは、解析項目の多さや演算内容の複雑さに困っているからなんとかしたいというよりは、 解析項目や演算内容を変更した場合の対処のしやすい方法です。 データの解析処理(集計・演算等)自体は問題なく行えています。 問題はその解析方法がまだ不確定的で、データを検証しつつ修正を加えていく必要性があるということです。 解析とデータを切り離すかどうかとか、VBAを使うべきかどうかは、 解析方法変更後にそれまでに蓄積してある解析結果を修正するために、 1枚1枚のシートを個別に手作業で修正する手間をなくせるかどうかという点にかかっていると思います。
239 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 15:19:39 ] >>238 ちなみに例えばどんな計算があるのか教えてくれない? 集計,平均,他には?
240 名前:226=228=231=232=234=238 mailto:sage [2008/05/11(日) 15:32:28 ] >>239 四則演算以外に関数自体は極めて初歩的なものしか使ってなく、SUM、IF、COUNT、それらの複合程度ですが、 基礎データ→条件分岐→集計→条件分岐→集計・・・ の繰り返しみたいな感じで、条件分岐のところにそのシート上の他の部分の演算結果や全体データの集計値をフィードバックしたりしています。 解析方法が変更されれば当然そのシート上の演算結果や全体の集計値も変わってくるので、それらを参照している各シートの計算式にも影響が出てきます。
241 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 15:38:49 ] >>240 こんなイメージを持ったんだけど正しいかな? 基礎データから条件分岐で男性だけを集計する。 男性だけの集計結果からさらに18才以上の人を集計する。 今度は18才以上の女性を集計しないといけない。計算式を変更しなくちゃ。
242 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 16:01:36 ] >>226 シートのグループ化で全て解決する気がしなくもない
243 名前:226=228=231=232=234=238=240 mailto:sage [2008/05/11(日) 16:09:35 ] >>241 ほぼビンゴですw 条件分岐に関してはお察しの通りですが、作業全体を極めて単純に模式化すると以下のような感じです。 シート:4月1日 項目|数|当日比|全体比 赤 |2| 40%| 40% 白 |3| 60%| 60% 計 |5| 100%| 100% シート:4月2日 項目|数|当日比|全体比 赤 |1| 20%| 30% 白 |4| 80%| 70% 計 |5| 100%| 50% ・ ・ ・ ここで集計項目に「青」を追加したり、 「全体比」の計算方法を「当日数/全合計数」から「当日数/色ごとの全合計数」に変更する、 といった必要が出てくると、項目も計算式も変更しなければなりません。 こういった一連の作業を効率化したい、 つまり、基本フォーマットを変更すれば、それまでのシートに埋め込まれている計算式にも反映される、 というようなことをしたいと思いました。 項目を変更するのはかなり大掛かりなことになると思うので、 きっと解析とデータを完全分離する必要があるのではないかと思いますが、 計算式の変更だけなら、なにか方法があるのではないかと思って、>>225 を投稿した次第です。
244 名前:242 mailto:sage [2008/05/11(日) 16:12:44 ] ×>>226 ○>>225 例で行くと、 シートAとシートBをグループ化し、 シートAのA3セルに「=A1+A2」と入力すると シートBのA3セルにも「=A1+A2」と入る フォーマットが全く同じであり、かつ別シートを参照しないのであれば これでいける
245 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 16:23:47 ] >>243 日付 |項目 |数| 4月1日| 赤 |2| 4月1日| 白 |3| 4月2日| 赤 |1| 4月2日| 白 |4| 日付ごとにシートをわけるのではなく、こういう形式に変更しなさい。 そして「ピボットテーブル」で検索してみること。 「ピボットテーブル 比率」も検索すること。 >>244 のアドバイスにはお礼だけ言っときなさい。
246 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 16:27:35 ] ピボットテーブルで処理できる内容かどうかは分からんが、 どういう方法でやるにせよ元データは>>245 の形になってた方がいいやね。 ただ過去の蓄積データがたくさんあるようだと移行するのがちょっと面倒か。 VBA使えば簡単に出来るんだろうけど。
247 名前:洋子♪ [2008/05/11(日) 16:29:48 ] >>172 ありがとうございます。 >>168 の件ですが、作業列を使うのは良いのですが 条件の組み合せの数が多いので・・・・ SUMPRODUCTだと、セルの数ではなくて 合計が出てしまうので。。。。。 IF(AND・・・・ 等で、抜きだして行くしか 方法はないのでしょうか・・・
248 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 16:39:06 ] >>247 =SUMPRODUCT((A2:A30=2)*(B2:B30=3)) でいけたけど
249 名前:243 mailto:sage [2008/05/11(日) 16:49:40 ] >>244 なるほど!それはもっとも簡便な方法かもしれませんね。 早速簡単なデータを作って試してみましたが、フォーマットが統一されていれば、確かにいけそうかもしれません。 ただ、「別シートを参照しないのであれば」というのはどういうことを意味しているのでしょうか。 現在使っている各基礎データシートには、別のシートのデータを参照している部分があります。 あと、シートを作業グループ化すると、共通項目以外の個別データの部分を書き潰してしまうことがあるのが気になるところですが、後で少し検討してみたいと思います。 ひとまずはありがとうございます。 >>245 1日ごとのシートは、基礎データだけで15列×75行の行列配列が必須で、その基礎データをそのシート上で解析している領域も含めると26列×120行になっています。 したがって残念ながら基礎データをご示唆いただいたような形式に変更することは事実上不可能と思われます。 あと、できればそのような上から目線はやめていただければと思います。 >>246 上記の通り、日付ごとのデータを1枚のシート上にまとめることは難しいですが、ピボットテーブルについてはちょっと検討してみたいと思います。
250 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 16:53:35 ] >>249 >1日ごとのシートは、基礎データだけで15列×75行の行列配列が必須で、その基礎データをそのシート上で解析している領域も含めると26列×120行になっています。 >したがって残念ながら基礎データをご示唆いただいたような形式に変更することは事実上不可能と思われます。 小さなデータじゃないか。安心してピボット使ってくれ。 上から目線に感じたなら失礼した。
251 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 16:56:31 ] >>249 とりあえずサンプルの4行を入力してみてくれ。 日付 |項目 |数| 4月1日| 赤 |2| 4月1日| 白 |3| 4月2日| 赤 |1| 4月2日| 白 |4|
252 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 17:32:48 ] >>250 1日1日のデータは、物理的には1枚のシートに全て収まる大きさではありますが、問題はその構造です。 基礎データは行列配列のまま並べていくとしても、その基礎データを解析したデータも一部行列配列を要しているので、 それらも含めてピボットテーブルのデータベースとして整列させるのはかなり難しい気がします。 基礎データ全体の解析結果を知りたいのはもちろんですが、1日ごとの解析結果も把握したいと考えているので、 どのような形でピボットテーブルに適応させられるのかはさっぱり見当がつきません。 >>226 >>229-230 >>233 >>235-237 >>239 >>241-242 >>244-246 >>250-251 少しだけ方向性は見えてきたので、ひとまずシートのグループ化とピボットテーブルについて検討してみたいと思います。 レスをいただいた多くのみなさん、ありがとうございました。 また壁にぶつかったり、うまく解決できたりしたら、改めて報告させていただきたいと思っています。
253 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 17:35:39 ] >>252 解析部分はいらんよ。捨ててしまうといい。 基礎データだけ使うの。 とりあえずサンプル入力してみてくれよ。 日付 |項目 |数| 4月1日| 赤 |2| 4月1日| 白 |3| 4月2日| 赤 |1| 4月2日| 白 |4|
254 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 17:41:00 ] >>252 >1日ごとの解析結果も把握したいと考えている 出来るよ >どのような形でピボットテーブルに適応させられるのかはさっぱり見当がつきません。 回答者は細かいところに差があれど、全員見当ついてるぜ
255 名前:252 mailto:sage [2008/05/11(日) 17:43:00 ] >>253 サンプルは入力しましたし、ピボットテーブルも作ってみました。 もしかしてここでご指導いただけるのでしょうか? でもそれだと他のみなさんにご迷惑がかかるので、いかがいたしましょう?
256 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 17:43:10 ] データの構造によっては15列×75行のデータを15*75=1125行のデータに展開する必要があるかも。 そうするとExcel2003までだったら1シートに2ヶ月分のデータしか入力出来ないな。 そこまでしてピボットテーブルにこだわる必要があるかどうかは具体的な分析内容が分からんと何とも言えない。
257 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 17:49:13 ] >>255 質問スレッドなんだから回答書いてあたりまえだろう?いちいち発言がめんどくさいぞおまえ。 例えば 日付を行のフィールド 項目を列のフィールド 数をデータアイテムとしてみて。 そしたら数の合計が計算されたでしょ? 赤 白 総計 4月1日 2 3 5 4月2日 1 4 5 総計 3 7 10
258 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 17:54:13 ] >>256 分析内容は>>243 を想定するしかないんじゃないの?
259 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 18:04:06 ] >>255 合計が出せたら今度は、 ピボットテーブルの「フィールドの設定」→「オプション」→「計算の種類」→「列方向の比率」 そしたらできあがり。 赤 白 総計 4月1日 40% 60% 100% 4月2日 20% 80% 100% 総計 30% 70% 100%
260 名前:255 mailto:sage [2008/05/11(日) 18:06:02 ] >>257 いや、質問スレッドでここまで懇切丁寧に付き合っていただいたことが初めてで。 たいていははじめの糸口やヒントだけで、あとは自分でなんとかしろって感じだったので。。。 ご示唆と同じピボットテーブルはできましたが、 実際には、「赤」「白」といった項目が「赤・四角・大」「白・三角・小」のように、 「色」×「形」×「大きさ」×・・・といった複数次元のパラメータを持っており、それが十数種類もあります。 デフォルトのように1日のデータが「赤・四角・大・・・」「赤・四角・中・・・」のように1行に並べられてしまうと、 望んでいる体裁にまとまるのかというところが全然見通したっていません。
261 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 18:09:18 ] >>260 行のフィールド、列のフィールドどちらも複数の項目を与えられるよ。
262 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 18:12:10 ] >>260 まず、完成の形をどういう風にしたらわかりやすいのかとか考えて、 それにするためにどうしたらいいのかを考えるのがイイかもな
263 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 18:15:40 ] >>260 まず元のデータはこうする。 日付 色 形 大きさ 数 4月1日 赤 四画 大 2 4月1日 白 三角 中 3 4月2日 赤 丸 中 1 4月2日 白 三角 小 4
264 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 18:17:23 ] >>260 行のフィールドには日付 列のフィールドには色,形,大きさ データアイテムは数
265 名前:260 mailto:sage [2008/05/11(日) 18:18:45 ] >>261-264 みなさんありがとうございます。 わかりました。 ピボットテーブルのなんたるかをもう少し学習したいので、少し時間をください。 ある程度理解してきたら、報告しに戻ってきます。
266 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 18:19:20 ] >>260 赤計とか白計みたいな小計がうっとうしかったらそこを右クリックして「表示しない」にする。
267 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 19:33:01 ] >>265 クロス集計程度ならすぐに把握できるだろうけど、その次はちょっと大変かもしれない。 ここは独学にこだわらず、実際のデータとやりたいことを省略せずにそのまま書いて 回答をもらった方が確実じゃないかと思うぞ。
268 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:16:31 ] 【1 OSの種類 .】 WindowsME 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 複数条件で検索 VBA excel 担当|.コード|金額| ──|──|──|── 山田| | | ──|──|──|── 売上|1111| 10 | ──|──|──|── 売上|1112| 20 | ──|──|──|── 経費|1113| 31 | ──|──|──|── 経費|1114| | ──|──|──|── | | | ──|──|──|── 鈴木| | | ──|──|──|── 売上|1111| 12 | ──|──|──|── 売上|1112| 22 | ──|──|──|── 経費|1113| 31 | ──|──|──|── 経費|1114| | ──|──|──|── | | | 以下続く… こんなシートがある時に各担当毎のコードの1111と1112だけを抽出したいのですが、どのような関数orVBAでやれば効率が良いでしょうか?
269 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:22:22 ] EXCELでよく書類を作るのですが、セルからハミ出していて印刷されないことがあります。 プレビューでチェックしていますが、どうしても漏れがでてしまうので もし、セルからハミ出して印刷されない部分があればチェックしてくれるような アドオンや機能はありませんか?
270 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:24:14 ] >>268 ずいぶん個性的な表だなあ。 レイアウトは誰が決めたの?
271 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:32:51 ] >>270 会社の勝手に出てくるCSVファイルです。 dbとして致命的ですよね…。
272 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:36:34 ] >>271 なかなかやっかいだな。 各担当者ごとに必ず4行なの?
273 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:39:13 ] >>272 それが違うんです。 5行だったり6行だったり場合によっては10行ぐらいあります。 さらに日によって担当者の増減もあります。 やっかいです…。
274 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:40:41 ] >>273 担当者の間は必ず一行あいてる?
275 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:44:21 ] >>274 はい。必ず一行だけあいてます。
276 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:45:12 ] >>268 まずは作業列を作ってVBAで正規化する。 ワークシート関数だけでも不可能じゃないけど手間がかかりすぎる。 正規化というのは、この場合、具体的にはすべての行に担当者名をコピーしていくこと。 担当|.コード|金額|担当 ──|──|──|── 山田| | | ──|──|──|── 売上|1111| 10 |山田 ──|──|──|── 売上|1112| 20 |山田 ──|──|──|── 経費|1113| 31 |山田 ──|──|──|── 経費|1114| |山田 ──|──|──|── | | | ──|──|──|── 鈴木| | | ──|──|──|── 売上|1111| 12 |鈴木 ──|──|──|── 売上|1112| 22 |鈴木 ──|──|──|── 経費|1113| 31 |鈴木 ──|──|──|── 経費|1114| |鈴木 ──|──|──|── 空白の行を手がかりとして、文字列のコピーをしていく。 ここまでできたら、あとは好きな方法で抽出すればいい。
277 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:47:36 ] >>276 まあそれが妥当だろうな。
278 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:48:32 ] >>276 ありがとうございます。 何とか頑張ってみます。 お手数おかけしました。
279 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:49:41 ] できれば表を作り直した方がいい。 VBAを使えばすぐできる。 こんなのが理想的。 ──|──|──|──|── コ-ド|1111|1112|1113|1114 ──|──|──|──|── 山田| 10| 20| 31| ──|──|──|──|── 鈴木| 12| 22| 31| ──|──|──|──|── こういう表なら抽出も集計も自由自在にできるようになる。
280 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:50:13 ] >>276 D2に山田 D3に=IF(A3="","",IF(A2="",A3,D2)) あとはD3を下にオートフィル そしてB列に「1111または1112」という条件でオートフィルタをかける 見難ければ、B列をEにうつすなりなんなりで VBA使わずに関数でやろうぜ
281 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:51:07 ] >>280 の二行目は D2に「山田」と入力するって意味ね もちろん山田は例えだろうから、実際の表の名前を入れてください
282 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:52:06 ] >>278 >>279 >>280 皆さん本当にありがとうございます。 自分も詳しくなってこのスレで恩返ししたいです。
283 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 21:52:51 ] >>279 君はもうちょっとだな。 >>280 おいうまくやったな。
284 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 22:00:13 ] >>280 あっさりできました。 マジで涙がにじんできました。 本当に本当にありがとうございます!!!
285 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 22:00:23 ] いちいち「山田」なんて追加しなくても、これでいける。余分なところに名前が入るけど問題ない。 =IF(A2="","",IF(B2="",A2,D1))
286 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 22:04:29 ] このスレの回答者は以前とかなりメンバーが入れ替わってるんじゃないか? まともな役に立つ回答が増えたと思う。
287 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/11(日) 22:14:30 ] おまいら作業列に手間かけすぎ。これでいいじゃん。 =IF(B2="",A2,D1)
288 名前:名無しさん@そうだ選挙にいこう [2008/05/12(月) 13:49:04 ] >>286 何故か平日の方が良回答が多い。 しかもレスが早い。
289 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:08:56 ] A1セルに外部データ”1”を入力という作業を A100セル,外部データ”100”まで繰り返す場合 マクロで最初の作業を記述したものに変更を加えることで EXCELに自動作業させることは可能でしょうか? VBAはほとんど使ったことがありません
290 名前:名無しさん@そうだ選挙にいこう [2008/05/12(月) 14:10:11 ] Excel 2007でセルに計算式を入力してあるにも関わらず、計算結果が表示されず 計算式そのものがセルに表示されてしまいます。 どこかの設定がおかしいと思うのですが、2007を使い始めたばかりで皆目見当が 付きません。どなたか教えて頂ければ幸いです。 ちなみにExcel 2000ではオプション→表示→数式のチェックボックスをオンにすると 同様の現象が発生していました。
291 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:18:21 ] >>289 努力次第ですね。 あと、場合によってはテキストエディタの使い方を覚えるといいことがあるかもしれません。
292 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:20:15 ] >>290 Officeボタン→Excelのオプション→詳細設定→計算結果の代わりに数式をセルに表示する
293 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:21:35 ] >>288 どっかの会社の事務員が仕事中に2ちゃんねるに貼り付いてる
294 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:34:10 ] >289 「外部データ」の意味にもよりますが多分要求していることは可能です。 >290 セルを右クリック→セルの書式設定→表示形式→標準→OK→F2→OK
295 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:35:51 ] >>291 EXCELに詳しい人なら可能ということですね ありがとうございました
296 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:36:46 ] >294 補足 計算式が文字列セルを参照しているなら=以降を括弧で括ると良い。
297 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 14:37:02 ] >>294 さんもありがとうございました
298 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 15:08:03 ] Excel2002です。宜しくお願いします。 他の人から受け取ったExcelファイルのサイズが2.6MBあったので 余白切り落としなど手を加え、一時的に650kBまで小さくなったのですが その後の作業中に6.5MBになってしまいました。 どのシートが特にサイズが大きくなっているなど調べる手はあるでしょうか? またまとめてサイズを小さくする方法はあるのでしょうか。 ・かんたんな表から多少複雑な表まで30シートほどのファイルで ほとんどのシートで他シートの数値を参照していいます。 ・このファイルは、最初一太郎で作られた可能性があります。 その後、代々の担当者がシートを増やすなどしてきたと思われます。 ・サイズを小さくするためにした作業 余白切り落とし・あるていどの書式統一・不要なセル結合の解除など 小さくしようとしている作業中に650kbまで小さくなり、 その後書式などを主に修正している間に6.5MBになってしまい わけがわかりません…
299 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 15:08:43 ] >>295 たぶんそういう意味ではないと思う。わからないことがあるならもっと聞けばいいのに。 誤解したまま勝手にありがとうございましたと引かれるのは回答者もさみしいもんなんだよ。
300 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 15:22:50 ] >>299 2chでは誘い受けは嫌われるよ?
301 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 15:31:23 ] 誘い受けって何だっけ?腐女子用語?
302 名前:名無しさん@そうだ選挙にいこう [2008/05/12(月) 15:52:34 ] >>298 便宜上シート1~30と名づけて話するね まずそのファイルはコピーして保存しておく その後、シート1-15を削除したものと残り16-30を削除したもの 二つを用意して、ファイルに保存 サイズを比べてみる それで偏りがあれば大きいほうを分割、 ほとんどなければ両方分割・・という風にして行けば 答えが出ると思う
303 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 16:02:05 ] >>294 =(A1)なんてかっこでくくっても再編集すると=(A1)って文字列になるようだが?
304 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 16:09:20 ] >>302 レス有難う、 7つのおもりの重さ順を、天秤で最少何手でわかる?というような クイズを思い出しました。なるほどなるほど。 結局余白部が怪しいシート2つを再度余白切り落としして (PC止まりそうになりました)解決、635kBへの減量ができました。 シート2つ分の余白で6MBとは恐ろしい・・・
305 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 16:34:30 ] 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【5 検索キーワード 】 Excel2007 マクロ 有効 開いたら動くマクロ付きの2003で作ったブックがあるのですが、 2007の入っているPCで開くとマクロが無効になってしまい、 いちいち有効にしてからもう一度マクロを動かしています。 色々ググって見たところ、セキュリティの面から毎回有効に変更せよと 書いてあるところが多いのですが、変更は出来ないものでしょうか?
306 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 18:40:09 ] >>305 すべてのセキュリティを無効にする方法もあるけどおすすめできない。 まず「信頼できる発行元」を自分で作って適当に登録してから、「デジタル署名の追加」をする。
307 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 18:46:50 ] 自分自身を「信頼できる発行元」として登録する方法はここ。 ttp://office.microsoft.com/client/helppreview.aspx?AssetID=HA100341381041&QueryID=XwQDvEOWq&respos=1&rt=2&ns=EXCEL&lcid=1041&pid=CH100648291041#2 そして、自作のブックに署名を追加する方法はここを見る。 ttp://office.microsoft.com/client/helppreview.aspx?AssetID=HA012317811041&QueryID=awQDNzepx&respos=2&rt=2&ns=EXCEL&lcid=1041&pid=CH101768401041#2
308 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 20:10:48 ] >>293 俺のほかに2.3人常駐してるな まぁ、いいけどな
309 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:05:55 ] ▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード
310 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:08:41 ] すいません間違えて書き込んでしまいました
311 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:17:48 ] で? 質問は?
312 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:28:41 ] 来年書きこみます
313 名前:名無しさん@そうだ選挙にいこう [2008/05/12(月) 22:30:32 ] なんじゃそりゃ
314 名前:124 mailto:sage [2008/05/12(月) 22:37:42 ] >>125 >>127 遅くなりましたが、アドバイスをありがとうございました。 原因が先ほどわかりました。 なんと、幅、高さが 0 になっておりました。 私って、会社ではエクセルが得意っていう評判だったのですが 地に落ちました。。。
315 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:40:01 ] VBAで、ユーザーフォーム上にボタンを配置し、クリックすると ごにょごにょしたあと印刷プレビューを出すようにすると 固まってしまいます。ユーザーフォームのウィンドウも消せません。 ユーザーフォームを使わず例えばシート上にボタンみたいなのを作って そこクリックするようにしたらちゃんと印刷プレビューできます。 固まる原因は何でしょうか。
316 名前:315 mailto:sage [2008/05/12(月) 22:42:36 ] ごめんなさい ググったらわかりました
317 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:44:57 ] >>316 >>314 さんのように、原因がわかったら、他の人にも知識が共有できるようにその答えをここに書けよ
318 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/12(月) 22:47:41 ] あぁ失礼。 ユーザーフォームをモードレスで表示するとかでいけそう。
319 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 00:53:50 ] >317 いりません。
320 名前:名無しさん@そうだ選挙にいこう [2008/05/13(火) 08:15:00 ] パスワードで上書き保存されているbookを 読み取り専用で開くコードを教えて下さい。
321 名前:>>305です mailto:sage [2008/05/13(火) 08:18:36 ] >>306 >>307 ご回答ありがとうございました。 教えていただいた方法でやってみます。
322 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 08:41:44 ] >320 パスワードを聞いて来いw
323 名前:320 mailto:sage [2008/05/13(火) 08:47:52 ] >322、bookを開くときに「読み取り専用で開く」を選択すると ふつうに開けるんですけど、 それをVBAで開けるかと思ったんですが、
324 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 08:56:22 ] >>323 無理で VBA程度で開くならパスの意味無いと思うぞ
325 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 12:09:06 ] Excel2007で小計機能を使ったときにグループの基準で指定した項目のところに xxxxxxxx 集計 という感じで「集計」の文字が入りますが、これを入らないようにできますか?
326 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 12:25:25 ] >>325 (1) 小計を出したあとで文字列「 集計」を空白に置換する (2) 小計機能は使わずにピボットテーブルを使う 場合にもよるけど(2)がオヌヌメ
327 名前:名無しさん@そうだ選挙にいこう [2008/05/13(火) 12:32:33 ] 1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】OLE オートメーション ご教示お願い致します。 エクセルVBAからアプリケーションソフトを作成したいと考えているのですが オートメーション、OLEという単語は行き着いたのですがこの機能を使って作成 されたプログラムは使用者もエクセルを所持していなければ起動しませんでしょうか。 エクセルで作成したマクロをVBなどに差し込んでエクセル外でも使えるようなことをしたいのです。 なにか良いアイディアがございましたらご助言の程お願い致します。
328 名前:名無しさん@そうだ選挙にいこう [2008/05/13(火) 12:44:36 ] Excel2000をXPで使っています。 置換とマクロに関する質問なのですが、 普通のテキスト文字を、unicode文字を含んだ文字列に置換したいのですが、 ツールバーの置換コマンドから、1文字づつならできるのですが、 置換したい文字が沢山あるのでマクロを書いて自動化しようと思ったら、 マクロのビジュアルベーシック?にunicode文字列を書くことが出来ません。 (文字列をペーストすると?になってしまう) なんとかマクロを完成出来ないでしょうか? Excekが古いからですかね?最新版にすれば出来ますか?
329 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 12:45:47 ] >>327 Excelに固有の機能、例えばワークシート関数やワークシートオブジェクトなどは Microsoft Excel Object Libraryとして提供されるため、 基本的にExcelがインストールされていないと使うことはできません。 ただし、Excelの持つほとんどの機能はVisual Basicだけでも、努力次第で再現することが可能です。 Excelを使わない方法は、Visual BASICのスレで聞いた方がよいでしょう。
330 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 12:57:39 ] >>328 最新のExcel2007を使っても、VBAの中で直接ユニコードの文字を書くことはできません。そういう仕様です。 ChrW関数などを使うか、テキストエディタ、ストリームエディタ等を使ってください。
331 名前:327 mailto:sage [2008/05/13(火) 13:06:31 ] >329 早々のご解答ありがとうございます。 VBを努力してみようと思います!
332 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:06:50 ] ExcelObjectってさあ、Excel本体の試用期限が切れても使えちゃうんだよな… VBは元から無料版があるし… つまり…
333 名前:名無しさん@そうだ選挙にいこう [2008/05/13(火) 13:07:53 ] >>330 ChrW関数ですか。調べてみます。ありがとうございました。
334 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:08:19 ] >>328 置換の対応表をどこかのシートに作って、それをVBAで読み込みながら処理すればいい
335 名前:名無しさん@そうだ選挙にいこう [2008/05/13(火) 13:21:09 ] >>334 ああ、なるほど。 でもそれってセル単位の置換になりませんか? セル内の文字列の一部にも出来ますかね?
336 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:22:31 ] できるよ
337 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:23:13 ] Excelで書類の管理をする際、ユニークな番号をつけたいのですが3桁の番号を 付加する場合は、どのような形で実装するのが好ましいのでしょうか。 =RANDBETWEEN(0,999) にすると、001や99などが「1」や「99」と表記されてしまい、3桁になりません。 =RANDBETWEEN(0,9) を適当なセル、例えばA1,B1,C1に貼り付けて、D1に =A1&B1&C1 といれれば一応はA1やB1が0だろうと「001」「099」と正常に表示しますが どうもしっくりきません。もっとほかにいい方法がある気がするのです。 また、これは別件になるかもしれないのですが、何らかの方法で作成した その3桁の数字を固定しておくにはどうしたらよいのでしょうか。 流れとしては @(コピーした)テンプレート(←今作ろうとしてるExcel)を開く A開かれた時か、もしくは任意のアクションを起こし3桁の数字が生成される B編集を終了し、次回起動した際には、前回起動時に取得した3桁の数字が保持されている (C何らかの理由で作り直したい場合はそれを再作成可能) としたいのです。(既にVBAの世界でしょうか…) なにとぞよろしくお願いします。
338 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:29:43 ] >>337 書式で000にする ちなみに乱数はユニークじゃないから。念のため。
339 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:29:43 ] >>337 RANDBEETWEENで生成した数はユニークではありません。単純に連番をとるのがいいですよ。
340 名前:325 mailto:sage [2008/05/13(火) 13:30:27 ] >>326 集計の前に空白が入りますが、その数が一定じゃないので困ります。 ピボットテーブルは調べてみます。
341 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:33:37 ] >>337 どういうタイミングで数字を変更したいのか、今ひとつわからん。 Workbook_OpenとWorkbook_SheetChangeを組み合わせるか、 番号の変更をボタンにして手動でやる。 つーか、単に版の管理をしたいだけと違うの?
342 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 13:36:50 ] 番号が一意に決まらなくても大体バラバラになってればいいという管理方法も考えられるけど、 そういう意味なんだろうか・・・
343 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 14:53:46 ] >>337 書式を000にした後 Sub Macro1() Range("a1") = Int(Rnd * 1000) End Sub コマンドボタンを設置してそれに対するイベントが使いやすいと思う ちなみにその場合は Private Sub CommandButton1_Click() Range("a1") = Int(Rnd * 1000) End Sub 関数だと=INT(RAND()*1000) だが、コピーして値で貼り付けする必要がある
344 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 18:27:24 ] >>343 ありがとう!クビにならなくてスミソニアン博物館だよ!
345 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 18:49:25 ] >>344 番号がユニークでないのに本当に書類管理できるのか? ま、どうでもいいけど。
346 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 18:57:06 ] >>344 「ユニークな人」って「おもしろい人」のことだと思ってないか?
347 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 19:11:07 ] >>344 回答した俺自身が何故かすごく不安なんだけど、 よくわからないけどそれでいいならいいか。おめでd
348 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 19:18:53 ] >>344 おめでとう!
349 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 19:54:41 ] >>344 クビ確定
350 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:15:44 ] すみません、ソートについて少し教えてください WindowsXP SP2 Excel2002?(2003?、一つ前のバージョンです) VBA使えません でもVBAでしかできない場合、VBAで教えてください! Excel、ソート などで検索 ただ今表を作っていて、左側に単価、右側に商品名で作っています。 それぞれデータの入力は済んだのですが、わかりやすく商品名をABC順でソートしたいと思っています。 ですが、ソート機能でソートすると商品名だけがソートされ、左の単価は置いてけぼりになってしまいます。 なので、商品名をキーにソートし、ソートする際は商品名だけでなく単価もくっつけて並べ替えるということはできますでしょうか? どうぞよろしくお願いします。
351 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:20:28 ] >350 ソートする際に、表の商品名部分だけでなく、 全体を選択してからソートすれば単価とかも一緒にソートされる。
352 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:23:47 ] >>351 OH!なんと基本的な操作・・・ ありがとうございました。
353 名前:350 mailto:sage [2008/05/13(火) 22:28:49 ] 重ねてすみません・・・ 試してみたのですが、ソートのキーが左の単価になってしまい右の商品名をキーにできません。 選択のしかたなど工夫してみたのですがどうしても左側がキーになってしまいます。 初歩的な質問かと思いますがなにとぞよろしくお願いします。
354 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:41:44 ] 「最優先されるキー」を選びなさい
355 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:42:25 ] 重ね重ねありがとうございます…
356 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:45:35 ] >>355 いいかげんにしてくれ。 まあ別にいいんだけどさ。 聞く前に3分くらいさわってみろよ。
357 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 22:49:18 ] >>356 352 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/05/13(火) 22:23:47 353 名前:350[sage] 投稿日:2008/05/13(火) 22:28:49 5分くらいさわってみてる模様
358 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 23:10:38 ] データ→並び替えでやればすぐに分かると思うが メニューバーのボタンって初心者にとってはある意味、無いほうがいいよな
359 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 23:14:10 ] >>355 いいことを教えてあげよう。 www.google.co.jp ここで エクセル ソート と入力してGoogle検索というボタンを押してみるんだ。 エクセルでソートしたくなったら今度からそうしろ。
360 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 23:30:42 ] 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【5 検索キーワード 】 EXCEL 使い方 ファイルAのとあるセルに入力したデータを別ファイルのファイルBの セルに反映させることは出来るのでしょうか? よろしくお願いします。
361 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 23:41:08 ] >>360 =[ファイルA]Sheet1!A1
362 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/13(火) 23:41:48 ] OS_XP/Excel_2003 ある列に0〜100までの数値が数百行あり、その数値が0〜50の場合にのみ その値をグラフに散布図として描画したいのですがどうすればいいでしょうか また、同じグラフに二次曲線も描画したいんですが、よろしければこれもお願いします
363 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/14(水) 00:10:18 ] 【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 経過時間,カウント マクロの処理速度を上げるために Application.ScreenUpdating = False を記述しました。 しかし,重い処理のため,実行終了まで20秒ほどかかります。 この間,処理中である旨のダイアログボックスを出し続けたいのですが, どのようにすればよいでしょうか? できれば,経過時間をカウントアップする表示が出せるとさらに嬉しいです。
364 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/14(水) 00:18:33 ] >>363 ダイアログボックスを出したまま処理を続けるには「モードレス」という種類のダイアログを 出さなくてはなりません。 それに対して、ボタンを押すまで処理が止まってしまうダイアログは「モーダル」といいます。 しかしExcelではモーダルしかサポートしていません。これは仕様です。 時間経過を表示するには、タイマーを使って定期的に一瞬だけScreenUpdatingをTrueにして、 どこかのセルかボタンに時間を表示するしかありません。
365 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/14(水) 00:20:02 ] >>362 作業列に =if(and(0<=a1,a1<=50),a1,"") として、この列を使ってグラフを作る
366 名前:名無しさん@そうだ選挙にいこう mailto:sage [2008/05/14(水) 00:29:18 ] >>363 ステータスバー使ったらどうかな? www.officetanaka.net/excel/vba/tips/tips13.htm