Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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総合相談所 77
http://pc11.2ch.net/test/read.cgi/bsoft/1231885728/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
★ルールを無視すると…
>>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分野の話ではないので、ここでは聞かないでください。
★ 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セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 表示形式 桁揃え 位揃え 位置揃え 整数小数の表示形式で、小数の桁数が違うものを全て1の位の位置が揃うように表示するには 表示形式をどのように設定すれば良いのでしょうか? 3.456789 123.45 0.456 23 などといった数値があった場合に、3もしくは0の位置を縦にピッタリ揃え 整数の場合は小数点を表示しないようにしたいです。 あとフォントの種類に依存しない方法でお願いします。
>>7 >あとフォントの種類に依存しない方法でお願いします。
これなんだろう?
なんか試されているみたい。
9 :
7 :2009/02/01(日) 07:31:07
いえいえ別に試してるわけじゃないですが、 Excelに限らずフォント変更するとレイアウト崩れるってことあるじゃないですか。 それに条件後出しはダメってことなので、先に書いておいただけです。
>>9 セルの書式を数字か通貨にしておけばいいんでないかな。
登場人物紹介無くなったんだな。
等幅フォントじゃないと小数点の位置は絶対揃わない
よって
>>8 の条件は満たすのは不可能
そっすねー A列には整数部分、右端揃え B列にはただのピリオド C列に小数点以下部分、左端揃え みたいな感じ? あとC列空欄ならB列も空欄に、かな
日付 伝票No ..種類 金額 2/4 001 いか 100円 2/4 001 ちくわ 50円 2/4 002 きくらげ 500円 2/6 003 すのこ 300円 2/6 004 いか 200円 2/6 004 きくらげ 200円 (続く) というデータがあり、ピボットグラフを作る時、 縦軸 金額 横軸 日付 で種類ごとの金額を折れ線グラフで作っているのですが、 これに右側の縦軸を伝票枚数にして日付ごとの伝票枚数を同時に折れ線グラフで表示することは可能でしょうか?
16 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 12:39:49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL表をプリントアウトしたときに 3行、4行目の内容が2ページ目以降も表示されるようにしたいです。 3、4行が表の見出しの部分で、データが5行目以降に入ってて 100行以上になるんだけれど、見出しは何枚目にもついてるようにしたいんです。
17 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 13:02:19
>>7 「セルの書式設定」=>「表示形式」=>「ユーザ定義」で
0.?????
という指定
18 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 13:02:56
>>13 まぁ一つの表示形式では無理だが、VBA駆使して一つ一つ表示形式を設定すりゃフォントは
関係なく、出来ないことはないわな。
少数点は下3桁までなら
1.234の表示形式は0.000
1.23の表示形式は0.00_0
1.2の表示形式は0.0_0_0
整数1の表示形式は0_._0_0_0
とそれぞれ設定すりゃいい。
20 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 13:04:39
>>17 整数のときピリオド表示したくないんじゃない?
21 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 13:08:03
22 :
18 :2009/02/01(日) 13:08:52
あ、そうか。
>>17 を参考にすると、少数点5桁なら
整数じゃなければ0.?????という表示形式で整数なら0_._0_0_0_0_0とすりゃいいんだな。
VBA使わないと無理だと思うけど。
23 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 13:34:39
全体を0.?????としておいて、手で整数のセルだけ0_._0_0_0_0_0とするとかが出来ないのならVBA使うしかないわな。 VBA不可となってるが、VBAなら範囲選択して下を実行すりゃいい。 フォントはなんでも揃う。 Sub foo() Dim c As Range Dim v As Variant Selection.NumberFormat = "0.?????" For Each c In Selection v = c.Value If VarType(v) = vbDouble Then If v = Int(v) Then c.NumberFormat = "0_._0_0_0_0_0" End If End If Next End Sub
>>16 メニューバーのファイル→ページ設定→シート→行のタイトルに3〜4行目を指定
どうあってもVBAに頼り切ってる人間が多すぎるな・・・
26 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 14:00:29
>>25 VBAじゃなきゃ無理だからしょうがないじゃん。
根性で一つ一つ表示形式設定するか
実務では最適な方法を模索するより、確実に結果を出せる VBAに素早く着手した方が効率良いことが多いからな。 最適論は余裕のある自宅警備員さんにお任せします。
数によるとしか言いようがないしねぇ
俺なら
>>14 でAに入力、B-Dに出力って形にするけど
1セルで数が多ければVBAしかないわな
>>25 はVBAに頼らないでどうやるんだろうか?
是非教えて欲しいもんだな。
表示形式に「整数なら」なんて条件はつけられないよな?
ちと訂正 作業セル使わずに1セルにまとめなら数が多ければVBAしかないわな
じゃあ作業セル使えよバカ
32 :
14 :2009/02/01(日) 14:18:38
俺の案ってどうなの?OK?NG?
VBAが普通だろうが、フィルタオプションで整数のセルだけ範囲内に抽出して、表示形式を設定する手もあるな。
そんなに時間かけてまで表示形式にこだわる必要性が どこにあるのかわからない。ただの自己満足でしょ? えんえんとこれについて吟味しているやつらはみんなバカw
数式の作業セルでやるやつが一番のバカ
>>35 暇なときに時間をかけるのは悪くないと思うぜ
だいたい
>>23 のコード書くのはせいぜい1分くらいだもんな。
全然時間かかってない。
>>17 に助けられTけど。
39 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 15:05:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ファイルを開こうとすると 「ほかのデータソースへのリンク」というのが表示されるのですが、 どこのセルでリンクをしたのか忘れてしまいました。 でも開くたびに表示されるはかなりうざいです。 これを消すにはどうしたら良いのでしょうか?
41 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 15:23:40
エクセルとは関係無いんですが、PC上でVBAみたいなプログラムを組むことって素人に出来るんですか?
>>20 整数部と小数部を2つのセルに分ければいい
44 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 16:00:43
》42 それ何ていうんですか
きっとExcel立ち上げないでマクロだけ使いたいとかいうんだろ とりあえずWSHのVBSでも使って、それで物足りなかったらVB6だな 今でもオクなら手にはいるし
>>43 まさか元のセルA1の表示形式を0とかして、,少数部B1に=MOD(A1,1)などとして
表示形式を.00000とかじゃないよな?
これ全然だめだもんな。
もしかして
>>43 の言うことって、B1に整数部=INT(A1)、C1に少数部=A1-B1とするってこと?
入力セルと表示セルを分けるっていまいちだね。
>>15 は無理かしら?
2つのグラフでX軸が共通でY軸が違う場合、
この2つのグラフを1つのグラフにまとめることなんですが・・・・
50 :
47 :2009/02/01(日) 16:47:44
>>47 はちょっとミスった。再カキコ
まさか元のセルA1の表示形式を0とかして、,少数部B1に=MOD(A1,1)などとして
表示形式を.?????として左詰めじゃないよな?
これ全然だめだもんな。
>>14 も「A列には整数部分、右端揃え」 って入力セルがA列なら無理だね。
>>50 別に表示形式だけでどうにかしろっていう設問じゃないし
文字列操作すれば見た目なんてどうにでもなる
>>50 A1の表示形式を0、
B1に=IF(A1=0,"",TEXT(A1,".?????????"))
これならどう?
間違えた。 =IF((A1-INT(A1))=0,"",TEXT((A1-INT(A1)),".?????????"))
>>53 A1の表示形式0は駄目。
123.456はうまくいくが123.567は整数部が124になる。
じゃあint()かませばいいじゃん すこしは自分の頭で考えろ
文字列操作なんて入力セルと表示セルを分けるってことだもんな。 美しくはないね。
>>56 そんなのは分かってるけど、入力セルと表示セルわけるのは美しくねーんだよ。
↓美しくエレガントな解法
>>58 でも素人はよく分ける。VBAなんてできないしな。
? どれが美しい解法?
馬鹿は相手にしねーよ。
>>58 はネタだろ・・・
あんまり釣られるなよ、質問しにくくなるからな
A1に入力してA1を見ないって馬鹿のやること。
>>53 は表示形式0が少数部四捨五入だって知らなかったんだろうなw
かわいそうなやつ。
入力と表示を分けるのがいやだとかぬかすのは、あれだろ 作業セルが大嫌いで何行にもわたる長大な数式つくって 「間違えた」の連発レスを繰り返す恥ずかしいやつ 間違いない
>>67 おめーいい加減にしろよ。
2.5なら少数部の0.5が四捨五入されて3になるだろうがよ。
馬鹿は逝ってくれ。
>>68 ざんねん。全然違う。
作業列はどっちかつーと好きだし、長い式は大嫌い。
おれはほとんど数式使わんけどな。
×少数部 ○小数部 小学校からやりなおせってこと
>>71 俺はフランス人だから日本語はよくわからないんだよ。
Nom de Dieu de putain de bordel de merde de saloperie de connard d'encul Ede ta mere
Je ne reponds pas a un maniaque
"a"はいらない。 どこまでも頭の悪いフランス人だw
>>7 は表示にしか触れてないんだから
入力セルは別で構わんだろ
A列に入力したらB-D列で
>>14 使えよ
つーか
>>7 はどこ行った?
なんだ 偽フランス人かよ 機械翻訳使うときは日本語だと精度が落ちるから、英語で原文書いてから 目的の言語に翻訳するといいぞ。豆知識な
>>29 2007では表示形式に条件が指定できるようになった。
10個ぐらい前のスレでも同じように小数点の位置を揃えたいって質問があって、
Excel2007で条件付き書式を使って解決する方法が紹介されてた。
>>80 あそう?
もしかして2007ではできるのかな?って思ったけど、やっぱできるのか。
おれもやり方調べてみる。
2007でやってみたら簡単にできるね。 まず全体の表示形式をを0.?????としておいて、条件付き書式で「数式を使用して、書式設定するセルを決定」で 数式に=A1=INT(A1) 書式で表示形式のユーザー定義で0_._0_0_0_0_0とすりゃでけた。
83 :
82 :2009/02/01(日) 18:40:37
書かなくても分かってるだろうけど 0_._0_0_0_0_0としないで 0 ←ここスペース6個 これは駄目だからね。 これじゃ等幅フォントじゃないと揃わないから。
でも今回の条件は2003だからなぁ
>>84 そうなんだよな。だからコード書いた。
自動でやりたきゃChangeイベントだろうけど。
10個前のスレッドの表示形式の桁揃え、案の定間違ってるな。 やっぱスペース使って揃えてる。
10個前のスレよく調べたねえ えらいえらい
ググればすぐ出てくるじゃん
Excel総合相談所 68まで遡ってググったと聞いて(ry
90 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 19:49:51
名簿を管理しているんですが、メールアドレスが入力されている欄で 文字が青くなってクリックするとOutLookが起動してメールが送れるようになってるものと 黒字でただの文字列として扱われているものがあるのですが 強制的に前者に固定するには、セルをどう設定すれば良いでしょうか? エクセル2003です。
92 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 20:34:23
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ (初心者本に目を通して少し触った程度) 【4 VBAでの回答の可否】 可 VBAを実用的に使う機会が無かったのですが、BASICを大昔に使っていましたので プログラミング等の基本の流れは理解できると思います ファイルAの中にBOOK-1からBOOK-100まで100個のエクセルBOOKがあります 全てのBOOKにはセルA1:M1000に数値データがあり、BOOK-1にはN1:IF1000に自分で入力した数式が入っているのですが このBOOK-1のN1:IF1000の範囲の数式をコピーし、 BOOK-2からBOOK-100すべてのN1:IF1000にその数式を貼り付けたいのです これを実現したくて必要なメソッド等を検索したのですが行き詰りました ・指定したBOOKを開く、閉じる ・セル範囲を指定してコピー、セル範囲を指定して貼り付け ・BOOK-2〜BOOK-100に繰り返しコピペをするためのFOR〜NEXT このあたりを理解できれば前に進めるかなと思ってます アドバイス、助言を頂きたいです。よろしくおねがいします
おれが知らないだけかもしれないが ブックっていうのはExcelのファイルのことか? それともシート?
94 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 21:09:08
>>93 すみません!そうです。ファイルのことです
シートはすべてsheet1のみ使っています
>>92 ファイルAってのはフォルダのことか?
VBA 学びたそうなので、こういうアドバイスの方がいいかな:
第1・2の操作については「マクロの記録」で、自分がその操作を実行するところを記録してみて、出てきたコード見るといいよ。
これはVBAの出番だな 得意なひとがいるからすぐレスがつくだろう
97 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 21:53:36
【1 OSの種類 .】 Windows ビスタ 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Vlook 注文日 A商品 B商品 1/1 2/1(@) 3/1(A) ・ ・ ・ @A商品の到着日、AB商品の到着日 上記のように「注文日の行」に各商品の到着日を 記載した表を作成しております。 この表から、下記のように「到着日の行」に注文日を 集計した表を作るにはどうすれば良いでしょうか? 到着日 A商品 B商品 2/1 1/1 ・ ・ 3/1 1/1 よろしくお願いします。
98 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 22:00:30
>>95-96 ありがとうございます!
なるほどマクロの記録ですね。すぐにやってみます
ここ数日は手作業でやっていたのですがVBAという素晴らしいものがあるのなら
使わないといけないと思いました
いずれマスターしないといけないもののようなので基礎から勉強してみます
>>97 元データをこのように変えましょう。
注文日 到着日 商品
1/1 2/1 A
1/1 3/1 B
・
・
・
>>98 次回からは1つのブック,1枚のシートにデータを入力してください。
101 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 22:09:12
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 グラフ上に書かれた文字で上付き下付文字をコピぺすると書式がリセットされてしまうのですが、 これをリセットされずにするにはどうしたら良いのでしょうか? 形式を選らんで貼り付けも見あたらないのですが・・
102 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 22:12:09
>>99 すみません。
元データの表は変更することができません。
103 :
92 :2009/02/01(日) 22:19:22
>>100 データが多すぎて一つにまとめると固まってしまうのです・・・
コンパクトになるようにも気を使ってみます
105 :
92 :2009/02/01(日) 22:32:43
>>104 シート10個を一つのファイルにまとめると、数式貼り付けに1シートあたり3分くらい待たされるんですが
>>105 >>104 はここに常駐している精神病の低脳だから気にスンナ
1sheetに入力するデータは余裕を持たせて手作業でコピペやるとしても細かくやったほうが早い
>>105 3分で済むならいいじゃないか。
3分が嫌で100ブックに分割したのか?バカじゃねえの?
108 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 22:37:33
>>104 元データーを変更しないと無理ということですか?
109 :
92 :2009/02/01(日) 22:42:08
>>106 ありがとうございます
そうですかとりあえず手でやってみます
>>107 3分×100= 300分
分割すれば30分から40分で終わるんだよ。この精神病ウジムシは頭が悪いなあww
110 :
名無しさん@そうだ選挙にいこう :2009/02/01(日) 22:42:52
Excelで実用になるのは1シート3000行くらいだよ それ以上になると極端に遅くなるし不安定になる Accessとかつかうことを考えたほうがいいかも
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 フィルター? シート名:管理表のセル AE10:AR50に表があります(10行目が項目) AE10が"徴収状況"で、AE列は"未収"、"入金済"、"中止"のいずれかが入っている状態。 表 AE10:AR50の中から"未収"の行のみを抽出して シート名:抽出表のA1に張り付けたいのですが これをマクロで自動実行させるには、どう記述すれば良いでしょうか。
>>111 数式の量にもよるとは思うが30000行でも問題なく使えてるよ。
いざとなったら自動再計算をオフにしたらいいのに。
>>97 まず、注文日の表をの右側にもう一度注文日の列を作る。
A列 B列 C列 D列
注文日 A商品 B商品 注文日 ←1行目とする
1/1 2/1(@) 3/1(A) 1/1 ←2行目とする
・
・
・
という具合。
それから、到着日の表のA商品・B商品の列にそれぞれ以下の数式を貼り付ける。
A列 B列 C列
到着日 A商品 B商品 ←17行目とする
2/1 [数式A] [数式B] ←18行目とする
・
・
3/1
[数式A]=VLOOKUP(CONCATENATE(A18,"(@)"),$B$1:$D$100,2,0)
[数式B]=VLOOKUP(CONCATENATE(A18,"(A)"),$C$1:$D$100,2,0)
エラーを表示させたくないなら、IF関数とISERROR関数を組み合わせてエラーを非表示に。
セル番地は適当なので自分の環境に合わせて数式をいじってね。
雑談は雑談スレへ
@、Aは説明用で実際の表には入力されてないとおもうよw
>>112 「マクロの記録」を使ってVBA記述してみた?
行の途中にある項目にフィルターをかけたい場合は、
その項目(AE10:AR10)を選択してからオートフィルターをかければよい。
>>116 あー、はずかし…w
じゃあ、CONCATENATE(A18,"(@)")の部分はA18だけでいいね。
>>114 まあこういう回答のほうが質問者にはうけるんだろうな。
>>114 もう一つ間違っていたので、訂正。
[数式A]=VLOOKUP(A18,$B$1:$D$100,3,0)
[数式B]=VLOOKUP(A18,$C$1:$D$100,2,0)
こんな感じ。
120 :
114 :2009/02/01(日) 23:17:11
>>118 丁寧すぎってこと?
回答初心者なんだもん。
>>120 C商品とかD商品が追加されたらどうすんの?
>>117 オートフィルタだと、元データをいじってまたフィルタ解除しなければならないので・・・・
できれば元データを崩さないまま抽出する方法はないですか
あと、 フィルターかける→コピーする→別の場所に張り付ける→フィルター解除 という流れで実行させるとして、コピーをマクロで実行させるやりかたがわかりません。 (列AE最初の抽出データ行:列AR最後の抽出データ行)を選択するにはどうすれば良いでしょうか?
124 :
97 :2009/02/01(日) 23:44:27
返事が遅れてすみません。無事にできました♪ ありがとうございます。
基本的な質問で申し訳ないですが、ここで語られている関数などはVBAを最初から勉強すれば使いこなせますか? Excelの基本操作はわかりますが、ワンステップ進みたいです。
>>125 VBAを勉強してもExcelをExcelらしく使いこなすことはできないよ。
>>122 元データをいじるとは?
フィルタかける前に、(AE10:AR最後の行)を選択しておけば
自動的に"未収"の行だけを範囲選択できるよ。
で、オートフィルターをかけたままにしておきたくないなら、
フィルター解除するまでをマクロの記録で行えばいい。
>>125 関数とVBAは全然別物ですよ
VBA覚えても関数は覚えられない
VBA覚えるより先にピボットテーブルは覚えておいたほうがイイよ
後は別ソフトになるけどアクセスも使えた方がいい
それでも覚えたいなら、まずはマクロの記録からかな
後はfornextとif使えれば大体何とかなる
>>125 VBA使うことを選んだ時点で「なぜExcelでやるの?」というツッコミを覚悟しないとね。
>>121 拡張性がないよね。
どうすりゃいいかな?セルに名前つけておいて、名前の番地を参照するとか?
>>130 番地とかポインタとか…
そんなものから早く開放されなさい。
>>99 がすでに正解を示しているだろう。
132 :
97 :2009/02/02(月) 00:33:59
>>121 初心者としては全ての商品列の横に
注文日の列を付けるのが分かりやすいのですが
このやり方では駄目でしょうか?
>>132 私は業務で3万点の商品を扱っています。
もちろんExcelは使っていませんけど。
商品を横方向に広げていくアプローチはスマートではありません。
だめだね。このほうがいいとおもう 注文番号 商品名 発注日 到着日 0001 A 1/1 2/1
136 :
97 :2009/02/02(月) 00:42:39
3万点ですか・・・ 私は10点なので、なんとかなるんですねw
>>136 VBAや変な関数を覚える前に身につけるべき必須のテクニックがあるのです。
138 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 00:52:55
>>136 データを入力して溜めていくときと
利用する時で違うということを意識した方がいいですよ。
あなたのは、見る時のもの。
注文ごとに、入力するのには合ってないですよね。
注文は時間を追って発生していくのでそれに合わせて
明細を入れていくのがスマートでしょう。
それと、多くのソフトは、時系列的に入力したデータを元に
あなたの最初に書いたレポートは、簡単に作れるようになって
いますよ。
もちろん、欲しかったレポートもね
139 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 03:44:03
構造自体にも適度な更新が予想される(そうでなくても、ですが)表を 作成する際、セル結合は避けた方が良いと思いますが、皆様はどうですか?
括弧内の捕捉があるせいで、1行目は意味を持たないな つまり質問の内容は 「セル結合は避けた方が良いと思いますが、皆様はどうですか?」 だけになるが、そんなのは当たり前じゃん セル結合は絶対にしないべき〜というなら反論もあるだろうが 無闇なセル結合を避けた方が良いのは当然
141 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 05:02:19
>>140 補足、の事ですね? そうでない場合との比較で問いの意義が強いつもりでした。
レス、有難う御座いました。
>>139 セルの結合の機能自体、削除してほしい位です
完成した表をきれいに見せたい時だけ結合多用してる
145 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 13:03:36
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 表示形式 勝手に 変更 置換 9 午後 10 午後 12 午前 午後 13 午後 14 午前 午後 16日pm 21日pm 23日pm のようなデータが1列のセルに収まっています。この「午後」を「pm」に置換したいのですが、置換すると 9:00 PM 10:00 PM 12 午前 pm 13 pm 14 午前 pm 16日pm 21日pm 23日pm と一部が時刻表示になってしまいます。数字は日付をあらわしているものなのでこれでは困るのですが、「午後」を「pm」に置き換えるだけをするにはどうしたらいいでしょうか。 表示形式を文字列にしてから置換を行っても、結果は変わりません。ご教授お願いいたします。
表示形式を時刻にするとどうなるの
置換してから表示形式を時刻にすると、「9:00 PM」などだったのが「21:00:00」などの表示になります。 表示形式を時刻にしてから置換すると形式変換した時点では変化なし、置換後はいきなり「21:00:00」などが表示されます。
表示形式を文字列にしといてから置き換えすれば
書式を文字列にしておいても、置換の時に時刻と見なされる文字列は、 勝手に時刻に変換されるみたいだね。 バリアントでやりとりするエクセルの良い所であり悪い所でもある。 元のデータもバラバラなんだから、あきらめれ。 見掛上だけなら、あとからユーザー定義で h am/pm にするとか。
完全一致で置換すればおk
ファイルメニューからテキストファイルを開いたとき、 改行のみの行が詰められてしまうようになってしまったのですが、 どうすれば改行のみの行が詰められなくなるか教えて下さい ちなみにエクセルのウィンドウにファイルをドラッグして開くと正常なのですが、 マクロでファイルを開きたいので原因が知りたいです。
ちなみに同一のファイルを他のPCで開いたら正常でした 不具合が起きたのは2003です
プロポーショナルフォントで小数点の位置だけを揃えて何か意味があるのか? 数字の桁も全部揃ってないと視覚的に大小の比較ができないじゃん。 どうしてもやりたいなら作業列を3列用意して、整数部、小数点、小数部を 別々のセルに表示するのが一番簡単だと思う。
蒸し返した割りには美しくない。
>>153 VBAやら2007の条件付き書式など色々書いたおれもそう思ってた。
小数点5桁まで表示するセルがあるなら、整数の3は3.00000とすべきだよな。
昨日書こうと思ってたが忙しくて書き忘れた。
数式や複数列は良い方法じゃないと思う。
VBAができる人はVBAが一番簡単だよ。
あの程度はざらにできる人多いはず。
> 小数点5桁まで表示するセルがあるなら、整数の3は3.00000とすべきだよな。 そういう場合もあるが、全ての状況においてそれが適切とも限らない 視野は広く持ちましょう
自分で質問して自分で回答してる人もいるからしょうがない
さあねw
>>157 配列数式はいるかも知らんね。
アホ質問にアホ回答さんざん見た。
覚えた技を書きたくてしょうがないんだな。
今はさすがに少なくなったと思うが。
6○1かw
162 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 20:45:40
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 VBAでかいとうください。 【5 検索キーワード 】vba リンク貼り付け B1をリンク貼り付けしたいのですが A1に文字・数字があるとき(何かセルにあるとき) のみリンク貼り付けして A1が空だったらB1も空にしたいのです。 普通にVBAでB列をリンク貼り付けすると B列全部リンクされ膨大なデータになってしまい 困っています。 よろしくお願いいたします。
163 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 20:48:34
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 グラフ内に挿入したテキストボックスの文字列の行間を変えるにはどうしたら良いのでしょうか? そういう設定項目が見あたらないのですが・・・
おれはExcelで困ることはほとんどないから 質問はしないよ できることできないことがわかれば、聞きたいこともなくなる
ふーん むきになっちゃってw
169 :
145 :2009/02/02(月) 21:18:39
レス下さった方ありがとうございました。
一度「午」→「日午」に置換
「午後」→「pm」に置換
「日」→「」(何もなし)に置換
の手順を踏むことで解決いたしました。
>>148 試してみたのですがだめでした。
>>149 やはり難しいですか。
ユーザー定義というのはありですね。勉強になります。
>>150 完全一致だと「9 午後」のセルの「午後」が置換されずだめでした。
できないはずだと思い込んでるのでしつもんしないのかもなww
桁揃えはオレもずいぶん長い事悩んでいるが、 今の所のベターな解決策は、0.????? だな。 整数でも小数点が表示されるという難点があるが それは画面上だけの、まあ愛嬌として 印刷物にシビアなビジネスシーンでは マクロで取り除くようにしてる。
そんな悩むようなことか?
そんなことでマクロ組むくらいならセル分けるよなあw
分けないって。 マクロの方が簡単だから
>169 それじゃ解決出来てないと思うよ。 9日 pm はどうなる? 質問を変えた方がいいかも 数値は日付として午前午後AMPMは全部 am pm に統一したい。 とか
数値入力するたびにマクロ走らせるんだろ
めんどくさいし、忘れることもある
関数で簡単に実現できることをわざわざ手動でする意味がない
>>145 pmを別のセルに入力したら?
>>176 俺はそろえようと思ったことないが、揃えるなら普通は最後に一回じゃないの?
どうしても自動でやりたきゃ入力セルならChangeイベントもある。
でもこれはやらないな。
178 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 21:44:57
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ファイル フォルダ 画像を挿入するのに、特定のフォルダまで開くことはできますか。 作業する人は その下の階層からフォルダを選択して 挿入するような感じにしたいです。
>>162 if文で、A1が空の場合とそうじゃないときで処理を分岐させればいい。
ていうか、B1がリンク貼り付け先なの?
それともB1を別の場所にリンク貼り付けしたいの?
まず日本語を勉強しなきゃw
何がしたいのかわかんない。
>>178 開くだけなら。
Call Shell("Explorer フォルダのパス", 1)
またまた来ましたが、 日付 伝票No ..種類 金額 2/4 001 いか 100円 2/4 001 ちくわ 50円 2/4 002 きくらげ 500円 2/6 003 すのこ 300円 2/6 004 いか 200円 2/6 004 きくらげ 200円 (続く) というデータがあり、X軸・日付、Y軸・金額、棒グラフで種類というピボットグラフを作ります このグラフに、日ごとの伝票枚数の折れ線グラフを入れることは可能でしょうか?
181 :
名無しさん@そうだ選挙にいこう :2009/02/02(月) 22:42:58
>>179 ありがとうございます。
どなたか画像の挿入からフォルダをひらくとこまでできませんか。
>>178 Application.FileDialog(msoFileDialogFilePicker)の
InitialFileNameプロパティで開くフォルダの指定が可能。
戻り値をPictures.Insertで挿入する。
183 :
151 :2009/02/03(火) 00:19:02
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】改行、改行だけの行 テキストファイルを開くとき、途中の改行だけの行が省略されてしまいます。 改行文字コードが原因だと思ったのですが、 他のPCで同じファイルを開いたときは正常だったのでよく分からないです。 どこかに読み込む時の設定があるのでしょうか。
無いです
色々なかけ算をしているのですが、 さいこうでもいくつという風に設定することは可能ですか? 例えばA*13(最高は100)の場合 A=2とかの時は普通に26だが、 A=10のときは100とかにすることは出来ますか?
>>185 =IF(A1*13<100,A1*13,100)
=MIN(A1*13,100)
MIN関数の方がスマートに見えるかも知れないが
初心者はまずこういう条件式ではIF関数覚えた方が良い
>>180 とんでもない仲間はずれが1つ入ってる件
しかも安い
てか、何屋?
91 名前:名無しさん@そうだ選挙にいこう [sage] 投稿日:2009/02/01(日) 20:13:48
>>15 とんでもない仲間はずれが1つ入ってる件
187 名前:名無しさん@そうだ選挙にいこう [sage] 投稿日:2009/02/03(火) 04:36:45
>>180 とんでもない仲間はずれが1つ入ってる件
>>187 >>180 はすのこをバリバリ食うんだよ。
昔、象が襖を食ってる絵本があったそうだがすのこもうまいかも。
>>180 の「すのこ」は何らかの食品の名前としてそういう方言があるのかもしれないジャマイカ
真実は180にしか分からんわけだがw
192 :
名無しさん@そうだ選挙にいこう :2009/02/03(火) 10:54:24
名簿を作成していて Aに名前 Bに住所 Cに電話番号を入力しています。 Cセルでエンターを押すとAセルに戻るようにするにはどうすればいいのですか?
>>192 A→B、B→Cの移動にTABキー使えばCでエンター押したときに自動的にAに戻る
>>192 例えばA1-C10なんかを範囲指定してるとエンターで移動する限りそこだけが対象に菜寝る
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】 Excel 並べ替え A 1 1-1 2 1-2 3 2-1 4 2-2 5 3-1 6 3-2 7 と続いていくデータを、 A B 1 1-1 1-2 2 2-1 2-2 3 3-1 3-2 4 と並び替えたいのですが、どうすればいいでしょうか。
作業セルに−の前とあとの数字を分けた2列をつくって その2列を縦横項目にしたピボットテーブルをつくる
またピボット厨か 適、不適を弁えろよw
>>197 B1=INDIRECT("r"&(ROW()*2-1)&"c1",0)
C1=INDIRECT("r"&(ROW()*2)&"c1",0)
後は下にオートフィル
A列にしたければ値で貼り付け
追記: ピボット厨はネタの時はネタと書くように
>197 A列コピー>B列貼り付け>B1削除(上シフト) C1に何か入力>C1:C2選択>下へオートフィル 選択状態のまま、編集>ジャンプ>セル選択>空白セル 削除(行全体)>C列削除
寿司か海鮮食品の関係じゃないかと思ったが 巻き寿司作るやつをすのこって呼ぶし蕎麦の下にしくのもすのこだし
すのこはハジ対策に必須だろ なかったら殺されるぞ
205 :
名無しさん@そうだ選挙にいこう :2009/02/03(火) 17:45:22
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロを実行して他ファイルのデータを取り込むにはどうすれば良いでしょうか? 管理表.xlsというファイルと参照元.xlsというファイルが同じフォルダ(Dドライブ直下)にあるとします。 参照元.xlsというファイルは、A1〜A12に"4月"〜"3月"と書いてあって B1:F12には月別のデータが入っています。 管理表.xlsのA1には手入力で4〜3の月数を入れるとして マクロを実行すると、参照元.xlsの該当月データを2行目に引っ張ってこれるようにしたいです。 具体的には管理表.xlsのA1に"10"を入れてマクロを実行すると B2〜F2に参照元.xlsの10月分データ(B8:F8)が表示されるようにする。 よろしくお願いします。
>>205 取込先のブックを開いて、そのブックのオブジェクトを取得すれば
あとはブックオブジェクト.シート.セルで普通に扱えるだろ
取込先ブックが表示されるのや嫌なら、開く前に画面更新止めて
閉じた後に画面更新再開すればいいし
>>205 With Range("B2:F2")
.Formula = "=VLOOKUP($A1,'" & ThisWorkbook.Path _
& "\[参照元.xls]Sheet1'!$A1:$F12,COLUMN(),FALSE)"
.Value = .Value
End With
208 :
207 :2009/02/03(火) 18:07:39
$A1&"月" に、訂正
209 :
197 :2009/02/03(火) 18:11:06
上手くいきました。レスいただいた皆様どうもありがとうございました。
>>205 わざわざマクロを使わなくても、参照元.xlsが同時に開いていれば、=[参照元.xls]Sheet1'B2 みたいな数式で
他のブックのセルが参照できますよ。
参照元.xlsを開きたくない場合はVBAが必要になりますけど、開き忘れたらどうするのかってことなら
同時に2つのブックを開くマクロを使えばいいと思います。この方が全体の処理が簡単になると思います。
ただの値参照になんでVBAをつかうんだろ 不細工な仕様やね
わかってないな
確定して保存しておきたいとか普通にVBA使った方が便利じゃん 仕事で使ってないのかいな
むしろここがVBAの本領を発揮できるところじゃないか ピボットでやるつもりなのか?
>>213 それはデータ構造が悪い
過去のデータを使いたいならデータベースから日付を指定してデータを取り出せるような構造にしておくべき
素人は入力と表示を分けないからな いかに二度手間を省くかという発想がない
やっぱ運用したこと無いのかw
エクセルで運用って時点で恥ずかしすぎるってことに気づいて
> データベースから日付を指定してデータを取り出せるような構造 それが適切とは言えない状況もあることに気づいて
少なくともうちではそういうのを運用とはいわない 集計表からデータ拾って来るなんてのは基本的にタコ どんな集計にも対応できるマスタをいくつかつくって 表示はすべてそれを元にピボットなりDB関数で行う 削除なども実データを消さずに削除というフラグで日々追加する仕様に しておけば、いついつ現在の集計なんてのも簡単にできる
そんな糞仕様、実務じゃ使えねーなw
マクロを削除したはずのファイルを起動したんだけれど 「マクロを有効にしますか?」と聞いてくるんだが、どうすれば直ります?
DB処理にExcelって時点で却下 そういうことしたいなら最低でもAccess使うだろ
コードの消去ではなく、モジュールの削除(解放)しる
228 :
222 :2009/02/03(火) 20:36:56
追加質問です。 外部データへのリンクを、いちいち聞いてこないで自動更新する方法ないですか?
>>228 ワークシートの数式や関数の中で別ファイルのデータを参照してるなら、自動更新は無理。
別ファイルをあらかじめ開いておくしか方法はない。
230 :
222 :2009/02/03(火) 20:39:44
>>227 してないです。やり方を教えてください。
231 :
222 :2009/02/03(火) 20:40:25
そゆこと Excelのシートにデータため続ける御伽噺してる時点で程度がわかるw
>>230 VBEでモジュール名を右クリックして開放
ピボットの何がいけないの?
235 :
名無しさん@そうだ選挙にいこう :2009/02/03(火) 21:22:23
>>208 回答ありがとうございます。
しかしながら、"月"のところでコンパイルエラーが出ました。
ピボットは最終的に表示するところが限界 そこまでで良ければ問題なし
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】シート マクロ 保護 解除 一括 やりたいこと マクロでDドライブ\作業用フォルダにあるエクセルデータ(30個くらい)全部を 指定されたパスワードでシートの保護・解除したい。 パスワードかける項目も指定出来たら……。
239 :
名無しさん@そうだ選挙にいこう :2009/02/03(火) 21:36:37
>>237 うまくいきました。ありがとうございます。
>>224 >>232 とは言ってもVBA厨だってやってることはデータの集計だろ?
劣化ピボットを何個作れば気が済むの?
>>224 ACCESSでもVBAで集計プログラム書いてるのかな。
労力の使い方が間違ってる 考える時間はデータ構造の分析に費やすべきで、VBAのコーディングに 費やすやつはスジが悪い
243 :
178 :2009/02/03(火) 22:08:44
>>182 ありがとうございます。
VBA初心者なのでもう少しかみくだいて教えてください。お願いします。
>>238 フォルダ内の全ブックの全シートにいっぺんにパスワードかけるマクロ。
単純なInputBox使ってるからショルダーハッキングに注意な。
逆に解除したい時はProtectをUnProtectに変える。
Sub a()
f = "c:\作業用\"
p = InputBox("パスワードは?")
n = Dir(f & "*.xls")
While n <> ""
Workbooks.Open (f & n)
For Each s In ActiveWorkbook.Worksheets
s.Protect Password:=p, userinterfaceonly:=True
Next
ActiveWorkbook.Close True
n = Dir()
Wend
End Sub
Excelでやるような作業の多くはクロス集計のサブセットなんだよ。 VLOOKUPとピボットテーブルさえ覚えたらほとんどなんでもできる。 SUMIFやCOUNTIFは役立たず。 INDIRECT使う前にデータの設計を見直すとよい。
>>243 あらかじめフォルダを指定してファイルを選ぶ部分だけ書くと、こんな感じ
Sub b()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "c:\作業フォルダ" ' ここでドライブと開きたいフォルダを指定する
If .Show = -1 Then
n = .SelectedItems(1) ' 変数nに選択されたファイル名が入る
MsgBox n
Else
n = "" ' ファイルを選ばずにキャンセルした場合
End If
End With
End Sub
このスレの質問者の多くは、見た目や印刷結果を考えたり 図形を利用したりしてるブックを扱ってるだろうから Excel本来の機能論はせめて雑談スレでやるべきだろうな と反論すること自体スレ違いだろうが勘忍な
>>245 それはあくまでも理想だな。
現実には、もっと手を抜きたいとか、結果さえわかればいいとか、
データを再利用する必要性がまったくないような使い方の需要も多いわけで。
249 :
名無しさん@そうだ選挙にいこう :2009/02/03(火) 22:31:30
先生様が多いこと多いこと
>>243 >>246 を添削w
Sub b()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "c:\作業フォルダ\" ←開きたいフォルダ名の後に\を付けるのをお忘れなく!!
If .Show = -1 Then
ActiveSheet.Pictures.Insert (.SelectedItems(1))
End If
End With
End Sub
データ再利用する必要性がまったくないならWordでもつかえばいんだよ
INDIRECT関数ってなんだこれw 使うときあるの?どんなときに使うのか想像つかん
単純に、電卓のかわりにExcel使うってのはよくあるけどなあ。 だーっと伝票の数字を入れて合計を出すだけ、みたいな。 数字が残るから検算が楽。
想像力の欠如を自慢してる人がいますね 自分のやっていることが世界のすべてですか
>>252 \が無いと、指定したフォルダが存在しなかったとき
ファイル名のところに「作業フォルダ」って表示される。
まぁそれだけのことだけんども…
あまり理想を追求しちゃうとExcelじゃなくてAccess使えばいいじゃんて話になってくるんだよなあ。
次のレス予想 「じゃあINDIRECTの効果的な使い方を書いてみろ」
>>255 どうも言葉遣いを間違えたようで。
どんなときに使うのか、不勉強な私めに教えてください。
>>244 エクセルを開いたときに他のシートはパスが掛かるんだけど
アクティブなシートだけパス掛からないです…
>>248 手を抜きたい、結果がわかればいいこそピボットだろう。
おまえらいつも言ってるだろ。ピボットは見た目がいやだって。
その場その場で発言を翻すなよ。
ほんとに頭で考えているのか?
258は本物の予言者だったようです
>>262 正規化されたテーブルを作るのが面倒な場合って結構あるよ。
作りさえすれば何でも出来て楽チンなんだけどね。
267 :
名無しさん@そうだ選挙にいこう :2009/02/03(火) 23:01:19
分けわかんない関数は、「こんな関数もあるんだな〜」程度でいいんだよ 必要に迫られたとき、そう言えばあれが有ったって事になるから 使い方を決め付けてかかると応用力が低下するぞ
268 :
178 :2009/02/03(火) 23:02:13
>>246 >戻り値をPictures.Insertで挿入する。
のところの書き方がわかりませんでした。。。
結局全部訊いてるような。。。
お願いします。。。
ピボットってさあ VBAならこれこれこう書けばいいよって誰にでもわかるように教えれるけど ピボットは無理じゃん? わかってる人間にしか教えれないんだから回答として一般性に欠けるよね そのxlsうpれよピボット作ってうpり返してやるよみたいなことしかできないじゃん
それでいんじゃないの?なにがいけないのかわからない
>>266 正規化せずになんとかしようとがんばっても別の方向に面倒なことしてるだけだよ。
今日、ピボットの参考書を本屋で探してみたんだけど ピボットのピの字も索引に載ってない本のほうが多くて 結局手ぶらで帰ってきたよ。
>>269 「符号を反転してからクロス集計しろ。」
というような説明でわからないならお前には何かが欠けている。
とらのあな
駅ビルの本屋
278 :
178 :2009/02/03(火) 23:26:52
>>268 すみませんわかりました。(n)で挿入できました。
VBAの長所である自由さは、同時に最大の短所でもある。 VBAはなんでもできてしまう。正しい処理だけでなく、間違った処理も。 例えば国ごと年ごとの輸入額,輸出額のデータがあるとして、ある国のある年の収支を計算したいとする。 輸出額の合計から輸入額の合計を引いたらいいんだけど、VBAでこの処理を記述したとして、もれがないことを客観的に検証できますか? そのプログラムは、 輸出のデータはあるけど輸入のデータが無い場合を正しく計算できていまますか?またその逆は? 同じ国、同じ年のデータが複数あっても正しく計算できていますか? 国別集計プログラムが完成しました。次は年別集計です。プログラムをもうひとつ作るのですか? 10年間の集計を計算したい場合でも適用できますか? ヨーロッパ、アフリカ、アジアなど地域別の集計をしたい場合も適用できますか?
280 :
178 :2009/02/03(火) 23:57:49
>>268 n = .SelectedItems(1) のところをアイテムを複数選べるようにするにはどうしたらいいんでしょうか。
>>280 .SelectedItems.Count で選ばれたファイルの数がわかります。あとはファイルの数だけ
.SelectedItems(1)
.SelectedItems(2)
.SelectedItems(3)
のように続けていくだけです。
>>178 の回答にはならんかもしれんが
マイプレースをカスタマイズして頻繁に使うフォルダを設定しとくと何かと便利
284 :
178 :2009/02/04(水) 00:48:26
>>281 With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = " "
If .Show = -1 Then
.SelectedItems.Count
n = .SelectedItems(1) ' 変数nに選択されたファイル名が入る
MsgBox n
Else
n = "" ' ファイルを選ばずにキャンセルした場合
End If
End With
ActiveSheet.Pictures.Insert(n).Select
この中のどこに入れたらいいんでしょうか。お願いします。
End Sub
>>279 VBAでコード組んだらVBAで検証しないといけないの?
VBA厨が同じ処理を10倍時間かけてコード化したからって、あんたに何か不利益あるの?
もしあんたの部下とか後輩がそんな事やってて、仕事の効率が悪いなら直接言えば?
質問があったら何でもかんでもVBAで答えちゃうってんなら問題あるけど、
基本的にVBA厨ってVBAでの回答を望まれてるときしかコード書かないと思うけど
>>285 質問者の方がVBAじゃないとできないと思い込んでVBAでの回答を望む場合もあるから困るんだよな
あと、ピボットは自動化できないからなあ
>>284 複数の画像を選択してワークシートに挿入するには
今までのサンプルとはちょっと違った方法を使った方が早い
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "d:\画像フォルダ\" ' フォルダ指定
If .Show = -1 Then ' 画像が選択されたら挿入の処理に進む
For Each p In .SelectedItems ' 画像の枚数分だけ繰り返し
ActiveSheet.Pictures.Insert (p) ' 1枚ずつ画像を挿入
Next
End If
End With
288 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 01:29:46
今 1 4 7 2 5 8 3 6 9 こんな風に並んでるのですが、これを 3 6 9 2 5 8 1 4 7 と逆転させたいのですが、どうしたらいいでしょう?
>>289 通し番号いらない
A列でもB列でもC列でもいいから降順ソートするだけ
>>290 おそらく1、2、3というのは位置関係と作業内容を示してるだけで、実際に入っているデータではない
いえ、実際に入ってる数字です ありがとうございました
1桁の数字がたった9個なら手作業で入れ直せよw
また入れなおすかもしれないと思って・・・
295 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 02:19:18
Vista・2007のPCで、Excel 97-2003 ワークシート(.xls)を開く際、 コピー先がDドライブだとエラーが出て開けません(Cでは開ける)。 解決方法を教えてください。
>>295 そのコピー先フォルダをセキュリティセンターから「信頼できる場所」に登録
>>285 別に「VBAで」検証する必要はないぞ。
正しい説明であればいい。
君は私の部下ではないから好きにVBA書いていいよ。
>>288 をVBAで解決してやりなさい。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 不明 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ターミナルデジット 関数 現在勤めている病院にて、 ターミナルデジット方式という下二桁で100分割する 方法で管理しているカルテ群をexcelでデータベース化するのですが、 下二桁だけを返してくれる関数を教えていただけませんか?
>>298 A1に元のデータが入っていたとして、
=MOD(A1,100)
>>298 Excelでデータベースもどきを作った場合、内容にもよるけど実用的な範囲で処理できるのは
経験上3万件程度になるけど大丈夫?
それ以上の枚数になりそうならAccessを使った方がいいよ。
>>298 MOD知らない人は=A1-INT(A1/100)*100とすりゃいいんだけどな。
そういう人はINTも知らない
>>300 そういう場合はデータを100分割して、100個のブックに保存したらいいYO。
>>303 で、集計したいときはVBA走らせるわけですね。やってられるかばかw
フォントの種類に依存しないならそれだろうね
なんでここのバカどもは最適解とかいうのかね。 そんなもん質問者が決めればいいだろ。 回答者はそれぞれが最適と思う回答をすればいいんだよ。
>>14 は入力セルがA列なら駄目って何度か書いてるぞ?
整数部分が四捨五入されるからね。
>>308 最善の方法があるとしても、質問者は次善手や悪手を採用しがち。
みんな経験あるだろ?
>>310 そんなの常識だよ?
プロポーショナルフォントでも数値の0〜9は全部同じ幅。
小数点のピリオドは狭いけどね。
だから俺の回答の
>>23 や
>>82 で無問題。
絶対使えとは言わんがね。
>>153 の言わんとすることは
3.1なら3.10000
3なら3.00000とした方が分かりやすいって意味だろ?
>>311 △数値
○数字
間違いじゃないけどこの場合は数字のが適切
まさか
>>153 はプロポーショナルフォントでは数字によって幅が違うと思ってないよな?
俺は
>>311 みたいに解釈したけど、数字の幅が違うという意味にもとれなくはないよね。
問題はスペースの幅が数字とは違うことだろ。おかげで左右中央どっちに寄せても揃わなくなる。 結局はセルを3つ使うとか、VBAで細工するしかなくなる。
セルは2つでいいと思うんだ
>>315 俺の>23や
>>82 みたいにスペースで埋めない表示形式ならフォントは無関係だけどな。
フォントに依存しない方法なら、確かにセル三つ使うか俺の方法しかないよな。
>>316 それじゃ駄目。
何度も書いてるぞ?
3.456なら意図どおりになるだろうが、3.567だと整数部がどうなるか試して見?
>>298 は元のデータが数値とは限らないと思うんだが・・・
>>320 つ Google 「ターミナルデジット方式」 [ 検索 ]
>>321 調べてもID末尾の2桁をキーにして分類する方法という事ぐらいしか分からないんだが、
そのIDが数字だけから出来ている事は保証されてるの?
つまり=RIGHT(A1,2)が正解? でも1桁ごとに色分けすることになってるし、1文字ずつに分けてセルに色を付けた方が使いやすくなるような気もする。
セルは分けた方が無難だと思うな
326 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 17:46:09
excelって0行を挿入することとかできるの?
無理です
>>326 1行目の前に行を挿入すると、それが新しい1行目になって、
もとからあった行は行番号が順送りにずれる。
一番下の行(2003なら65536行目)は内容もろとも消えてなくなる。
>>325 なんんこと?
場合によるとしか言えんな。
桁揃えの件を蒸し返してるとすれば、それは違うと言っておく。
330 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 18:55:37
kimoi
>>331 そうか。
なんか蒸し返してあまりよくない方法を押しつけるやつがいるんでね。
どうしてもVBAで桁ぞろえをさせたいやつがいるんだな 好きにさせろや
表示形式知らんやつは3列使えばいいんだよ。 VBAとかそういう問題じゃない。 ようは表示形式を知ってるかどうかだ。
VBAを難しいと思ってるのが日本人には多いんだよな。 アメリカ人なんか汚くても書けるやつはざらにいる。 日本人はこだわりすぎなんだよ。
1列しか使わない場合、VBA使わないといっぺんにそろえられないやん 数値入力するたびにこれは整数だからこの書式、これは小数点以下あるからこの書式って 設定するわけ? 3列つかえばそんな手間なくなるんだよ?
>>336 書いてないだけで、そんなの簡単にできるんだよ。
おまえは自分の常識で書くのはやめろや。
2007ならすでに書いてるように条件付き書式でできるし、2003なら
別のやり方でできる。
馬鹿相手にするの疲れた。
338 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 19:43:24
別のやり方でできるんだ ふーん そうなんだ できるんだ へえ
339 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 19:44:20
すでに書いてるやり方で問題点指摘されてるのは見えないんだ そおれは疲れすぎてるよね おつかれさまあ
まともな指摘なんかどこにもないしな。 まさかプロポーショナルフォントで幅が違うとかじゃないよな。 まさかね。
答えに詰まると相手を馬鹿呼ばわりする人が粘着するスレ
3列使う方法が入力セルを見ない問題点は指摘されてるねw
>>341 どこにも詰まってないぞ。
答えは書いてるからよーく読んでみましょうね。
だいたい昨日の話題を蒸し返してるやつなんなの? それもおかしな方法を押し付けてるしw どっちが粘着なんだか。
質問がそもそもおかしいんだよって事でよくねーか?
・質問がおかしい ・「3列使う方法が入力セルを見ない」がおかしい
ふと思ったんだけど、2003で整数なら小数点を消す方法、文字列に変換したらなんとかならんか?
>>348 数式でか?
プロポーショナルフォントでもできるかい?
IFで場合分けしてTEXT関数でフォーマット指定して文字列に変換すれば、 2007の条件付き書式と同じことができるんじゃないの?
入力されたデータと結果の表示されるセルが別々になってる時点で同じじゃない
>>350 TEXT関数で後ろはスペースで埋めるのかい?
スペースじゃプロポーショナルフォントじゃ揃わないし、TEXT関数じゃ表示形式の_0みたいに
0(他の数字でも同じ)と同じ幅の空白なんて芸当できないしなぁ。
俺はそのやり方思いつかん。
kwsk書いてくれ。
質問者が「2003、表示形式で」って言ってんだから、どう考えても
>>7 は不可能、できない、だろ?
354 :
162 :2009/02/04(水) 20:28:26
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 VBAで回答ください。 【5 検索キーワード 】vba リンク貼り付け 以前も質問しましたが 私の説明が悪かったので 再度教えてください。 B1にリンク貼り付けしたいのですが A1に文字・数字があるとき(何かセルにあるとき) のみリンク貼り付けして A1が空だったらB1も空にしたいのです。 普通にVBAでB列をリンク貼り付けすると B列全部リンクされ膨大なデータになってしまい 困っています。 よろしくお願いいたします。 if関数だと =IF(A1="","",A1) のB1へのリンク貼り付けです。 よろしくお願いいたします。
.
>>353 根気強く各セルに別々の表示形式を設定すりゃできるが、一つの表示形式じゃ無理だね。
そんなことより、このスレにも未解決の質問があるだろ。誰か答えてやれよ。 俺はVBA素人だからわからんがな。
>>354 =IF(A1="","",A1)
って
=A1
と何が違うの?
>>354 質問の意味がわからん。とりあえずその数式をVBAで再現するとこうなる。
If Range("A1") = "" Then
Range("B1") = ""
Else
Range("B1").Value = Range("A1").Value
End If
>>354 まず、A列の最終行を取得、
A列の1行目から最終行までをfor文で読み取りながら、
if文でA列が空じゃない場合のみB列にif関数を貼り付ける。
相変わらず主語がないな。「何を」貼り付けるのか。 文章を組み立てるときに主語を使わないのはたいてい女。
362 :
360 :2009/02/04(水) 20:44:45
もとい、if関数じゃなくて=A1でいいか
最終行まで、無条件にIF関数の貼り付けでいいじゃん。 つか、「リンク貼り付け」はどこ行った?
数字がいくらか並んでいる時、 上位二つだけを足し算したければどうすればよいでしょうか?
>>364 「上位」ってのは、数字が一番「大きい」って意味でいいんだよね?
例
=MAX(A1:A10)+MAX(A1:A10,2)
>>364 {=SUM(LARGE(範囲,{1,2}))}
=LARGE(範囲,1)+LARGE(範囲,2)
そうか =MAX(範囲)+LARGE(範囲,2) でもいいのか。
368 :
364 :2009/02/04(水) 20:59:03
ありがとうございます!
369 :
365 :2009/02/04(水) 21:00:56
間違えた… MAXじゃなくてLARGEですだ
>>354 B1だけにリンク貼り付けしたいのか、
それともB列にリンク貼り付けしたいの、
それともB列をどこかにリンク貼り付けしたいのか、
その文章だとわけわからん。
B列全部リンクされる、というのは
リンクする必要のない行までリンクされるために
ファイルサイズが大きくなるってこと?
371 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 21:08:56
まーた自作自演 気持ち悪い奴
372 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 21:09:33
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 sumif 複数 A列 B列 C列 1月 あ 1 → 【結果】 1月 4 1月 い 2 2月 0 1月 あ 3 3月 7 2月 あ 0 2月 い 2 2月 い 1 3月 あ 4 3月 い 2 3月 あ 3 上記のような表があって、【結果】のように「あ」だけの合計の表を月ごとに作りたいです。 1月を集計するときはA列が「1月」かつB列が「あ」であるという条件に したいのですが、そのような式をたてればよいのでしょうか? よろしくお願いします。
>>372 条件を決めて集計するのは、数式作らなくてもピボットテーブルでできるよ。
どうしても数式じゃないとダメ?
どれが?
>>375 一発は言い過ぎだろ。
15秒はかかるぞ。常識的に考えて。
蒸し返しですみません。
>>14 に質問です。
B1には=IF(A1<>"",INT(A1),"")
C1には=IF(A1<>B1,".","")
までは分かるのですが、D1の式がよく分かりません。
一応下のような不細工な文字列操作関数の式は考えたのですが。
=IF(A1<>B1,RIGHT(A1,LEN(A1)-FIND(".",A1)),"")として左詰め。
なんかすごく簡単そうに書かれてるのですが、私は結構考えてしまいました。
もっと簡単な方法を教えて下さい。
出来れば文字列操作関数を使わない方法でお願いします。
>>377 文字列操作関数を使わないのは面倒だよ。数学的に桁数を調べるには対数関数とか使うことになるし。
=MID(MOD(A1,1),2,9)
まちがえた =MID(MOD(A1,1),3,9)
>>378 それだと仮にA1が113.45だと.45000000となるんですが。
>>379 今度は450000000となるんですが。
演算誤差か… なんか式が長くなっちゃったな。 =MID(TEXT(MOD(A1,1),"#.#########"),2,9)
>>382 俺(378)は14じゃないけど、別に14も式が短く書けるとは行ってないし、
あんたも自力で回答を見付けてるじゃん。
その式を導き出すのに時間がかかったかどうかは個人の技量の問題だし。
演算誤差を考慮すると11桁が限界かな。 =MID(TEXT(MOD(A1,1),"#.###########"),2,11) 細かいことを言えば負の数に対応できてないんだけどね。
>>383-384 出来ました!
でもみなさんすごく簡単そうに書かれてましたが、あまり簡単ではないみたいですね。
>>383 なんかは私みたいな初心者には考えつきません。
もっと簡単な方法はないんですかね。
式の見た目を短くするだけならTEXTよりROUNDで誤差部分を削った方がいいんじゃないかな。 誰かやってみてくれ。
388 :
377 :2009/02/04(水) 22:12:25
=SUBSTITUTE(TEXT(MOD(A1,1),"G/標準"),"0.","")
なんてのも考えましたが負の数が駄目ですね。
負の数対応でもっと簡単な方法ないでしょうか?
>>377 の式は一応対応してるようですが。
>>386 この程度は難しいうちには入らんよ。俺がヘタレなだけ。
このスレの回答者なら一発で出してくるだろうし、もっと簡単な方法も考えてくれるんじゃないかと思う。
390 :
377 :2009/02/04(水) 22:19:14
>>389 いえ、ありがとうございました。
>>14 さんじゃなくてもいいので、負の数対応でもっと簡単な方法をご存じの方はお願いいたします。
みなさんすごく簡単そうに書かれてたのでなんかあると思いますので。
ABS
392 :
377 :2009/02/04(水) 22:52:08
>>391 なるほど!
下5桁までで下6桁より後ろは切り捨てなら
=MID(TEXT(MOD(ABS(A1),1),"G/標準"),3,5)
ですか。
でも誰でもできるほど簡単ってほどじゃないですね。
393 :
372 :2009/02/04(水) 23:02:51
>>373 >>375 ピボットテーブルは仕事でまったく使っていなかったので、
思いつきませんでした。
すごく便利ですね!
ありがとうございました。
394 :
名無しさん@そうだ選挙にいこう :2009/02/04(水) 23:20:53
【1 OSの種類 .】 Windows XP SP2 Home 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 最後の数値、最終 A B C 1 2 2 3 6 3 4 4 8 4 7 9 3 5 6 2 5 6 2 2 7 9 9 8 2 9 1 数値は2行目から最大で92行目までに入力しますが、 各列によって、何行目まで入るかは決まってません。 (A列は、54行目まで、B列は35行目までみたいな感じです。) 各列に入力してる数値の最後の7行の数値の合計を各列の1行目に出したいのですが、 関数でいい技ありましたら教えてください。
395 :
394 :2009/02/04(水) 23:23:11
表がうまく作れなくてすいませんTT
>>394 これはA列の最後の7行を足す式
=SUM(INDIRECT("A"&COUNTA(A2:A92)-8&":A"&COUNTA(A2:A92)-1))
↑ ↑
列を変える時は、この2ヶ所をBとかCに書き換えて
397 :
394 :2009/02/04(水) 23:31:30
追加説明。 A1の式をB1、C1にコピーしたあと、数式の中の列の部分を書き換えて。
名前とレス番間違えた…
自演も楽じゃないなw
考えすぎの病人がいるみたいだなw
402 :
394 :2009/02/04(水) 23:42:15
疲れてるみたいだ 反省してしばらく休むわ
403 :
394 :2009/02/04(水) 23:44:03
こらこら、騙りはいかんよ騙りは
404 :
394 :2009/02/04(水) 23:45:11
どうもすみません 反省してます
何やってるの? 病院へ逝け
406 :
394 :2009/02/04(水) 23:48:40
明日朝一でいってきます もうなにがなんだか
質問する時には鳥つけたほうがいい時代なんかね
>>396 の式が間違ってたので訂正
=SUM(INDIRECT("A"&COUNTA(A2:A92)-5&":A"&COUNTA(A2:A92)+1))
409 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 00:08:13
もう騙りはやめような。
>>394 =SUM(INDEX(A2:A92,MAX(COUNT(A2:A92)-6,0)):A92)
410 :
394 :2009/02/05(木) 00:25:57
411 :
178 :2009/02/05(木) 00:53:04
>>287 ありがとうございます。
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "d:\画像フォルダ\" ' フォルダ指定
If .Show = -1 Then ' 画像が選択されたら挿入の処理に進む
For Each p In .SelectedItems ' 画像の枚数分だけ繰り返し
ActiveSheet.Pictures.Insert (p) ' 1枚ずつ画像を挿入
Next
End If
End With
これで、画像が挿入されるんですが、仮置きでセルA10に挿入したい時はどうしたらいいんでしょうか。
別件で、エクセルに貼り付けてあるマクロボタンのShapesの番号を変える事はできますか?
>>411 マクロの一番最初(withの前の行)に
Range("A10").Select
を追加
Shapesの番号を変えるってのは画像を差し替えるってこと?
413 :
178 :2009/02/05(木) 01:55:43
>>412 あ、そうでした失礼しました。
マクロボタンを増やした時とかに、コードの管理をしやすくしたいと
思いまして。
414 :
298 :2009/02/05(木) 02:13:56
解決しました!ありがとうございます。 そのうち上の人に、accessに移行できないか聞いてみます。
415 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 02:41:38
A B 1 50 60 2 23 55 3 66 23 4 10 11 Bの列の数がAの列より大きい個数を数える関数を教えてください。 countifを使うんだと思うんですけどよくわからないです。 このようなときは3です。 よろしくお願いします。
>>415 COUNTIFを使う場合はC列に=B1>A1という式を入れてオートフィルしてから=COUNTIF(C1:C4,TRUE)
作業列を使わない場合は=SUMPRODUCT((A1:A4<B1:B4)*1)など
417 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 03:24:40
>>416 助かりました!
ありがとうございました!
>>377 小数点6桁は四捨五入して小数点5桁表示じゃなくていいの?
表示形式0.00000で値が3.456789なら下6桁は四捨五入されて3.45679と表示されるよな?
ここに出てる答えは下6桁を四捨五入してるの一つもないね。
>>7 の希望はどうだか知らんけど、
>>14 を勧めた数式厨はこれを満たすように解いてみてね。
俺の昼休みまでには解いといてくれ。
>>418 そんな煽ったってここはレベル低いんだからそんなに早くは解けねーよ。
俺も考えてるが難しくてとけねーw
>>418 >>14 支持派の俺が今作ってみたが
B1=INT(A1)
C1=IF(A1<>B1,".","")
D1=IF(C1=".",REPLACE(A1-B1,1,2,""),"")
で表示形式は標準のまま。Bは右よせ、CDは左寄せ
a1=1.23456789012345
で普通に表示できたぞ
421 :
420 :2009/02/05(木) 09:38:04
あー今小数誤差の話しになってんのかw失礼した .をFINDで見つけて文字列として扱うのが一番確実じゃねーの? 書式やroundで下何桁以下切捨て、とか不完全すぎる
422 :
420 :2009/02/05(木) 09:45:32
できたぞカスどもー(^p^) でもVBA厨の出したチェンジコードが一番楽といえば楽だな B1=IF(A1<0,"-","")&INT(ABS(A1)) C1=IF(A1<>B1,".","") D1=IF(ISERROR(FIND(".",A1)),"",REPLACE(A1,1,FIND(".",A1),""))
423 :
420 :2009/02/05(木) 09:52:23
チェンジコードって何だ・・Changeイベントだ
424 :
420 :2009/02/05(木) 09:56:49
B1=IF(A1*1<>B1*1,".","") に訂正 多分これで完璧だろう
>>420-421 レス産休
Excelじゃ小数点下5桁まで表示じゃ、下6桁は四捨五入されるじゃん。
123.456789は123.45679ってな具合に。
下6桁以下は切り捨てじゃなく、上のように四捨五入する仕様で解いてみようって話なんだよ。
出来る?
他の
>>14 支持者も解いてね。
427 :
420 :2009/02/05(木) 10:38:25
>>426 B1=IF(A1*1<>B1*1,".","")
C1=IF(A1<>B1,".","")
D1=IF(ISERROR(FIND(".",A1)),"",REPLACE(ROUND(A1,5),1,FIND(".",A1),""))
でできるけど・・
>>427 おう!出来たいたいね。
=IF(B1="","",REPLACE(ROUND(A1,5),1,FIND(".",A1),""))の方が短いけどね。
もっと短くできる人いる?
429 :
428 :2009/02/05(木) 10:46:49
=IF(C1="","",REPLACE(ROUND(A1,5),1,FIND(".",A1),""))だった。
430 :
728 :2009/02/05(木) 10:58:46
まとめると B1 =IF(A1<>"",TRUNC(A1),"") C1 =IF(A1<>B1,".","") D1 =IF(C1="","",REPLACE(ROUND(A1,5),1,FIND(".",A1),"")) こんなところだろうが、D1のもっと短い式キボンヌ。
RIGHT(TEXT(A1-B1,".?????"),5)
433 :
420 :2009/02/05(木) 11:01:18
いやもういいだろ・・後は雑談スレでもいって来い
>>432 なるほどうまいね。
俺が大村クンのスレに仕込んだ答えよりうまい。
しかしこんなこと考えてる暇あったらVBA厨提案のChangeイベントで書いた方が早いな。
入力セルをいじくった方がユーザー受けするからね。
そもそも
>>7 みたいな表示をする事になんの意味があるんだ派は俺だけ?
436 :
434 :2009/02/05(木) 11:23:33
>>432 を褒めたところだが、A1が空白だとうまくいかないみたいね。
=IF(C1="","",RIGHT(TEXT(A1-B1,".?????"),5))
こんなところかな?
おれの式の方が短いか。
>>435 おれもそう思うけど、クイズみたいなもんと思ってる。
>>7 出てきたらどうだい?
437 :
434 :2009/02/05(木) 11:31:20
>>432 は
=RIGHT(TEXT(MOD(ABS(A1),1),".?????"),5)
こうすりゃ短くなるのか。
もこれより短い式はないかな?
>>7 は桁を揃えて、目で合計の暗算するんだよきっと。
エクセル2000 VBA勉強中 If文で分岐の条件にRang("A3";"D3")=他のファイルRang("B3") ってやったのですが 上手く分岐してくれません セルの中に入るのが文字だと駄目なのでしょうか? 解る方教えてくださいお願いします。
>>439 同じフォルダにあるexcel.xlsのaaaシートだと
Range("A1").Value = Range("[excel.xls]aaa!a1").Value
この前後にifとthen
excel2000のマクロで、「検索」つまり Ctrl+F をマクロに登録しようとすると, 検索メニューがアクティブ、つまり後ろにあるツールバーは 選択できない状態になり、マクロの停止ボタンを押せないので、 検索をマクロに登録できず困っています。 色々試してはみました。 どなたか検索をマクロに登録する方法を教えてください。 お願いします。
>>441 検索文字列を入れて「次を検索」→「閉じる」ボタンを押してからマクロの記録を止める
>>442 有難うございます。
しかしその検索文字をその時々で変えたいので、
Ctrl+F→検索画面
のとこまでにしておきたいのです。
>>443 記録されたマクロを見るとわかると思うけど、検索文字列はプログラムの中で文字列変数にできますよ。
こうですか Sub F() Application.Dialogs(xlDialogFormulaFind).Show Cells.Find "" 'おまじないなのでこの行を消してはいけない End Sub
「検索と置換」のダイアログを出すだけならこういう方法もある SendKeys "%EF"
有効数字を指定すればこうなるわな
449 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 15:47:06
Excel2003でマクロ組んで1月くらい使っていたら ファイル名が16進数で拡張子無しの謎のファイルが生成されたんですが 何なんですか? 消しても大丈夫でしょうか?
>>449 そのファイルが作られたフォルダによると思うけど、たぶんExcelやマクロは無関係。
451 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 15:56:01
>>450 有難うございます。
Excelファイルしか置いていないフォルダに出来たので
関係があると思ったのですが、安心いたしました。
>>449 はtempファイルかと思ったんだが
ノートパッド開いて、ドラッグアンドドロップしてみては?
ずーっと見ていくと、何のプログラムに関係してるものか分かるときがある
excelやword使ってる時にフリーズすると自動バックアップのファイルがそんな感じで残ったことあったな 昔のバージョンだけかもしれないけど
454 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 16:02:38
>>452 エディタで開いたら文字化けしていました。
容量が1MBくらいあります。
455 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 16:38:45
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否(VBAでしか無理の場合可) 【5 検索キーワード 】 2つの別ファイルがありまして 「ファイル1」、A列7行目より下の文字列の中に 「ファイル2」、F列3行目より下と同じ文字列が存在する時、 「ファイル1」、文字列の横のB-E列数字を 「ファイル2」の同じ文字列の横のG-J列に 表示するにはどのようにすれば良いでしょうか? ※「ファイル2」で存在する文字列は「ファイル1」に必ずありますが 逆は無い文字列があります。 ファイル1 A列 B列 C列 D列 E列 a1b 2 1 0 0 c2d 0 0 0 0 e3c 0 3 2 1 aa3 1 1 5 1 3cc 1 1 1 1 ファイル2(「」内の数字を自動で入れたい) F列 G列 H列 I列 J列 a1b 「2」 「1」 「0」 「0」 e3c 「0」 「3」 「2」 「1」 3cc 「1」 「1」 「1」 「1」 宜しくお願いします。
>>455 よくわからないんだけどVlookup関数でできないの?
>>455 両方のファイルを開いた状態で、ファイル2のG3に
=VLOOKUP($F3,[ファイル1.xls]Sheet1!$A$7:$E$11,COLUMN()-5)
という式を入れたら、他のセルにもコピペ。
$A$7:$E$11ってのはデータの入ってる範囲だから、もっとたくさんある時は11の方を増やして。
あとシート名も仮にSheet1としておいたけど、適切に変更するべし。
458 :
441 :2009/02/05(木) 16:57:50
441でCtrl+F をマクロに登録したいが出来ない、
といったものです。
>>444 有難うございます。しかし
すいません。内容が高度すぎて分からないです。
初めてマクロを触るので、コード分かりませんでした。
>
>>445 有難うございます。
わざわざコードを書いて頂き有難うございます。
しかし、エラーが幾つも出て、出来ませんでした。
>>446 有難うございます。やってみたのですが、
一番左のファイルメニューが出るだけで、
いろいろいじっても駄目でした。
あれから皆さん本当に親切に教えてくださり、
有難うございました。
しかしトライしてるのですが、苦戦してますです。orz
459 :
441 :2009/02/05(木) 17:04:08
そこで、サンプルを一つ頂けたら本当に助かります。
excelで、データは何も無しで勿論結構ですので、
マクロで置換を登録したファイル一つあれば、
後は出来ると思います。そこで考えたのですが、
gooのフリーメールの送信BOXの添付ファイルに、
サンプルを登録頂けたら、と思います。
こうすれば、教える方も教わる方も、
労力を大幅にダウン出来ると思います。
そこで、早速IDとパスを登録しました。
メールを送信いただく必要はありません。
http://mail.goo.ne.jp/goomail/index.ghtml 2chexcel
222222
でログイン頂き、送信BOXにexcelのサンプルファイルを、
載せていただけたらと思います。
本当にすいませんが、途方にくれてます。
宜しくお願い致します。
>>458 根本的にマクロの作り方がわかってないと見た。
(1) Excelを起動する
(2) Alt+F11でVBE(マクロの作成をする画面のこと)を起動する
(3) メニューから挿入→標準モジュールを選ぶ。そうすると、マクロを入力するためのウィンドウが開く
(4) マクロを入れる
この時、キーボードから1文字ずつ入れるんじゃなくて、ここに書かれた物をそのままコピペする。
そうすれば入力ミスが防げる。
(5) F5を押すとマクロが動き出す
(6) たいていの物は一瞬で完了して、またVBEの画面に戻ってしまうので、タスクバーからExcelをクリック。
場合によっては2回クリックしてExcelの画面で結果を確認する。
>>459 サンプルも何も、
>>445 あたりは簡潔したちゃんとしたマクロだから丸ごとコピペするだけ。これで全部だよ。
>>446 の場合は
Sub F2()
SendKeys "%EF"
End Sub
application.onkey方面の話じゃねーの?
>>459 の言いたい事はわかるが、それをやると不正ログインだかで犯罪行為になってしまう
アップロードぐらいできるよ
それにしなくてもマクロのコードは上にかいてあるものと同じです
小数点は桁数固定ならセル分ける必要ぜんぜんないんじゃね? 等幅フォントで右詰で=TEXT(数値,"?.???")で済むんじゃ? 小数点邪魔なら=SUBSTITUTE(TEXT(数値,"?.???"),". "," ")で消すだけだろうし
等幅フォントじゃない前提なのよ
>>464 質問主はプロポーショナルフォントをご所望です
>>462 たぶん、もっと低レベルな話。
アセンブラとかそういう方向の低レベルじゃなくて、質問者が初心者すぎて何もわかってない。
468 :
441 :2009/02/05(木) 17:35:45
441です。 皆様、本当に有難うございましたああぁ! 頂いた様々なアドバイスの上に、 460様の手順に従ったら、 全てがあっけなく出来ました。 461様も本当に有難うございます! 出来ました!しっかもあっけなく。 465様のいうとおりの人間です。 感謝!!!!!!!
>>464 等幅フォントでも揃うかい?
なんか整数のとき揃わないようだけど俺んとこだけか?
いずれにしても数式じゃ元のセルじゃないからなぁ。
なんか整数じゃ1文字ずれてるんじゃないの?
>>464 は最後のスペースの数が1個足りないみたいね。
プロポーショナルなのか。そりゃ全桁別のセルじゃないと無理だw 等幅で揃わないってのはミラクルだからわからん どうやって揃わないようにできるかの方を知りたいくらいだ
スペース消えてるのかw ドットスペースをスペーススペースに置き換えてるだけだよそれ
ワードとエクセルで同じ画像を印刷したのですがエクセルが若干小さくなってしまいます エクセルもワードと同じサイズで印刷するにはどうしたらいいでしょうか?
>>474 昔からExcelは印刷のサイズがおかしくなることで有名。
同じにするには、印刷された物を定規で測って、電卓で何倍にすればいいか計算して、
画像のプロパティで縦横の倍率をそれぞれ設定しなおすしかない。
476 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 20:14:43
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excelで描いたオートシェイプの円が150個ほどあり、それを一括で×印に変更したいと考えています。 一個一個変更していては今度は三角にしたいとなったときに手間が大変なので、以下のような方法を考えました。 オートシェイプの書式設定>塗りつぶし効果>図>×印の画像を選択>線無し これで×印になったとおもったのですが、よく見ると図形の背景が白く塗りつぶされていました。 もちろん使用した画像は背景透過処理してあります。 この塗りつぶし効果で挿入した画像について背景を透過する方法はありますでしょうか? また全く別のやり方でオートシェイプの形状を一括変換する方法がありましたら教えていただきたくお願いします。
>>476 Ctrl押しながらホイールを回すと画面が縮小されるから、ワークシート全体が表示された状態で
オブジェクトの選択をクリック、オートシェイプ150個をドラッグでいっぺんに囲む。
そうするとオートシェイプがすべて選択された状態になるから、そこでプロパティを変更すれば、
すべてのオートシェイプが一度に変化する。
通常の操作で○を×にする方法は知らん。俺ならVBA使う。
478 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 20:34:44
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 棒グラフや散布図グラフで軸ラベルの大きさを変えるにはどうしたら良いですか? ラベルの隅と辺の真ん中には大きさを変えるためのものみたいなのはついているのですが どうやっても変えることが出来ません。 よろしくお願い致します。
>>478 軸ラベルを右クリック→書式設定→フォント
480 :
476 :2009/02/05(木) 20:47:48
>477様 即レスどうもです。 すいません、プロパティというのはオートシェイプの書式設定の中にあるプロパティのことでしょうか? この中にはオブジェクトの位置関係という項目しかなく、○を×に変えるような項目がみつけられませんでした。 オートシェイプの形状を変更するプロパティというのはどこか別にあるのでしょうか?
>>480 説明の仕方が悪かった。
上のはオートシェイプを一括変換するための手順を書いただけで、(最初の質問の最後の一行)
○を×にする方法ではない。
482 :
名無しさん@そうだ選挙にいこう :2009/02/05(木) 21:25:31
>>479 フォントでサイズを小さくせずにしたいのですが、どうすれば良いのでしょうか?
>>472 プロポーショナルフォントでも全桁別のセルの必要はないんだよ。
数字の幅はプロポーショナルフォントでも全部同じだからね。
だから1セルなら表示形式を2種類使えば出来るわけだ。
下5桁なら整数は0_._0_0_0_0_0で整数じゃなきゃ0.?????ね。
整数の表示形式は数字は全部同じ幅だから0_._9_8_7_6_5でもいいがね
2007では条件付き書式でも表示形式が使えるから2種類使えるが、2003までならVBAでやるか
こつこつと手で表示形式を設定するか、フィルタオプションで整数のセルだけを選択して表示形式を
設定するくらいだろう。
まぁ普通はVBAだろうが、そのVBAもどうしても自動でやりたきゃChangeイベントにすりゃいいだけ。
>>475 そーだったんですか、、、かっこつけてExcelでハガキ作ったんですけどWordに直しておきます;
ピボットでは無理なんですか? ピボット厨ざまぁwwwwwwwwwwwwww
>>485 なにこのコンプレックスまるだし。
ピボットはクロス集計に使うもんだよ。
>>482 質問の意味がわからん
ラベルの大きさを変えて字の大きさを変えないって、じゃあ何がやりたいのさ
ピボットさん「ではまず屏風の中から正規化されたデータを出して下さい」
>>487 ラベルの大きさを変えて字の大きさを変えない
んだろう
最終的に何がやりたいか効くのならまだいいが、本当に何がやりたいのか分からないの?
>>489 横スレだけど
最終的に何がやりたいのかわからないんだろう
わかるだろ
ラベルの背景に色を付けて、文字の上下左右の余白を大きくしたいんじゃない? それ無理だからテキストボックスかオートシェイプあたりを貼り付けるしかない。
質問者も
>>489 も落ち着いて正確な日本語を書くようにして下さい。
>>488 あまり上手なとんちじゃないな。
虎を出すのは不可能だが正規化は可能だからね。
君は今まで知らなかった正規化という概念に触れることができてよかったんだよ。
まだ知らないバカどもより君はラッキーなんだ。
世の中はたくさんの数字で溢れてるけど、正規化して幸せになれるのって、ごく限られたケースだけなんだよね。実は。 世界ってのは思ったより複雑で、同じことの繰り返しに見えて、実は例外がたくさんあることのが多い。 事務仕事を10年やってみればわかる。
具体例なんて出すと、ピボ厨がこじつけでもケチ付けようとして荒れるから出さない方がいい
つか、あんたらいつ寝てるんだ?
>>496 なかなか鋭いな。
第一正規化したデータを使っても処理できないような例外が多い事務仕事なんてなかなか思いつかないんだろ。
例外だろうがなんだろうが全てデータとして与えてやればいいんだから。
事務処理なんてたいていがクロス集計なんだよ。
>>497 納期が迫ってなけりゃ、寝たいときに寝てるけど
サポートは基本的にメールだし
>>496 ピボットテーブル向きではない処理の例を教えてあげよう。
それはクロス集計の構造をもたない問題だ。
・プログラミング言語の構文解析
・オセロのようなゲームの思考ルーチン
・連立方程式のソルバー
・線形計画法のソルバー
ちなみに私はピボ厨ですが、上記の4つとも実装したことあります。
事務仕事の集計でVBA使うやつは無能だと思っている。
で、有能な奴は同等の結果を出せるVBAコーディングより長い時間掛けて データの正規化とピボットテーブルの構成を行うと
503 :
476 :2009/02/06(金) 07:56:46
すいません、しつこいといわれそうですが・・・。
>>476 もお願い致します。 m_ _m
>>506 これぞVBA向けの質問だね。
VBAなんてオートシェイプをごりごり描いて遊ぶのにはちょうどいいよ。
データの正規化なんてするのが当然だろ ボロボロのデータを集計するのにVBA組むなんてタコのすること
>>502 とうとう認めたか。
正規化してピボットテーブル使うほうが有能だということを。
>>503 オートシェイプの一括変換は複数のシェイプを選択した状態でプロパティをいじるか
「図形の調整」→「オートシェイプの変更」を使うんだけど、既成のパターンに×印がないので
簡単に変換する方法は思い付かない。
1個だけなら基本図形の十字を選んで、幅を狭くして45度回転させれば×になるんだけど。
VBAが使えなければ手作業で1つずつやるしかないんじゃない?
ピボ厨哀れ
オートシェイプを複数選択した状態だと、なぜか黄色い調整ハンドルが出てこないんだよね。 で、Ctrl押しながらクリックして順番に選択を解除していくと、最後の1個になった瞬間にハンドルが出てくる。
本当に哀れなのはVBA厨だよ。 彼らは覚えたての手続き言語で集計プログラムばかり組んでいる。 正規化の概念もピボットテーブルの使い方もいまいち理解できていない。もちろんSQLもわからない。 一方ピボ厨は手続きプログラミングをやり尽くして限界を理解して卒業した連中。 レベルが違い過ぎる。
最近いないけど、ちょっと前のスレじゃVBAで連番ふる回答者とかけっこういたぞ。 VBA厨痛すぎ。
>>494 思春期のポエムだな。
大人はわかってくれない的な。
なんか暴走しだしたね こういう子達はどうしようもない
ほい。 オートシェイプを「2個以上」選択して実行すると、元の図形とほぼ同じ幅の×印にしてくれる。 かなり手抜きなので、実行する前にブックを保存しといてから試せ。 Sub 丸を罰に一括変換するマクロ() For Each S In Selection S.Select With Selection.ShapeRange .AutoShapeType = msoShapeCross .Adjustments.Item(1) = 1 .Height = .Width .Rotation = 45# End With Next End Sub
ピボット厨って、なんでこうも必死で粘着質で理屈っぽくて役に立たないんだろう? ここでVBAが不適切だのなんだの言っても、結局結果を出して感謝されるのはいつもVBA厨 実務でもピボット最適論やら正規化の重要性やらを必死に説いても、いつも採用され評価されるのはVBA厨 なんだかんだともっともらしい理屈を捏ねても、結局自ら吐いた理屈の中でしか生きられず 社会から認められない哀れなピボット厨
過程より結果 美しさより早さ 質より量 花より男子
>>515 あ〜あ、言っちゃったよ
そんな事みんながわかってる事だから反応したら負け
ピボ厨はスルーが吉
ピボット厨でもいくらなんでもVBAはできるんだろな? VBA出来なきゃカタワだもんな。 両方使えてこそのピボットテーブルだからな。
しかしコンプレックスのように頑なにVBAを否定する態度を見ると・・・ まぁ苦し紛れに口先だけで「ピボット厨だが当然VBAも使えるぜ」と書くことは出来るけどね
たしかにな。 両方使える奴は、あそこまで必死かつ偏屈にはならんだろう。
521 :
476 :2009/02/06(金) 11:32:49
>>514 様
おぉぉぉお
ありがとうございます。
できそうです!!
非常に助かりました 多謝
また話が変な方向になってる VBAがだめなんじゃなくて、ピボットでできることをなぜわざわざVBAでやるのか ってことだよ おれがVBA書くのはピボットで使えるようにするデータの整形くらいだな
ピボットテーブルなんて知らなくても配列数式知ってりゃなんでも出来るんだよ。。
なんであれ実務では早ければok 極端な話2.3個の集計なら紙に書いて電卓打てば終わり それよりピボットが早ければピボット使えばいいし、VBAが早いならVBA 関数でも、配列でも あらゆる場面で一番いい手段なんてものは無い そろそろこの不毛な話やめようぜ・・
>>524 その理論、ピボット厨には通用しません
彼らは結果論ではなく方法論で適した物でないと気が済まないのです
もっと言えば自分が認めた方法でないと気が済まないのです
実務では使えない奴等です、はい
ピボットが職場で普及するとVBAでかろうじて保っていた技術的優位が なくなってしまうから焦ってるんだよ かわいそうなひとだ
残念、ハズレ。 逆はあってもそれは無いから。 適、不適は別として、VBAでは出来るがピボットでは出来ないってことは多々というか腐るほどあるが ピボットでは出来るがVBAでは出来ないってことはひとつも無いから。 もちろん、VBAの方が遙かに非効率的なものがあるのは認めるけどね。
>>525 ・・・ゴクリ
>>526 ちとスレ違いだが、ピボットってアクセスがあると使わないんだよ
アクセスあれば俺だってつかわないよw クエリーからクエリーつくれるのは便利すぎる しかし職場で全員もってるのはwordとexcelだから配布するファイルはこれを つかわざるをえん
OOo入れちゃいなよ
俺もピボット程度で技術的優位に立てるような職場で楽してみたいっす。
財団法人おすすめですよー^^
533 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 13:40:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 MATCH LOOKUP 空白を含む列の 最終は、=LOOKUP(10^16,A1:A9) やMATCHでみつかるのですが、 初出を見つけるにはどうすればよいのでしょうか? A 1 2 3 3 8 ・ 8 2 9 で、初出3 最終2を見つけたい。
534 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 13:50:30
ピボット? そもそもエクセル自体良く解ってないけど VBAの勉強してるんだが… ピボットとかエクセルの基本的な使い方覚えてから勉強した方が良いですかね?
必要なほうを勉強したらいいかと で、必要ないのに勉強だけっていうとなかなか身につかないんですよね
>>533 数値なら配列数式にするしかないだろ?
{=INDEX(A1:A19,MIN(IF(ISNUMBER(A1:A19),ROW(A1:A19))))}
文字列ならVLOOKUPとかで出来るけど。
さすがにこれはVBA使いたい
ピボットは使っておいたほうがいい つーかデータから何か意味ある情報読み取りたいならExcelで一番便利な機能 分析する気無くて定型的なデータ貯めときゃいいならスルーしてok accessでも使ってろクズという機能 vbaは手作業だとトリップするほどつまんねー作業やめんどくせー作業を自動化したいなら勉強すればいい
539 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 14:06:37
>>535 そうですよね、必要な時に勉強すれば良いですよね
>>534 いいんでないの?
VBAは
>>2 にも有るとおりVB6という一般の開発環境に近いことが出来るので
そういうのを求めてるなら関数や数式覚える前にVBAってのもアリだよ。
但し、ピボットテーブル程度も組めないようじゃ、集計などの良いコードは書けないけどね。
正規化を初めにピボットで必要となる技術理論は、プログラムでデータを処理する時こそ
真価を発揮するものだから、そっちの用途で使うなら通過点としてピボットも勉強しておいた方がいいと思う。
ひとりで作業するんじゃない場合はVBAも覚えておいた方がいいかな 誰かから貰ったデータを自分の得意パターンに配置しなおすのに便利 正規化気にして表作ってる職場なんてねーからな 一人っきりの窓際職場なら話は別だけど
542 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 14:09:43
普通にExcel使う気なら、ピボット捨てるのはありえないわな
正規化マクロを作っておけばOK
ああ、あと金ないから違法コピー万歳なOffice2000職場なら ピボット使わなくても無理ない 2000以前はピボットがクソ過ぎて使えないからスルーしたほうがマシ そのおかげでジジイ世代はピボットにアレルギーあるから適当にあしらっとけ
545 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 14:13:16
【1 OSの種類 .】 Windows XP SP2 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 足し算 法則のあるセルの数値を足し算したいのですが、 A1 A4 A7 A10 ・・・ と行で2個飛ばしずつの足し算をしたいのですが 可能でしょうか? 今は =A1+A4+A7+A10・・・・ となっていますが 行が増えるとやり直しになってしまって困っています。 宜しくお願い致します。
VBを使ってるならVBA覚えたほうがいい
応用が効く、というよりほぼ同じだからな
>>541 先方からきた請求書とかを整理するときとかね
メールで送ってくれる企業限定だけど、かなり便利な上、間違うことも少ない
>>545 b1=(MOD(ROW(),3)=1)*A1
下にオートフィル
C1=SUM(B:B)
>>545 B1に=A1
B4に=B1+A4
B2〜B4をコピー
B5〜B……(最後の行まで)に貼り付け
配列数式は時間が有り余ってる暇な奴がパズル感覚でやってりゃいい 盆栽眺めてニヤニヤしてる奴を蹴り飛ばす事もねーだろ 時間無い場合は蹴り飛ばせばいいけど、大抵暇な奴しか興味もたねーし
どうぞどうぞ
配列数式だと作業列を使わなくてもできそうに思える。
>>550 パズルのように感じるのは身についてないからだよ。
VBAだってワークシート関数だって、初心者から見ればパズルみたいなもんだ。
どれも決まったルールを手順通りに積み重ねて組み立てる物だから。
> パズルのように感じるのは身についてないからだよ。 その通りだな
馬鹿は作業列を使わないことが仕事ができる事だと思うから仕方ない
「ワーク」シートなんだからワークに好きに使えばいいだけ
>>553 そうかもな。必要感じなくて身に付ける気にもなってないからな
じゃあ作業列を使わない方法を一つ =SUMPRODUCT((MOD(ROW(A1:A10),3)=1)*(A1:A10)) 次は配列数式の番ですよ。たしかSUMPRODUCTより配列数式の方が計算が速いんでしたよね。 どうぞ↓
あとは配列数式クソ重くて仕事になんねー氏ねこのブック作った奴って経験あるからだな 出会いが悪かったな 意識変わるほどの便利な使い方にお目にかかったこともねーし
身についているつもりだけどパズルに感じる俺に謝れ。 数式考える時は頭の中で3次元のパズルを解いている感じだ。 だがそれがいい。
配列数式は、慣れてないとうっかりシートを壊しちゃうんだよな。 修正したあと、つい普通にEnterだけ押しちゃったりして。
560 :
545 :2009/02/06(金) 14:42:01
流れぶった切ってしまいますが、
可能であれば
>>548 >>549 のやり方では無く
A列の1番下に=SUMのような感じでできればお願いしたいです。
B列C列〜AX列位まで使用済みでその各列に
合計を出したい列が何列かあります。
追加の質問で恐縮です・・・
作業列がいくつも必要になるような作業ならVBA使うわ 手間と作業時間の問題
>>560 データが追加されるような表なら、合計は一番上か別のシートに出した方がいいぞ
普通はVBA選んでも配列数式選ばんだろ ありゃ趣味の機能だ 強いて言えばほっておくとアレコレうるせーめんどくせー奴にどうでもいいパズル仕事押し付けてわーすごいっすねーって動き封じるためにある機能だわな
配列数式やSUMPRODUCTのクソ重い式は自分だけ使うのは自由だ。 だがピボットですむものを配列数式やSUMPRODUCT使った回答するのだけはやめれ。 日本人を馬鹿だらけにするのが目的かも知らんけどな。
566 :
545 :2009/02/06(金) 14:50:48
>>556 >>562 すいません書き込みしている間に回答書いて頂いていたようで
ありがとうございました。解決しました。
他の書き込み見ていると重くなるようですが、他の部分は
数値と文字列だけの提出資料なので取り合えず大丈夫そうです。
>>563 人口分布の表なので別のシートと一番上には、ちょっと難しいです。
ありがとうございました。
配列数式は1個の式なら別にかまわないんだよ。 フィルコピーして同じ計算を何度もやるのがいかんっちゅうだけ。
行挿入したりするとずれるし
>>565 盲目的にピボットに固着した大馬鹿だらけになるよりはマシかも。
ここ読んで配列数式覚えるの断念 MSも何行おきとかいう関数作れよな
>>569 いや某所の配列数式の大先生みたいになったらおしまいだよ。
ありゃ病気だw
作業列を作った上で非表示にするという手もあるのをお忘れなく もうちょっと表示/非表示の切り替え方法がスマートならいいのに…… 単に幅を0にしてるだけだから、何かの拍子に作業列が広がっちゃうのが…
みんな、SUMPRODUCTも配列数式であるという事に気付いてくれ。
>>573 そんなのは常識。正確には配列関数だけどな。
配列数式にINDEXかまして配列数式じゃないように見せるやつはヴァカ。
二行に一行を合計、これだけ出来るようになっておくといい
たまーーーーに使う場面に遭遇する
まー
>>548 みたいにすればいいんだけどもね
A1に入ってるシリアル値を見て火、水、金ならTRUEになる式を教えて
正直いって 勝手知ったるVBAでのやり方が直ぐ思いついてしまい ピボット勉強するより早いのです その結果すぐvbaに手を出してしまいます すいません ピボット勉強します
>>571 確かに前スレ6○1とかみたいになるのも痛いしなw
>>576 =((MOD(A1,7)=3)+(MOD(A1,7)=4)+(MOD(A1,7)=6))>0
か
=OR(MOD(A1,7)=3,MOD(A1,7)=4,MOD(A1,7)=6)
うーん、なんか冗長だな
MOD(A1,7)=3か4か7
みたいにまとめられないもんかねぇ
>>581 なんだとこの野郎!
俺様に教えるとは10年早いんだよ。
.
>>583 大先生ほどじゃない。
大先生みたいに同じ計算してないしな。
=AND(MOD(A1,7)>2,MOD(A1,7)<>5)
=CHOOSE(MOD(A1,7)+1,,,,TRUE,TRUE,,TRUE)
前スレ656は大先生かもな。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 入力規則 リスト 都道府県 姓、名、都道府県、区市町村、他番地、の様な下記の様な一覧名簿を作りたいのですが、 姓 名 都〜県 市町村 他 番地 --------------------------------------------- 北島 四郎 大阪府 大阪市 ▽▽ 1234番地 金沢 庄司 兵庫県 神戸市 ◇◇ 567番地 和田 サン 大阪府 池田市 ×× .890番地 入力規則のリストを使用して都道府県に大阪府を指定したら、 区市町村には大阪府に含まれる市のみを表示したいと考えています。 都道府県等のマスターデータは
590 :
589 :2009/02/06(金) 16:27:11
A B C 1 大阪府 池田市 ○○ 2 大阪府 池田市 ×× 3 大阪府 大阪市 △△ 4 大阪府 大阪市 ▽▽ 5 兵庫県 神戸市 ◇◇ 6 兵庫県 神戸市 □□ の様に1レコード毎に独立したものを使用したいのですが、ググってみると A B C D E F 1 大阪府 兵庫県 京都府 滋賀県 奈良県 和歌山県 --------------------------------------------- 2 大阪市 神戸市 京都市 大津市 奈良県 和歌山市 3 池田市 西宮市 宇治市 彦根市 生駒市 田辺市 4 吹田市 芦屋市 舞鶴市 草津市 の様に、縦横でデータを照合させる形でしか見つかりませんでした。 前者のようなデータ形式で入力規則のリストを使用して絞り込みを行う方法をご存じでしたら教えてください。 よろしくお願いします。 ※データは列ABCでソートされており、行3と行5が入れ替わって格納されているというとはありません。 ※必要であれば列を1つ追加してユニークキーを生成してもかまいません。
591 :
533 :2009/02/06(金) 16:32:16
配列数式の大先生って誰よ?
>>590 その縦横ってのは単に重複データを省くため(+名前定義しやすさ)に縦横使ってるだけ
実際は、それぞれ名前の定義に重複データがなければその表すら要らない
>545みたいなので作業烈使う場合に複雑な式は要らない。 B1に =A1 B1:B3を選択してオートフィル、でSUM >576 はひねくり回さず素直にやれば十分短い。 みんなMODでやってると、1904年から…の時にずれるぞ =OR(WEEKDAY(A1)={3,4,6})
>>594 配列ってそんな風に使えるのか・・初めて知ったぜ
>>589 シート1、シート2を用意する
シート1は入力用、シート2は590の下のリストね
A列全体の名前を大阪府と定義する
やり方はシート2のA列全てを選択して、左上のA1とあるところに 大阪府 と入力
シート1の
北島 四郎 大阪府 大阪市
この大阪市のセルがC1なら、データ、入力規則、
入力値の種類を リスト にして元の値に「=INDIRECT(B1)」と入力
あとは下にオートフィル
ちなみにalt+↓キーでリストを表示できるよ
おまえら昼間っから仕事もせずに2ちゃんねるかよ すこしはまじめに働いたらどうだ
>597 怒らないでマジレスしてほしいんだけど なんでこんな時間に書き込みできるわけ? 普通の人なら学校や会社があるはずなんだけど このこと知った親は悲しむぞ? 現実見ようぜ
>>597 帰宅してからカキコしたんだけどなにか問題でも?
600 :
597 :2009/02/06(金) 18:15:05
>>592 日経PC21で有名な配列数式の先生じゃないということは彼の名誉のためにもことわっておく。
彼は馬鹿な使い方はしない。
馬鹿な使い方するやつがどっかにいるんだよ。
ここも見てるみたいだけどなw
もうテンプレにピボット厨は華麗にスルーとでもいれとけや!!! ここまでROMってたけど、ピボット厨でてくると必ず荒れるwww
むしろVBA回答禁止にすればいいんじゃないか
ピボット大好きな人はアクセス使えばいいだろ VBA大好きな人はVB使えよ EXCELは計算式が全てなんだよそれ以外はうんこ
605 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 20:27:56
まあまあ・・・みむめも
>>604 いい意見だね。
本格的な仕事にはデータベース使うよ。
Excelは簡単な仕事向け。
>>604 いい意見だね。
本格的な仕事には開発環境使うよ。
Excelは簡単な仕事向け。
逆にAccessで簡単なことって出来ない というかやり方が分からないから 一々Excelに出力してから加工する俺は負け組です
大事なことだと思ったので2回言いました
SQL文なんて配列数式とは比較にならないぐらいパズルだもんなあ。 ただ、歴史があって利用範囲が広いから使い慣れてる人が多いってだけで。
>>610 考え方が根本的に違うな。
君とは反対でSQLのほうが理解しやすい。
ていうより、結果に安心感がある。
操作が限定されている分、ロジックが明快だ。
そういう問題じゃない SQLは効率的だから覚える 配列は代替できる方法のほうが効率的だから余技にしかならん
効率的w オナニー乙www
>>608 その方がいい
Access好きな奴はAccessを操作することが好きなだけ
クエリ書いて満足してるとか、人に頼まれたフォーマットで集計する奴向け
普通の奴は必要なデータだけExcelに持ってきてピボッドでいじり倒して自分に必要なデータ見つける
用途が違う
クエリを書く、という1アクション必要ない分ピボットの方が考えまとめやすいわけだわな
でもまあ盆栽愛でてるのが一番という奴を止める気はねーよ いいんじゃね?趣味のExcelで
617 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 22:41:08
>>610 >SQL文なんて
>ただ、歴史があって利用範囲が広いから使い慣れてる人が多いってだけで。
ちなみにFortranできたのが1950年代で
コッド博士によるリレーショナル理論が1970年な。
SQLは2003だったかな? それくらいから外部データ読み込みのテーブル機能でms-queryとかいうクソ機能介さずに直書きと変更が楽にできるようになったから、覚えとくと楽になるよ
=IF(C5>1083334,SUM(C5*60%,IF(C5-1800000<0,0,(C5-1800000)*10%),IF(C5-3600000<0,0,(C5-3600000)*10%),IF(C5-6600000<0,0,(C5-6600000)*10%),IF(C5-10000000<0,0,(C5-10000000)*5%)),IF(C5<650000,0,C5-650000)) これと同じ式を簡単に書くとどうなりますか? 給与所得控除の計算です。
テーブル作って表引きしろよそんなもんw
ああ、配列数式厨はこういう掲示板で1行で答を書きやすいから、掲示板ヒーローになりたい奴に人気があるんだろうな VBAも短いコードが正義みたいな馬鹿も多い 初心者も短い方がコピペが楽でそっちが凄いと思ってしまう web時代の弊害だな
コピペすんのに 長いも短いも無いだろ タイプするなら短い方が重宝するだろうけど
>>619 C5>=1800000 という式をわざわざ C5-1800000<0,0 って書いてるのが気になる。
180万から660万は同じ率で同じパターンの計算を繰り返してるから、たぶんもっと簡単な式になるとは思うけど、
控除額は毎年変わるし、複雑な式はあとから修正するのが大変だから、VBAで関数を作った方がいいと思う。
624 :
名無しさん@そうだ選挙にいこう :2009/02/06(金) 23:01:57
操作が限定されていると安心だ。 文系の子にもわかるようにイメージで語るとピボットテーブルやSQLはルービックキューブのようなもの。 どんなにくるくる回転してバラバラになったように見えても本当のデタラメではない。 6面がそろった状態から回転操作だけでたどりつくことができるパターンであることは間違いがない。 VBAは回転操作をサボってキューブ表面の色シールを剥がして貼りなおすようなもの。 正しいプログラムならばルービックキューブとして許されたパターンを生成できるが、まったくのデタラメパターンが生まれる可能性もある。
今日も配列数式大先生のアフォ回答で解決してたw 配列数式とは関係のない質問だったが。
>>624 うまい事言ったと自己満足してんだろうな
>まったくのデタラメパターンが生まれる可能性もある。
こんなんVBAでもSQLでも書き間違えたらそうなるじゃん
SQLだってInsertとかDeleteがあるんだから、データ壊す可能性はある
この子、根本的な勘違いしてる
>>626 まあ程度の問題だよ。
VBAは
>>279 のような問題が顕著なんだな。
279 :名無しさん@そうだ選挙にいこう :2009/02/03(火) 23:36:15
VBAの長所である自由さは、同時に最大の短所でもある。
VBAはなんでもできてしまう。正しい処理だけでなく、間違った処理も。
例えば国ごと年ごとの輸入額,輸出額のデータがあるとして、ある国のある年の収支を計算したいとする。
輸出額の合計から輸入額の合計を引いたらいいんだけど、VBAでこの処理を記述したとして、もれがないことを客観的に検証できますか?
そのプログラムは、
輸出のデータはあるけど輸入のデータが無い場合を正しく計算できていまますか?またその逆は?
同じ国、同じ年のデータが複数あっても正しく計算できていますか?
国別集計プログラムが完成しました。次は年別集計です。プログラムをもうひとつ作るのですか?
10年間の集計を計算したい場合でも適用できますか?
ヨーロッパ、アフリカ、アジアなど地域別の集計をしたい場合も適用できますか?
>>628 今時
アンカー付けるだけで十分だから、全文引用しないで
でもこの例って、関数式やピボットでも間違いが起こりうるような内容だよな 最初の二行はもっともだし、この後にVBA特有の問題を持ってくれば説得力もあったが そうではない例を挙げてしまったことで、何も解ってないってことが露顕してしまった
>>630 国や年を基準にクロス集計するだけじゃん。
VBAの人はそれを正しくコーディングできるの?
正しいコードが完成するまでにどれだけの時間を費やすの?
正しいことをどうやって同僚,上司,顧客に説明するの?って話だよ。
核心ついちゃっていい? ピボット厨ってピボット「しか」できないよね? 何か、数式・VBAなど一通り経験してきて、 結局ここにたどり着いたみたいな書き込みしてるヤツいたけど、 ホントはそんなヤツいないよね?
>>632 知らないことは批判できないよ。
VBA厨の書き込みを読んでいるとまったくわかってないことがわかる。
恥ずかしいからやめとけ。
>>632 正解。
一通り経験したって書かないとつつかれるから書いてるだけで
実際は数式はまだしもVBAはほとんど経験してません。
だからVBAに対してコンプレックス丸出しなんです。
例えば
>>630 なんて読んじゃうと「あーやっぱりわかってないんだ」って思う
批判は出来ても具体的な指摘が出来ないのがピボット厨の特徴。 苦し紛れに言い返すだけは言い返すが、周りからは墓穴掘ってるだけにしか見えない。
数式でも正しい式を組まなければエラーや間違った値が返るし VBAでもクラスを使うだけで、年別集計、10年間の集計、地域別の集計に即座に対応出来る
>>638 クラスを使うとできるだって?
意味がよくわからん。私はどうやらVBAをよくわかっていないらしい。
それ詳しく教えてくれたまえ。
輸出入の収支計算は前スレのVBA回答者が実際に
>>279 の指摘通りのバグを発生させていることに注目したい。
世界が100人の部下だったとしてそいつらが何かの度にVBAで集計プログラム作っていたらどんなことが起こるだろうか。
>>639 クラスのプロパティに年度や地域などの要素を格納しておけば
If文1行書き替えるか加えるかするだけで、自在な結果を得られる
つーかさ、ピボットで扱える状態のデータ(正規化されたもの)なら
ピボットはもちろん、VBAでも糞コード書かずにスマートに結果を出せる
その上で、ピボットは手軽さ、VBAは柔軟さで軍配があがるから状況に応じて使い分ければ良い
そのことに気付いてる奴は、ピボットに固着しないし、VBAをバカにもしない
ピボット厨はピボットで正規化されたデータを扱った場合と、VBAで乱雑なデータを扱った場合という
不公平な条件を前提に話をしてるか、正規化されたデータをVBAはもとよりプログラム言語で扱う手段を心得てないかだろ
>>640 何を使おうと、使い手が未熟なら不都合は発生する
単純関数式でも、配列数式でも、ピボットでも、VBAでも
ピボットでは正規化さえまともに出来てれば間違いはほぼ起こらないが、その正規化段階で間違ってる奴は結構居るからな
まあ正規化段階で間違うのも、ピボット使いに限らずだが
>>641 別に問題は起きないよ
ひとつの体制下での話なら、ベースとなる集計体系を納めたモジュール群を前もって配布しておけば良いだけ
その条件下で問題が起きるとしたら、その原因はVBAではなく無能な管理者
>>642 なんだ結局正規化しろってことだね。
ピボ厨が昔から言ってきたことじゃないか。
>>643 >別に問題は起きないよ
>ひとつの体制下での話なら、ベースとなる集計体系を納めたモジュール群を前もって配布しておけば良いだけ
それって「ピボット使え」と同じ発想。
君、僕と意見があう人なんだね。
お前らもうVBAでピボットやソート作るんじゃねーぞ。 創造力はもっと知的なことに使うんだ。
>>642 >つーかさ、ピボットで扱える状態のデータ(正規化されたもの)なら
>ピボットはもちろん、VBAでも糞コード書かずにスマートに結果を出せる
ちなみに輸出入収支計算では正規化されたデータを与えられているにもかかわらず、回答はバグってた。
ピボット便利だけど、パラメータ変えたとき一々重いのだけは何とかしてほしい
配列数式なんて名人クラスでも間違うもんな。 たしかこんな間違った式をどっかで見たぞw A1:A1000から重複を除外する式 =INDEX(A:A,SMALL((MATCH(A$1:A$1000&"",A$1:A$1000&"",0)<>ROW(A$1:A$1000))*100+ROW(A$1:A$1000),ROW()))&"" 実際はINDEX使ってもっとひどい式になってたが。
>>643 別に正規化しろとは言ってないよ
VBAでは正規化されてなくても、不都合のない集計が可能だからね
ただ、正規化されてること若しくは正規化することが前提なら、
そこからピボットに固着するのは愚かしいってだけ
>>644 俺はピボット自体は否定してないからね
ピボット好きと通ずるところもあるだろう
俺はあくまでピボット自体ではなくピボットに固着しVBAを無意味に卑下してる奴等を否定しているだけ
ピボットも集計体系のひとつなので、複数人体制でも問題回避に定められた集計体系を使うって点では意見が合うが
一応言っておくと「問題回避に定められた集計体系を使う」のと「問題回避にピボットを使う」では意味が違うからね
>>646 レスを読んでいるんだか読んでないんだか解らん奴だな
つ 「何を使おうと、使い手が未熟なら不都合は発生する」
こういうふうに、バカなVBA使いが一人居ただけで、全てのVBA使いからVBAそのものまで卑下してしまうのがピボット厨の悪いところ
>>646 あれバグってた?
ソートの順番は間違えてたけど、与えられたデータはちゃんと処理してたと記憶してるけど、
オレの記憶違いかな?
>>649 おちつけ。
「バカなVBA使いがいる。」という点では歩みよれるんじゃないかな?どうだ?
一人だけじゃなくていっぱいいると思ってるけど。
652 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 09:03:24
以下のゲームで、A・Bの勝率を求める計算式を教えてください。 Aはプラス・Bはマイナスの整数を決定(変数のセル)。 数直線上の0からスタートし、+1・0・-1をランダムに決定し、 A・Bどちらかに到達(勝ち)するまで繰返す。
>>649 >バカなVBA使い
俺もVBA厨だけどキミはあのコード見た?
俺から見れば、結構高度でエレガントなコードだったよ
処理時間もかなり速かったし
>>651 少なくとも最初のにはバグあっただろ。
で、後から気付いて差し替えた。
それからあのプログラムは確か、年,国,輸出入の3つの組合せがユニークだったら問題ないんだけど、重複がある場合は計算できない仕様だったと思う。
>>646 素人たたいてもしょうがないじゃん。
VBAで数式使ったりオートフィルター使ったひどいコードだな。
数式はまぁいいとしてオートフィルター使うなんてありえないわな。
>>654 与えられたデータを処理できて、後付条件のモノを処理できないモノがバグだって言うんなら、
バグの無いプログラムなんか組めないと思うけど…
>>655 >VBAで数式使ったりオートフィルター使ったひどいコードだな。
>数式はまぁいいとしてオートフィルター使うなんてありえないわな。
ピボ厨的にはそこはどうでもいいところ。
検証可能な正しい方法で、正しい結果が得られるならば問題なし。
>>655 オートフィルタって超速いよ
VBAでオートフィルタありえないなんて、
それこそVBA多少わかってるヤツにはありえない発言
>>653 どこがエレガントだよ。
目が腐ってるんじゃねーか?
>>656 与えられたデータはユニークだったけど、質問にユニークだとはどこにも書いていなかった。
回答者もそれを質問者に確認していなかった。
オートフィルタの致命的な不具合が分かってないなんてかわいそうなやつ。 超速い? 馬鹿じゃねーの?
>>661 必死で反論してるつもりみたいだけど、何の反論にもなってないよ
>>652 ゲームの1ステップをexcelの1行としてモデル化したらいいよ。
664 :
661 :2009/02/07(土) 09:18:46
先にソートしてたのか。 すまん俺が悪かった。 ただコードは汚いな。 Withで括っても、頭のピリオドなかったり。
>>664 >ただコードは汚いな。
>Withで括っても、頭のピリオドなかったり。
ピボ厨的にはそこはどうでもいいところ。
検証可能な正しい方法で、正しい結果が得られるならば問題なし。
>>598 仕事中に職場から書き込みしてるんだ
もうすぐこの会社つぶれるんだぜ・・
できるだけ楽をしたいもんだから、勝手にいろいろと仮定してしまうんだ。 データはユニークだと仮定→計算結果を記憶させなくていいからラクダー ImportとExportが必ずペアで存在すると仮定→Export探してImport引くだけダー これらの仮定を排除していくと結局ピボットテーブルと同じものを自作するだけなんだけどね。
>>667 >結局ピボットテーブルと同じものを自作するだけなんだけどね。
あの件に関してはまったくあなたの言う通り
あれはピボットテーブル使うべき
でも、VBAできると楽しいよ
もちろんオレはVBA厨
>>668 ピボ厨は別にVBA使えないわけじゃないんだよ。
私は学生時代、並列計算機で偏微分方程式を解くプログラムを作成していました。
けっこう楽しかったですよ。
社会人1年目くらいの時は「VBAで仕事を効率化してやるんだ」とか本気で思ってたし。
偏差値がそこそこに高くて、IQ低い奴は、ピボット厨になりやすい IQがそこそこ高くて、偏差値は低い奴は、VBA厨になりやすい
>>670 ホントかよ、ソース出せ!
って思ったけど、妙に納得した
なんかわかる気がする。
673 :
661 :2009/02/07(土) 10:18:40
やっぱ前スレ388は致命的な欠陥があるな。 あのサンプルデータではたまたまうまくいっただけだ。 1962年からのデータだが、仮に1900年からのが同じ行数あったら終わりだ。 ためしにあのデータを後ろにコピーして、年を全部-60してみれ。 まぁ1900年にはあんな国名はないといえばないけどな。 オートフィルターはやっぱ使っちゃいかんよ。
欠陥があろうがなかろうがクロス集計をVBAでやるという発想がすでに間違い ピボットなら項目をドラッグすれば簡単に集計方法を変えられるけど VBAなら「はじめにいえよ後出しウゼー」ってことになるしつくる時間も桁違い
また出た、ダメな人。 もう醜態を晒すのはやめにしないか?
676 :
661 :2009/02/07(土) 10:43:01
>>684 その意見には同意する。
あれはどう見たってピボット向き。
それはおいといてVBA厨のみなさん、VBAでオートフィルター使うのやめましょうね。
分かってるやつは絶対に使わないから。
>>658 はオートフィルターのまずさに気づいたかな?
>>676 >VBA厨のみなさん、VBAでオートフィルター使うのやめましょうね。
だからさー、ダメな点を指摘しよーよ
指摘が的確ならみんな「あー、なるほど、そうなのか」って納得するんだよ
的外れだった場合に突っ込まれるの恐れてるの?
681 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 11:02:29
永田メールみたいだなwwwwwww
>>680 ふつうのひとなら「クロス集計にVBAつかうのがおかしい」と的確に指摘されたら即座に
納得するんだよ。おまえみたいのはどうしたらいいのか俺にはわからんw
683 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 11:07:08
どこにでもいるなあ永田君 俺の知ってる永田君は関数にバグがあると騒いでたなあ それはExcelの日付の計算の仕様ですよ?とヘルプ見せたら逆切れしてたしなw 小数点の演算誤差でも騒ぐタイプだしな永田君は
実は的確でもないからなぁ 的確でもないものを的確と信じて疑わない奴にはどうしたらいいのか俺にはわからんw
685 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 11:08:05
致命的なバグがあるならExcel怖くてつかえないやーおーこわ つかえなーいwwwwwwwww
>>680 あのスレにサンプルデータのうぷろーだーのファイルあったろ?
あのデータを後ろにそっくりコピーして年の部分だけ-60とか+60とかして
やってみなよ。
データ全部消えてしまうから。
それ以外でもこのスレで他のやつから問題点出てるしな。
>>682 もうやめれ
必死すぎて痛々しいぞ
もうね、可哀そうになってきたよ
でもちょっとおまいの人気に嫉妬
VBAでピボット操作すれば 双方納得じゃん
>>686 60年必死だなw
60年動かす必要がないから問題ないって気付けよwwww
>>680 おれは見てないんで分からんが、たぶんオートフィルターかけたあとの可視セルのAreas.Countの問題だと思う。
オートフィルターって可視セルのAreas.Countが8192以下でしか使えないんだよ。
見る分にはそれ以上でも問題ないけど、可視セルを消したりコピーしたりは問題がある。
暇だったんでやってみた
前スレ383の
ttp://www1.axfc.net/uploader/He/so/186279.xls をダウンロード(パス:excel)
data.67シートのタイトル行以外をコピー
A10403セルに貼り付け
適当なセルに60を入力、コピー
A10403:A20803に形式を選択して貼り付け→減算
コードを実行
NXシートのA1:D11075に結果が表示された
data.67シートのデータはA1:D20803のまま
>>689 そんな心がけじゃいずれバグ出すよ。
いずれにしろオートフィルターは普通は使わんから。
>>690 解説どうもね。そういうこと。
>>691 前スレ388のコードでやってみた?
俺は388のこといってるんだけど。
月給 扶養の人数 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ? 給料の源泉税なのですが、月給に対応する源泉税を下のような表から取り出すにはどうしたらいいのでしょうか? 月給 扶養親族の人数 以上 未満 1人 2人 〜 147千 149千 2860 1270 〜 149千 151千 2920 1330 〜 A1に148,768、A2に1と入力するとA3に2,860と表示される感じです
>>692 あんなの問題外
>処理は遅い目だけどプログラムの行数を減らす方向でやってみた。
この時点で低レベル確定
>>653 はどう考えても、前スレ383の事を言ってると思う
オートフィルターの問題点は、たとえば17000行のデータで1行おきに空白があって、その空白行をオートフィルターで抽出して削除してみよう。
余裕で出来ると思うだが それに何の問題があるだ
>>693 VLOOKUPで
検索値は「以上」の列を指定して、検索の型はTRUE
>>693 千や人などの単位は表示形式で付けるようにした上で
VLOOKUPとHLOOKUP、もしくはINDEXとMATCH
>>692 現状把握のできない人なんですね
だから条件に関わらない答えを求めたがる
ニーズに応じたサプライのできない人間はただの邪魔ですよ
そういう人間はVBA不可やピボット不可と言われるだけで何もできなくなるw
>>699 何か文句をいいたいみたいだが、文章が意味不明だぞ。
縦に読むのかな?
>>696 出来ると思うんじゃなくて、実際やってみてできたか?
703 :
696 :2009/02/07(土) 12:11:05
できませんでした 土下座して謝ります 私がバカでした
やっと分かってくれた人が一人。 VBAにオートフィルターで頑張ってる人は分かってくれるかな?
ここまで全部俺の自演
・うまく動かない→EXCELが悪いんだ ・何やってもうまくいかない→ピボットが悪いんだ
>>688 あれみんなそうじゃないの?
自分だけでやるなら手操作でもいいだろうが、人にやらせるなら普通VBA併用するよな。
708 :
696 :2009/02/07(土) 12:38:04
>701 そういう隙間が空いたデータに対しては、 列を丸ごと選択してからフィルターを掛ければ良いだけ これで解決したら、土下座して謝らなくて良いから面白いAAを一個貼るように
ノ | l | ヽ ト、 | | | l { /} ヽ ヽ 〈、 i、 | |.ム / ! . ヽ ヾ,、_rL | | _r}∠>=‐' / \ : ∵爻、 ヽ |! j゙ソ゛.: . / ヽ ∵ ヾk l||! _}i}∴ ∵ / \ ∵{=、, cr炎ro _fiヾk: :/ ヽ∠__ノァt-、 /,仝yハ ∠rtゝ-‐ ' ゞニヾハ. }K以ムハ //> ′ >、ヽ }ニネネ冫:i/∠、 /へ\ `ー八‐‐'_/' へヽ 〃 >,才¨^¨弋ヽニニヾk {/,<- '/ / \\ 「|l| |{ トi′ > 〉 {.{l} |l /7 // !| {{ 〈ハ} z'_/ k!
センス無いなあ…
___ ━┓ ___ ━┓ / ― \ ┏┛/ ―\ ┏┛ / (●) \ヽ ・. /ノ (●)\ ・ / (⌒ (●) /. | (●) ⌒)\ /  ̄ヽ__) / | (__ノ ̄ | /´ ___/ \ / | \ \ _ノ | | /´ `\ -------------------------------------- ピボットはあなたにとって役に立ちましたか? ○ 非常に役にたった ○ 役にたった ○ どちらともいえない ○ 役に立たなかった ○ 全く役にたたなかった ◎ うるせぇ黙れゴミ!
どうやったらオートフィルターでエラーが出るんだよ
なんだよ
>>696 はまだ分かってないの?
じゃぁさ、1行おきに空白じゃなくて"X"と"Y"が交互にあって"X"の行を削除してみろよ。
出来れば手操作じゃなくてVBAでやった方が面白いな。
With Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:="X"
.Resize(.Rows.Count - 1).Offset(1).EntireRow.Delete
End With
これ実行してみな?
上は17000行のデータでやってな。
間に1レス入ったか。
>>714 は17000行以上のデータでやってね。
1行おきに"X"と"Y"だからな。
あのさ関係ないけど輸入ってImprtなの? Inportじゃない?
719 :
693 :2009/02/07(土) 13:21:55
>>697 >>698 =VLOOKUP(A1,月額表,B1+3,TRUE)でうまくいきました
ありがとうございました
60年とか17000行とか非現実的な後付け情報が多いな じゃあ俺もひとつだけ言ってやるが28世紀にはもうExcelなんてないよ
>>721 実際によくあることだぞ?
どっちにしろオートフィルターは普通使わないの。
分かった?ボクチャン
誰もオートフィルタ使えとか言ってないし おまえは誰と戦っているんだ 自分で考えることもできない人間ですね、わかります
だから その時はその時で別の方法使えって言ってるんだろヴォケ 条件が変わったら別の解法使えよ 60年違うなら60年違うことをやればいいし 17000行なら17000行のことをやればいいだけ
ほーら「後だしウゼー」が出ましたw VBA厨涙目ww
「データ項目の追加や集計方法の変更に対応していちいちVBA書くのメンドクセ そうか!どんな表でもD&Dで変更できる汎用VBA書けばいいのか! これなら集計ミスや漏れもありえないし俺って天才!」 「それピボットじゃね?」 「……」
728 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 14:17:53
>>723 仕様上の制限だとして制約要因はなんだか知ってますか?
オートフィルタで使える行数は○行以下とか?
それとも物理メモリの制約?
なんだってそうだろ 後からどんどん条件出てきたらキリ無いのは当然 オートフィルターを使う使わない問題と VBA厨「後出しウゼー」は関係無い
オートフィルタ使うな人間は17000行だとか60年だとか後出し条件だけどな その後出しがなければ問題ないんだから言うほうがバカ 汎用性に拘るのがそもそも意味ないことにいつ気付くんだろう
条件変わるたびにしこしこコード書く作業がなくなることを喜ばないのは それ以外にすることがない人間だけ。
それもピボット使える問題だからであって VBAで使わないとできない事もあるのだから そのときは後出し条件では困る 全てではない
>>732 それはそうだ。ただし集計ならピボットやDB関数使うのが当然。VBAでやるなんてありえない。
VBA以外で集計できないデータがあるとしたら、それはデータ形式が間違ってる。
>>733 ばかだなw むしろ作業列つくることで複雑な数式つくる必要がなくなるんだから歓迎ですけど?
>>733 ピボットテーブルと作業列は相性いいんだぞ。
ピボット使いは作業列好きだと思うが。
おまえら誰が誰だかサッパリだ ピボ厨とかVBA厨とかコテつけろよ
>>728 見るだけならほとんど制限ないだろ?
行数は無関係。
制限なんてすでにどなたかが書いてるじゃん。
制限を超えると消したりコピーしたり削除したり色を塗ったりするとき等困る。
行削除なんてVBAからだとエラーで止まるならまだいいけど、警告無しで問答無用で全部ばっさり削除だからな。
「動いた!ウマー」なんて思ってたら「動きすぎ!」だもんな。
読み飛ばしたくない話題で盛り上がってるみたいね。 でもスレの流れはやすぎ… このレスは読んどけっていうレスはどれ?
もとはといえば変なアンチピボットのあおりが発端かな? あおりで盛り上がってさぞ本人はうれしいだろうよw
741 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 15:56:26
XPプロ 2007EXCELで質問です シート1のセルF14に入力した数字を同時にシート2のG14に自動で入力出来るようにしたいのですが シート1のF14には=SUM(F5:G13)と入っており シート2のG14には=SUM(F14)と入っています。 シート1のF14に入っている=SUM(F5:G13)とシート2のG14に入っている=SUM(F14)を 残したまま自動で入力させるにはどうすれば良いでしょうか? よろしくお願いします。
なにをいってるのかわかりません
えーと、誰の人気に嫉妬すればいいのな
>>741 数式の入っているセルにデータを入力すると、必ず数式は消えてしまいます。
数式を残したままセルに別のデータを入れることは不可能です。
テキストボックスをセルに重ねて、VBAで値をいれてやることはできるかもしれん ほれVBA厨 出番だぞ
数式厨の俺から言わせるとピボット・VBAはもちろんの事、 オートフィルやソートすら邪道だよ セルに書き込んだ数式であらゆる問題を静的に解決しやがれ それが表計算厨の心意気ってものだろ
まあそれが理想だし、常に頭に入れておかないといけないことだよね。 無意味に仕組みを組み込んでわけのわからんワークシートを作る (結果的に効率が落ちる)奴って結構居るから。 でもそれを承知した上でいろいろ応用効かせなきゃいけないことも多いんだよ。
なんのために応用してるのか、が大事だな 別にその応用要らなくね?と言われるような応用はまったくの無駄
配列数式とかピボットテーブルとかリンク図形 が仕事に組み込まれてると若干イラっとする。言わないけど。 それしかやり方が無いかそれとも有効に使われてるのなら良いけど 大概作成者の無意味な自己満足だから。
加えてVBAで集計なんかしてると最悪だな
最悪なのは不規則にセル結合しまくってて行や列の挿入ができないシートだ。 うっかり修正すると印刷した時に数字が枠からはみ出て1桁消えちゃったり。
入力(データ)と出力(レポート)を区別しないやつがつくるとそうなる
セルが結合されてるとまともにコピーできないんだよね これだけでパソコン使ってる意味ナッシングだと思うんだが。 バブル世代(笑)が作ったシートって、 パソコンが普及し始めだったからか、そういう風に 見た目だけ取り繕おうとして機能性の劣る仕事がすごく多いよ
Excelって研究でデータを試行錯誤して分析したい場合とか 個人的な趣味とかには何でもありで便利なソフトだけど ルーチンワークが多い業務で必死こいて使うようなソフトじゃないよな。 ソートやオートフィルタやピボットが必要な業務なら素直にAccess使えばいいだろと。 ExcelのVBAでシステム作るならエラー処理とか作業者の思いがけない操作に 完璧に対応したもの作れよと。
Accessだけで完結した業務アプリってのもあんまりいいとは思わないけどな。 UIはVBで作って、そこからデータベースを呼び出すみたいなのが作りやすい。
何でやるにせよパソコンにちょっと詳しい社員が業務の片手間に システムを作るとかどだい無理な話であって、金かけて専門業者に任せるべきなんだよな。 今のExcelはなまじ色んな事が出来過ぎるから素人が糞みたいなブックを濫造して業務効率を激しく下げてる事が多い。
VBAで作業者のミス吸収とかアホか 作業者なめすぎ 勉強させりゃいいんだよ
全部てめえが責任背負ってますみたいな顔して クソみたいなVBA組んで煙たがられてるバカなんだろどうせ やれやれ、素人はこれだから・・・ なんて顔して実はコミュニケーションまともに取れないexcelオタなだけ
てめーの説明のスキルが無いからハァ?って顔されるだけなのに 相手が悪いように思えて仕方ねーんだろうな 掲示板でテンプレ強要するようなタイプだろうなあんた
ここ何のスレだっけ
結構ためになった
762 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 17:47:34
【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 A1に「2」、A2に「3」が入力してあったとして、 この2つのセルを選択、コピーをしてA3のセルに和である「5」を 貼り付けることはできますか?
コピーは文字通りコピーするだけだから無理
>>762 A2に貼り付けるなら貼り付けのオプション→加算でできる
A3にってのはvba使わないと無理
一度関数を入れて後からコピー→値貼り付けが一般的かと
765 :
762 :2009/02/07(土) 17:57:19
>>763 >>764 ありがとうございました!
無理だってことがはっきり分かっただけでスッキリです!
【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 なんだからいいかげん「vba使わないと無理」とか言うなよ なんのためのテンプレだバカか
なんでイラついてるんだろ バカみたい
>>766 【3 VBAが使えるか 】 はい
【4 VBAでの回答の可否】 可
だったらvba厨さんの出番だと思って気遣かった解答のつもりだったんですすいません私がばかでした
たら とか れば とか 後出し条件うぜえ
770 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 18:33:51
>>746-759 は一人が書いてるの?
なんかそれぞれの厨を煽ってるだけにしか見えないんだが?
よう俺 おまえだったのか わからなかったぞ 暇をもてあました 神々たちの あそび
772 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 18:51:13
>>771 お
か
も
ち
ナナメ読みはこれでいいのか?
ここは、なごやかなふいんきで いいですね。(山口もえ風)
少なくともここの回答者にはエクセルを方眼紙にしてワープロ替わりに使ってる人はいなそうで安心した
775 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 19:33:46
【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか 】 触ったことがる程度 【4 VBAでの回答の可否】 否 たとえば次のようなセルがあったとします。 A1 A2 A3 A4 A5 C1 C2 C3 C4 C5 E1 E2 E3 E4 E5 ・A1〜E5のセルには何らかの文字列が入っています。 ・文字列は重複することもあるため、きっちり15種類とは限りません。 質問ですが、A1〜E5までのセルに入っている文字列を 重複した文字列を除いて、 昇順で縦列にリスト化するにはどうすればよいでしょうか? A1 A2 ・ ・ ・ E5 ※重複分が抜かれているので15行以下になります。
>>777 最初のレイアウトを変更する気はあるか?
>>778 あります。
飛び地はやめて
A1・・・A5
B1・・・B5
C1・・・C5
でもかまいません。
その他でもかまいません。
>>777 配列数式厨はここでは答えられないからあきらめろ。
1列にすりゃ簡単なことだ。
>>779 最初の状態がA1〜A15の一直線なら簡単ですが、そのようにはできますか?
>>779 じゃあデータを全部1列に並べて。
1行目だけ項目名にしておくこと。
後はピボットテーブルで。
そのビボットテーブルのやりかたを詳しく教えてください
>>783 >>782 まで実行してグーグルでピボットテーブル調べてそれでもわからなかったらもう一度聞いて。
777です。 ピボットテーブルとは初耳です。 少し調べたのですが、もっとデータ量の多い、項目の多いものをまとめて グラフなどに置き換えて多角的に分析するためのツールで、 今回求めている作業に対していささか大げさな機能のように感じました。 ほかに選択肢はないものでしょうか?
>>783 A1に見出しを入れる。「文字列」でも「データ」でも「あ」でもなんでもいい。
そしてA2〜A16に15個のデータを入れておく。
一番上の「A」をクリックしてA列を選択してから、メニューの「データ」→
「ピボットテーブルとピボットグラフ レポート」を選択。
「完了」をクリックしたら「文字列」をテーブルの左端にドラッグ。
すると重複を除いてソートされた一覧表が出来上がり。
ttp://nagamochi.info/src/up25607.png 文章で書くと長くなるけど、実際にやってみるとめちゃくちゃ簡単だから
まあとりあえずやってみ。
じゃ、コピペでがんばれよ
>>785 おおげさねえ。
よくわからない感想だけどそんならフィルタはどう?
>>785 >少し調べたのですが、もっとデータ量の多い、項目の多いものをまとめて
>グラフなどに置き換えて多角的に分析するためのツールで、
>今回求めている作業に対していささか大げさな機能のように感じました。
イラっとするなあ。
多角的だってよ。
ピボット初耳のやつが何生意気いってる?
transposeで一発
またピボットか・・・/(^o^)\
792 :
741 :2009/02/07(土) 21:46:09
できないのですか・・・ それではマクロでその作業を組むことは可能でしょうか?
>>791 ピボットはExcelの華。
Excelはピボットテーブルを使うためのアプリケーションと言ってもいい。
ピボットテーブル使えないやつはExcel使えるとは言ってほしくない。
ちょっとした便利機能のひとつが"華"とは、どれだけExcel使えてねーんだよw
まぁ関数、ピボット、VBAが三大柱だわな
なんでこのスレってここまでピボット叩かれるの? 昔ピボット使いになんかされたん?
>>794 ピボットと同じ機能をVBAや関数で実現するのにどんだけの手間がかかると?
ピボット使いは「できる」だけ言って「どうやるか」を何一つ全く全然少しも言わないからな・・・
>>792 マクロを使っても、セルに数式と数値を同時に入れることはできない。どちらか片方だけ。
>>792 じぶんで書いた
>>741 をもういちど読み返せ。数式の入ってるセルに別の値を入れることはできない
当たり前のことだよ
できると言うだけでやらないやつ、 違うと否定するだけで正解を示さないやつ、 ネットでも実生活でもとても嫌われますね〜。
>>796 VBAに惨敗して火病ったピボット患者が大暴れしてたのさ・・
>>798 何故か回答が異常に遅いorしないんだよな
本当に理解してるのか疑う
>>796 ピボット自体は叩かれてない
ピボット厨がVBA叩いて
VBA使いがピボット厨叩いてる
ピボットではなくピボット厨が叩かれる理由は、言わずもがな…
>>801 ネットはウザイ奴はウザイっていわれるのがいいよな
実生活だと何も気づかないままハブられるんだぜ・・
> おれはめんどくさいからここまではしない ピボット厨って簡単だの手間が掛からないだの言ってるわりには、 何故かその簡単なはずの説明すら面倒がるよな
ピボ厨からすると、回答をちょっと遅くしとけばVBAや関数でバカみたいな回答がたくさんわいてきておもしろいというのもある。 そこで「ピボットで10秒でできるよ」となるわけです。
詭弁です。 本当はわかってないのです、はい。
>>806 要はクロス集計しなさいってことだ。
それ以上説明しようがない。
> そこで「ピボットで10秒でできるよ」となるわけです。 なったことねーしw いつもピボットでやるには、結果や操作感が要望と違うなど、 何かを切り捨て妥協して、更には正規化などの手間を取って、やっとこピボットに辿り着く。 しかもピボ厨はそこまでの手順を説明せず、「ピボットなら簡単」を念仏のように唱えるだけ。
それがわからないから聞きに来てるのに「10秒でできる」「ぐぐれ」じゃ 教えたことにも説明したことにもなってないことに気付いてね。 挙げ句の果てに「めんどくせー」なら最初から出てこないでね。邪魔だから。
>>792 >>795 のいう所の3大機能どれを使っても可能だけれど
関数だと数式をネストしまくった複雑な関数になるし
いまの並びを縦一列に変える手間をかけていいならピボッドが簡単
そうでなければまとめてできるvbaが妥当では?
もっともExcel初心者向けに回答するなら
最初から縦一列に並んだデータ作って2007買え、かな
>>811 誰にも聞かれてないことに勝手に答えるw
新しいギャグ?
秒単位で速さを競って、やってることがクロス集計だけって、そんな職場がどこにあんの。 それだけ忙しいところならデータ処理は外注で専用DBシステム組んでるよ。
>>815 じゃあ俺が聞いてあげるよ
>>811 のシートのピボットと同じ集計をVBAでするにはどうすればいいですか?
>>811 ピボットの方が早いのは当たり前だろ
根本的にアホなんだな
>>816 とことん頭悪いな。ピボットで済む処理を外注する会社がどこの世界にあるというんだ
>>819 お前・・
エクセルの行数なんてたったの65536
幅にいたっては256列w
こんなもんでDB組めるかよ
ああ、零細企業の方でしたか^^;
>秒単位で速さを競って >ピボットの方が早いのは当たり前だろ みんな表現は違うがピボットは良いという意見に一本化されてきたようだな。
>>817 ここに個別に集計したいシートが150枚あります。さてどっちが早く終わるかな?
823 :
819 :2009/02/07(土) 22:19:38
もしかして、俺あおられてるの?w こんなもんでVBA組んでるひともいるんだからそんなこというのは失礼じゃないかww
>>820 基幹業務の販売集計とかには使えないけど、65536件というのは人間にとって膨大なデータだぞ。
いくらでも利用分野はあるとおもうがね。
>>811 VBAでは予め用意して置いたモジュールのインポートから始めて両方作るのに240秒掛かった
因みに追加15秒で、元データに手を加えず「パン」と名の付くものだけの集計が出来るがピボットではどうかな?
>>822 VBAでひとつのシートにまとめてからピボットですね
>>822 典型的なVBA使うシチュエーションだね。不幸な使い方だ。
>>825 プルダウンリストから「パン」を選ぶだけだから3秒でおk
正解はピボットテーブルを作るマクロをForループ
>>827 だったらはじめからAccess使うな俺なら
相談所なのに誰も相談していない件
VBA厨が必死でピボットの利点を認めないのが不思議でならない
800レス越えてここまでの相談が20件そこそこって……
>>832 今このスレではパラダイム転換が起こっているところなんだ。
>>826 纏められるデータなの前提なのね
ピボット厨って、いつも自分の脳内ルール前提で話進めるよね
で、その前提が崩れると途端に(゚∀゚)アヒャ!
837 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 22:25:38
ピボットが早いかVBAが早いかならピボットの方が早いにきまってる。 動作だけじゃないぞ。VBAを考えて数行書く間にピボットなら集計が終わる。
>>833 覚えたてのプログラミングが楽しくて仕方ないのに大人から水さされたんじゃ気分悪いだろうな。
ピボット厨はDB板行けよ VBA厨はプログラム板行けよ ここはExcelのスレだ
>>777 がVBA可ならコピペするだけで一発で使えるマクロを作ってやるのに…
ピボ厨はデータの並べ方が悪いとか文句言うだけだし
>>829 何処にあるの?> 「パン」を選択するプルダウンリスト
まさか、商品名のプルダウンリストで、目視でパンとつくものを見つけてチェック入れて行けとか言わないよね?
こんな少データの例題ならまだしも、これより遙かに多い実用データで使い物にならないことくらいさすがに解ってるだろうし
>>839 DB板ではデータモデリングとかについての話題でもりあがっている。
ここみたいに集計をVBAでやるようなバカは少ない。
ここでバカを煽るのが楽しいんだよ。
>>841 ああ 「パン」という商品はないんだな。パンと名のつく商品の合計なら手作業でプルダウンリスト
を個別にチェックしないといけない
ただ「クロワッサン」というパンがあればVBAでも困るだろ。それは同じことだ。
そんなに正規化が好きなら最初からAccess使えよ。 日常目にする、ある意味「汚い」一覧表を自由に作れるのがExcelの利点だろ。 人間が機械に合わせてどうする。
>>844 VBA厨や関数厨はパンというキーワードを検索してパンの売上を集計しようとする。
商品グループマスターをVLOOKUPで参照すればいいのに。
>>843 因みに追加15秒で、【元データに手を加えず】「パン」と名の付くものだけの集計が出来るがピボットではどうかな?
>>845 それExcelの利点というより欠点の面がでかい。
>>846 パンだけでなく、それが何に属するかの列を作るべきだろう
> 商品グループマスターをVLOOKUPで参照すればいいのに。 それはVBAでも出来ること VBAではそういう手を加えずに対応出来る ピボットでは手を加えないと対応できなくなる
>>847 パンと名が付くものだけを集計して仕方がないいんだってば。
実務実務。忘れずに。
ちなみに作業列作ってパンフラグ立てればいいよ。30秒くらいかな。ちょっと負けたね。
ピボット厨って、いつも事前準備として「〜するべき」ばかり 全て思い通りにならないとまともな結果は出せない
そうでもないか
>>852 逆に言えば、ピボットで使えるデータは応用範囲が広い。将来Accessなんかに
移行するとしても簡単にできる。
ピボットで使えないデータをVBAで無理やり使うとしても、ちょっとフォーマットが変われば
そのたびに作り直しになる。ピボットならその必要がほとんどない。この差は大きい。
>>850 >> 商品グループマスターをVLOOKUPで参照すればいいのに。
>それはVBAでも出来ること
そうだろ。VBAでもできるよ。
でもそういうの嫌いでしょ。君たち。
パンと名が付くのを部分一致検索して集計する専用プログラム作るほうが楽しいんでしょ。
この例だと確かにクロワッサンみたいにパンと付かないパンもあるから グループマスタかグループフィールド作る方がいい。 でも実務では名が完全に体を表すものや、含まれる語句で完璧な区別が出来る場合も多々ある。 実務実務。忘れずに。 VBA厨は正規化されたデータから始めれば、速度で負けることは認めてるのに。 何故かピボット厨は、こういう柔軟性で負けてることを認めたがらない。 で、区別に必要なフォールドやマスタが無いのが悪いとか言い出す始末。 覚えたてかつ高等機能だと思い込んでるピボットを一部でも否定されるのが悔しくて我慢ならないのかな?
で、「クロワッサン?バゲット?そんなのパンじゃねーよ!」となるわけですね わかります
VBA・・大人のおもちゃ ピボット・・子供のおもちゃ
>>857 ピボット絶賛だなおい。
ちょっと訂正してあげよう。
>何故かピボット厨は、こういう柔軟性で負けてることを認めたがらない。
ピボットだからこそ柔軟です。
残念、ハズレ
VLOOKUPやピボットを同じ事をVBAで出来ると言っても お前ら本当に出来るの?それとも理屈の上なら出来るって話?
VBAと同じ事をピボットで出来ると言っても お前ら本当に出来るの?それとも理屈の上なら出来るって話?
>>864 それは誰も言ってないよ。
ウソはやめてね。
VBAがどんなデータにも柔軟に対応できるのはそのとおりだし、 ピボットに速度・正確性で負けることを認めておきながら、 どうしてデータの方をピボットに対応できるように整形する方向で考えようとしないんだろうね。 そうしたほうがよほど効率的だろうに。
>>856 > でもそういうの嫌いでしょ。君たち。
全然嫌いじゃないよ
> パンと名が付くのを部分一致検索して集計する専用プログラム作るほうが楽しいんでしょ。
楽だけど楽しくない
だから、楽できるとき(部分一致検索で問題ないとき)、かつ楽したいとき(手っ取り早く結果が欲しいとき)は楽する
してはいけないときは楽しない
ピボットではこういう選択肢が無い
>>857 実務だからこそ名前の部分一致で判定するのは危険だよ。
トイプログラムならなんでもいいが。
実務だとそもそもこんな書類作る必要無いだろってのがたくさんあるよね
部分一致の集計なら、おれなら作業列にFINDでパンのフラグたてるね VBAでもコードの中で結局同じことするわけだし それがVBAの利点だとでも思ってるなら大間違いだね
オレはVBA厨 ピボ厨は嫌いだけどピボットテーブルは非常に強力で優秀な機能だと思ってる ・(複雑すぎない)数式で処理できるものは数式で処理する ・ピボットテーブルで処理できるものはピボットテーブルで処理する ・上に当てはまらないモノ、上に当てはまっても毎日ORたくさん処理する場合はVBAで処理する みんなこんなカンジだよね? このスレ読んでると、ピボ厨は痛いヤツがばっかりみたいに見えるけど、ピボ厨なんてホントにいるの? もしかして、オレ達が思ってる「ピボ厨の連中」ってのはホントは存在しなくて、 このスレで活動してるのはたった一人なんじゃないかなって思えてきた
>>867 >ピボットではこういう選択肢が無い
このケースで言えば作業列にパンフラグ作るだけなんだからピボットでもいっしょだよ。
VBAのアドバンテージとは考えにくいね。
それよりもVBAで手抜きしたことによる弊害の方が大きいよ。輸出入収支問題なんかよい例だ。
VBAの真のアドバンテージは再起呼び出しによるツリー探索とかじゃないの?
>>866 正確性はVBA<ピボットではなく、VBA<=ピボットね
柔軟性の高さ故に、未熟者が間違う要素も多く
それ故に正確性で負ける場合もあるってだけ
「負ける」という言い方では、VBAではピボットと同等の正確性が
絶対的に得られないってことになるので、それは間違い
>>872 > このケースで言えば作業列にパンフラグ作る
そう、そういう選択肢しかない
VBAで正確性を高めようとすれば、その検証に長大な時間がかかるわけで。 その点、検証の必要がまったくないピボットの優位は明らか。
>>876 それ、誰も否定してないところだけど、いきなりどうしたの?
ピボット厨の旗色悪いから、少しでもメリットアピールしとこうってことか?
んー?
>>873 がやけにこだわってるから丁寧に説明しないといけないのかと思って
だんだんとピボットがいいという話題しか出なくなったな。
>>825 は優秀だから240秒で作成できたらしいがそれでもピボットよりは遅いんだけどね。
ところでその240秒で完成したVBA公開してみる気はないか?
いや、そうでもないか。
神降臨の予感・・・\(^0^)/
882 :
名無しさん@そうだ選挙にいこう :2009/02/07(土) 23:22:33
VBA厨がだんだんと分裂気味になってきている。
>>877 は何をいいたいの?
ピボットで数秒で集計できたんじゃ、素人には意味不明のVBAで勝ち取ってきた ささやかな地位と尊敬が失われてしまうのでそれは困る!ってことじゃないかな?
>>885 まあそういうことだろうな。
VBA厨のあわてぶりがひどい。
>>885 VBAだけで勝ち取れる地位や尊厳にたいした意味なんて無いよ
それはピボットも同じ
それにVBA厨は、VBAを盲目的に卑下しているピボット厨が嫌いなだけで
ピボット自体は嫌いじゃないし便利に使わせてもらってるので何も困らない
自分が普段やってることと同じことをピボット厨が得意げに書いてもなんだかなぁって感じ
>>887 今ごろピボットにすり寄ってきても遅いって。
過去スレ読んでみろ。
ピボット使うVBA厨はいるが VBA使うピボット厨はいない それだけのこと
>>889 うん。VBAって使い道がいまいちないんだよね。
そう、VBA使う奴は、痛いピボット"厨"にはならない。
それは使い道が分からないだけ
> VBAって使い道がいまいち ないんだよね。 /\ わから
だから、集計はピボットでするのが当然なんだってば。VBAはピボットで使えるように データを整形するのにつかうくらい。
>>894 うん。別にそれでもいいよ。
そんでどんなことに使ったらいいと思う?
>>896 ボタン一回押して結果を出したい時に使えば良いよ
ボタン一回押したらピボットテーブルを作りたいときでもいいよ
また誰か一人で騒いでる?
一生懸命VBA向きの使用例を考えるんだが、どれもこれもクロス集計のサブセットであるという結論にしかならないんだろうな。 クロス集計じゃない問題って、ゲームにしろ構文解析にしろ最適化問題にしろ、Excelの守備範囲からちょっとずれてる感があるし。
つまり、ピボットで出来ないことはExcelで出来てもExcelでやるな ってのがピボット厨の理論なのですね なぜピボット厨が支離滅裂なことばかり言ってるのか、その根底にある間違った理論を見て理解できた気がする
ExcelのVBAはVBやその他言語に比べて入出力の部分をあまり考えなくていいから 自分の趣味とかでちょっとした計算とかさせたい時には便利なんだけど 大勢の人間が使う業務でVBAをやたら使うのはあまり好きじゃないな。
903 :
名無しさん@そうだ選挙にいこう :2009/02/08(日) 00:00:27
エクセル2007 セル上で右クリックし、セルの「書式設定」に進む際、セルの「書式設定」の画面が出るまでやたら遅いです。 改善方法はありますでしょうか?
だから最初から集計はピボット向きっていってるじゃないかwww なんでループしてるんだよwww
>>901 >つまり、ピボットで出来ないことはExcelで出来てもExcelでやるな
もちろんやってもいいよ。
ゲーム作ってもいい。
HTMLのパースをやってもよい。
連立一次方程式の解を求めてもいいぞ。
VBAならできるからな。
そういう質問にはVBAで回答してやったらいいじゃないか。
>>902 たしかにね
大勢で使う場合は、基盤となる体系が無いと混乱の元になる
そこでピボットという既存の体系を使うか、VBAで新たな体系を作るかは
その組織の業務内容や技術レベル次第
とりあえず既存のものを使っておくのが、不便はあっても初心者には無難
ほっとけ VBA厨はExcelで150個のファイルの集計とかしなければいけない ある意味情報敗者なんだから
>>906 はたしてVBAで破綻のない体系を本当に作れているのか。
このスレ読んでいると心配で。
作れてなかったら今頃潰れてます
ピボ厨に指摘されるまでは集計プログラムくらい簡単に作れると思っていたやつが多いんじゃない? もちろん簡単なんだけど、VBA厨には無理だったよね。
>>777 用にちょっとした計算置いときますね
(A1からE5を重複を除いてF列に昇順で並びかえ)
Sub おっぱい()
Dim ぶらじゃ As Integer, ぱんつ As Integer, おしり As Integer
おしり = 1
Columns(6).ClearContents
For ぶらじゃ = 1 To 5
For ぱんつ = 1 To 5
If Application.WorksheetFunction. _
CountIf(Cells(1, 6).Resize(おしり), Cells(ぶらじゃ, ぱんつ)) = 0 Then
Cells(おしり, 6) = Cells(ぶらじゃ, ぱんつ)
おしり = おしり + 1
End If
Next ぱんつ
Next ぶらじゃ
Columns(6).Sort Key1:=Columns(6), _
Order1:=xlAscending, Header:=xlNo, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin
End Sub
ピボット厨は集計でVBAより優位に立てて満足しましたか?
ピボットは、ピボット厨の想定する範囲と条件上での集計ではVBAより遙かに優位 それは間違い有りません
916 :
名無しさん@そうだ選挙にいこう :2009/02/08(日) 00:17:37
神様!ヘルプ! Excelマクロでテキストデータを読み込んで、 50行あるテキストの中の15行目だけを 抜き出して指定のセルに入力したいのですが テキストの「15行目だけを抜き出す」ところが わかりません。 ご教示下さい!
ピボットなんてまともに使えるようになったのはExcel2002からだな。 2000のころはすぐアイテム数がなんたらかんたらで蹴られてた。 おれは長いこと2000使ってたので、なんでみんなこんなもの使うんだろうと思ってた。 2002を使うようになって初めて納得したけどね。
>>917 条件が悪いと、それは正規化されてないデータが悪いと散々聞かされております
>>916 全部読み込んでrowの50だけコピーしてみては
>>919 そこが重要なとこで一番主張したいとこなんだよ。
悪いデータのままVBAでごまかすのは本当の解決ではない。
つまり、自分の認める解法しか許さないわけですね。 正規化されてないからといって結果に間違いが生じるわけでもないのに。
>>920 ありがとうございます。
他のセルにはすでにデータが入っている条件下で
指定のセルのみにテキストデータを反映したいのです。
>>923 間違ってただろうがよ。
>>922 できなくもないが、外部データの読み込みだけで解決するだろ。
8日で1スレ消化って・・・早! 今まで無かったコトだよな 春休みでもないのに
>>925 他人の失敗まで責任持てないがな
それ言い出したら、ピボットだって間違ったことやってる奴は幾らでもいるし
ちなみに
>>14 は俺ですが
VBAもピボットもまったく使えません
使えないから
>>14 みたいな方法でしか答えられなかったのです
>>927 結構ググったんですが、検索ワード次第で
思った答えが全く得られない事もあるんですね。
ありがとうございました。
>>930 君には興味ない。
それとあの小数点位置あわせにも興味ない。
有効数字を正しく表現できるのは指数表示だけ。
>>924 詳しい人ならそれなりのやり方があるだろうけど
俺なら作業シートに読み込むかOpenTextで開くかしてから15行目をコピペだな
簡単だし
で、集計はピボット優位
正規化含めたそれ以外のすべては関数+VBA
でいいのか
>>933 そのほうがはやいよねぇ
935 :
名無しさん@そうだ選挙にいこう :2009/02/08(日) 00:43:19
おしえてください、お願いします! ブックAのシート1のA1にブックBのシート1のA1からA5を、足した結果をだしたい場合、どの様に入力すればよいですか? どうかおしえてください。お願いします。
=SUM([ブックB]Sheet1!A1:A5) だとかこんなかんじでいーんじゃないの?
>>934 複数の話を一度に書くな。
返事しにくい。
逆に聞いてみたいけど 「これはピボットではできない!無理だーまいった!ぎゃふん!」 っていうのはどんな時? またその時にVBAもぎゃふん?
>>939 正規化されていないデータの集計以外全て
>>937 気持ち悪いVBA厨だな。
まあできるけどな。
データの形式と出力位置をちょっと譲歩してもらう必要はあるけど。
でも
>>936 の方がおすすめ。
正規化されてないデータをVBAで集計するのは不適切って言うけどさ VBAでデータを正規化すること自体は否定してないよね? で、VBAでデータを正規化出来るスキルがあれば、 正規化されてないデータをVBAで正しく集計できることは理解できる? そして、VBAでは正規化だけやってピボットで集計した方が良い場合もあれば、 VBAで集計までやっちゃった方が手っ取り早い場合もあるってことには気付けないのかな? データの正規化にVBA使うのも否で、正規化は手動でちまちまやるべきだというなら意見は反するが矛盾はしてない しかし雑多なデータの正規化にVBA使ってもいいのに、雑多なデータの集計にVBA使うのは不適切ってのは矛盾してる
>>939 ちゃんと読んでるか?
ピボットテーブルはクロス集計ができるの。それだけ。
ストレート集計やフック集計やアッパー集計はできませんか?
>>943 正規化されていないデータは存在自体否定してるからな
存在しないから解決する必要もない
>>943 VBAによる正規化を否定はしていない。自分もやってる。
>で、VBAでデータを正規化出来るスキルがあれば、
>正規化されてないデータをVBAで正しく集計できることは理解できる?
これは理解できない。例え正規化されていても正しく集計されているかどうやってわかる?
トリじゃ弱いな、節穴しろよ
ところで何でピボットテーブルはピボットテーブルって言うの? クロス集計ウィザードとかにした方が分かり易かったのに
>>933 >作業シートに読み込む
これでやったら本当に簡単にできました。
ありがとうございました。
このスレは後にExcel総合相談所史上最悪の黒歴史として語り継がれるのであった
>>954 VBA厨がピボ神に屈服した日
というわけか。
1日で300も伸ばしやがって、読むほうの気にもなれよw
>>955 VBA厨がピボ神に屈服した日
と思い込んで精神安定を図りながら、ピボ厨が敗走した日
ピボット厨は本気でVBAを目の敵にしてそうで怖いんだけど ネタだよな?
>>960 心外な!
「ピボット厨が」じゃなくて、「特定のピボット厨が」だから
>>960 目の敵というか、バカだと思っている。本気で。
1日で伸びた分やっと読み終わったけど、 今日登場したピボ厨はもしかして1人なの? マジで知りたい、そして違うと言ってほしい
>>948 ピボットと一緒だよ
ピボットが正しく集計されるのは、ピボットが体系として正しいからでしょ
VBAも同じで体系として正しければ良いだけの話
毎度のことではなく体系を作る最初だけの話なので、
ここでは手間食ってもかまわないから、きちんと検証しておく
ピボットだってそういう課程を得て確立された体系のひとつだし
>>963 まじめに回答すると自分がピボ厨なんで、自分以外にもいるのは間違いない。
つまり少なく見積もって2人だね。
>>962 一応聞くけどVBAは使える?仕事はしてるの?どんな職種?
ちなみに俺は経理事務。VBAとアクセスを主に使ってる
>>964 なんだ。自分でもう一度ピボット作ってみたい人ですか。
969 :
名無し変更議論中@詳しくは自治スレへ :2009/02/08(日) 01:30:37
>>936 935だが教えられたようにやってみたのですができませんでした。。。
すみません、詳しい方ご教授ねがいます。
>>965 俺がわざとVBA厨を煽ってるだけだから君一人だよ。
>>969 ブックAとブックBを同時に開く
ブックAのA1に =sum( と打ち込んで、ブックBの足したい範囲をドラッグする
後はenter
>>971 バカバカしい。やっぱりVBA厨はバカだな。
>>971 おお同志!
俺が煽ってたのはピボット厨だけどw
>>971 君はきっとVBA厨なんだろう?
そんな薄弱なロジックではプログラミングは無理だよ。
>>968 そうだよ
より自由になるVBAでピボットを作りたい
ピボットがオープンアドインだったらそこに手を加えるんだが
それが出来ないので1からVBAでピボット作って、それを更に発展させてる
ピボット使ってる人たちってExcelのバージョンはいつから使ってるの?
>>977 それはご苦労さん。
私なら素直にデータを正規化してピボットで処理するけどね。
>>977 またそんな燃料投下して
.netとかC++で作れよ
スレ立て頼む立てられなかった
誰か次ぎスレぷりーず
>>977 で、何を目的としてそんなもの作ったの?
1スレ1週間未満てどんだけ
>>977 君は目的も無しにそんなものを作ったのかい?
まさに再発明だな。
しかもVBAで。
なんでVBAを選んだの?
>>986 再発明ってのは付加価値が無い場合に用いられる表現なのを覚えておこう。
なんとか食い縋ろうとするピボ厨哀れ
逆に見えるなあ。 みんながピボット覚えちゃうと自分だけが知ってるって優越感がなくなるから ピボット派は親切にちゃんと教えようとしないんでしょ?
992 :
名無し変更議論中@詳しくは自治スレへ :2009/02/08(日) 02:14:57
でもVBA厨はピボットの使い方くらい知ってるけどな
端から見てるとピボット厨がフルボッコされてるようにしか見えない
はいはいw
埋め
梅
宇目
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。