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

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

Excel総合相談所 106

1 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 13:32:29.34
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━
Excel VBA 質問スレ Part26
http://toro.2ch.net/test/read.cgi/tech/1345363310/
VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://toro.2ch.net/test/read.cgi/bsoft/1151651536/
Access VBA 質問スレ Part1
http://toro.2ch.net/test/read.cgi/tech/1328536426/
VBプログラマ質問スレ(Ver.6.0 まで) part60
http://toro.2ch.net/test/read.cgi/tech/1351327234/

▼━前スレ━━━━━━━━━━━━━
Excel総合相談所 105
http://toro.2ch.net/test/read.cgi/bsoft/1346498940/

2 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 13:32:51.36
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 13:33:09.64
★ルールを無視すると…
 >>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 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 13:33:42.40
★ 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 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 13:34:01.21
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

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

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

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

7 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 20:23:23.54
おつ!

8 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 22:42:08.25
おい糞共。Excel2013での変更点を教えろ下さい。
VBAは変更なし(できない)らしいけど、通常機能は変更あるの?

9 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 22:47:58.35
http://office.microsoft.com/ja-jp/excel-help/HA102752955.aspx?CTT=5&origin=HA102809308

見ればワークシート関数の変更点くらいは把握できるけどその他はどうなん?
ウンコの絞り粕みたいなもんテンプレにしてるお前らなら知ってるんだろ?

10 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 22:49:11.90
つかこのテンプレまじで終わってんな。
すげーなw

11 :名無しさん@そうだ選挙にいこう:2012/11/15(木) 23:19:02.18
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

保存していたファイルを開け 作業しようとしたら
作業ウインドウ?のサイズが変えれなくなってしまいました
小さくなってしまっています
現象が起きるのはそのファイルだけです
1番外側の サイズを変えるマークや×印は出ていますが
内側の作業ウインドウ?から そのマークが消えてしまっており
ウインドウの端にマウスを持っていっても
サイズを変えるための矢印も出ず また動かすこともできません

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

12 :名無しさん@そうだ選挙にいこう:2012/11/16(金) 01:56:06.41
>>11
スクショ見せて
シートの中身は塗りつぶしていいから

13 :名無しさん@そうだ選挙にいこう:2012/11/16(金) 02:23:36.44
何もかも再起動

14 :名無しさん@そうだ選挙にいこう:2012/11/16(金) 18:17:35.16
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問です。
どちらか一方だけでも回答いただけるとありがたいです。

・if文中にワイルドカードって使用できますか?
セルA1に「windows7」、セルB2に「=IF(A1="windows*",1,0)」と入力しても、
ワイルドカードが機能していないらしく、B2には0と表示されます。
if文でワイルドカードは使えないのでしょうか?

・セルA1に「5」、セルB1に「2」などの数字が入っていたとして、
セルD1に、C列のセルA1+B1行を表示させることはできますでしょうか?
要するにこの場合はC(A1+B1)でセルC7をセルD1に表示させたいです。
=C(A1+B1)とかと書いてもエラーになりますし、調べてもいまいちやり方が分からず困っています。

15 :名無しさん@そうだ選挙にいこう:2012/11/16(金) 18:27:21.08
>>14
>・if文中にワイルドカードって使用できますか?
IF関数の論理式にはワイルドカードは使えないので他のワイルドカードが使用できる関数と組み合わせればいい

>・セルA1に「5」、セルB1に「2」などの数字が…
INDIRECT関数

16 :名無しさん@そうだ選挙にいこう:2012/11/17(土) 12:14:16.55
COUNTIFあればDCOUNT必要ないと思いませんか?

17 :名無しさん@そうだ選挙にいこう:2012/11/17(土) 12:58:41.49
WindowsXPで2003を使っています
一番細かいものは実線になってしまい二番目の点線はまだ太く感じます
点線を細くすることは出来ませんか

18 :名無しさん@そうだ選挙にいこう:2012/11/17(土) 13:52:09.34
>>17
罫線を細くするのは無理なので図形の挿入で直線を並べてください

19 :名無しさん@そうだ選挙にいこう:2012/11/17(土) 14:10:13.48
>>11
たまによくあるな。原因は不明。バグでしょう
中身を保護したければOOoなどで開いて保存、またはコピーして保存するとよろしい
どうでもいいファイルなら、さっさと諦めると良い
>>14
サーチ関数だかファインド関数で
>>16
http://excel.onushi.com/function/dcount.htm
複数条件を指定できるみたい
COUNTIFSなら同じような機能だね
ただし正規化してなくても使えるのでCOUNTIFSの方が便利なような
>>17
ペイントでかいた点線を図をして貼り付けるか、
カメラ機能を使って縮小でもするか
諦めたほうが速いと思います

20 :名無しさん@そうだ選挙にいこう:2012/11/17(土) 17:18:03.57
>>16
DCOUNTに限らず、データベース関数(D関数)と呼ばれる一連の関数は
現状の2007/2010あたりではほとんど使う必要ない
古いバージョンで作成したデータとの互換のために残してあるだけ

21 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 02:01:31.90
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

不足数.xlsxと日程表.xlsxがあります。
ttp://uproda.2ch-library.com/602047uMX/lib602047.jpg
ttp://uproda.2ch-library.com/602051ZgN/lib602051.jpg

日程表.xlsxには、日付ごとに生産台数を書き、その合計がAH列になります。
不足数.xlsxのC列には、在庫から使用数(型名ごとに使われる数*生産台数の合計)を
引いたものが書かれています。D列以降の型名や使用数は、C列の不足数が0未満になると
追記されるようになっており、固定ではありません。画像は、型名5までの表になっていますが、
最大で型名12までになる可能性があります。

生産台数が累積されると、それに使われる部品(不足数.xlsxのA列にある品番)が減るため、
生産に支障をきたす型名があればセルを黄色に塗りたいです。同じ日に、ある型名には
不足なしで別の型名には不足となる場合が出たら、両方が塗られます。
ttp://uproda.2ch-library.com/602056evM/lib602056.jpg
ttp://uproda.2ch-library.com/602055ZD1/lib602055.jpg

よろしくお願いします。

22 :21:2012/11/18(日) 02:11:51.19
対象となるシートは、これらです。
Set FSK = Workbooks("不足数.xlsx").Worksheets("部品別")
Set SDL = Workbooks("日程表.xlsx").Worksheets("11月")

23 :21:2012/11/18(日) 02:13:15.52
何度もすみません。
不足数.xlsx、日程表.xlsxとは別のブックにマクロを書きます。

24 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 04:32:19.04
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(この機会に覚えようかなと)

A列は数字、B列は文字、C列は数字、D列、E列は数字が入力されています。

  A    B    C    D   E
1 100  リンゴ  10   10   20
2 100  リンゴ  11   12   20
3 200  ミカン  13   13   30
4 200  リンゴ  13   13   30
5 300  ミカン  14   14   40
6 400  ミカン  14   14   50
7 500  リンゴ  15   15   60
8 500  ミカン  16   16   60
9 600  リンゴ  17   17   60

25 :24:2012/11/18(日) 04:32:50.21
このような入力があった場合
@同一行のC列とD列は一緒の数字でなければならない
・C2D2が違っているのでC2D2のセルを赤くする

A他の行とB列の文字が違う場合はC列D列も違わなければならない
・B3とB4の文字が違っているのにC3D3、C4D4が一緒なのでC3D3、C4D4のセルを赤くする

B他の行とA列の数字が違う場合はC列D列も違わなければならない
・A5とA6の数字が違っているのにC5D5、C6D6が一緒なのでC5D5、C6D6のセルを赤くする

C他の行とA列の数字が違う場合はE列の数字も違わなければならない
・A7とA9の数字が違っているのにE7E9が一緒なのでセルを赤くする

D他の行とB列の文字が違う場合はE列の数字は基本的に違わなければならない
・B7とB8の文字が違っているのにE7E8が一緒なのでセルを黄色くする

複数の条件が絡んでいるので、どのようにしたら良いのかわかりません。ご教授願います
因みに、別なソフトで組んだデータが自動でexcelファイル化されます。
これをコピペする形になるかと思うので、コピペしても大丈夫な(条件式が消えない)感じになれば尚良いです。

26 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 08:39:53.67
>>24
設定中にある「他の行」の定義が不明なので、
その説明ではどうにもできません。
たとえば「一個上の行」とか、
「対象行より上にあるB列が同じで一番近い行」とか、
きちんと特定できる条件が必要です。

27 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 09:37:38.09
excelでどうやるのか?と考える前に
データを整理することを考えるべき

28 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 10:33:37.21
>>24
つくってみた
ttp://www.dotup.org/uploda/www.dotup.org3634570.xlsx.html

CのE7は、E8との比較で条件に合致しないのでフラグは立ててない。E9のみフラグ。
DのE7も同様。

29 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 17:01:22.37
Excelを自習するために
ダミーデータが大量にはいったデータベースってどこかで手に入りませんか?
フィルター機能、日付処理、シート処理、ブック処理、その他いろいろ含め、いろんな作業を実体験したいから
数千、数万行もエントリーのある巨大データベースが欲しい。
中身はなんでもよい。
>>24みたいなデータの超巨大版みたいな感じね。

30 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 17:14:54.15
自分で作れ

31 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 17:18:23.52
無料CSVデータ
http://valvallow.blogspot.jp/2010/04/csv.html

32 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 17:38:51.02
>>21
どの製品を優先して作るか、の情報がないと作れない
仮にその情報があったとしてもそれはかなりめんどい作業なので誰もやってくれないだろう。

自分が黄色に塗るという作業。その工程を丁寧にプログラムとして書けば自然と出来上がる。

わからないところがあったら教えてあげる。
あと個人的にsetは間違いのもとになりやすいので使わないようにしてるわ。

33 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 17:49:00.58
>>32
シートやブックを処理するときってむしろ積極的にSetで指定しないの?
Activesheetとかを暗示的に利用するほうが間違いのもとっていうかバグの元だと思うんだが。

34 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 18:03:18.75
>>33
別ブックにマクロを書かざるを得ないならsetでもなんでもいいと思う
が、マクロは同じブックに書きたい所。
落ちてたり閉じてたり名前が変わってる状態だと処理が中途半端になってだるい事が起こりえるからね。
sheets(hoge).selectは使うけどActivesheetはあんまり使わない。
>>29
ダミーデータ csv 辺りでぐぐればいっぱい出てくる

35 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 18:12:57.04
>>29
>>24みたいなデータならVBAで簡単に作れるだろ

36 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 19:19:31.92
>>29
一応公的っぽいところでダウンロードできるデータ例

国勢調査
http://www.e-stat.go.jp/estat/html/kokusei/NewList-000001039448.html
郵便番号データベース
http://www.post.japanpost.jp/zipcode/download.html
農林水産省農薬登録情報
http://www.acis.famic.go.jp/ddata/index2.htm
放射線モニタリング情報
http://radioactivity.mext.go.jp/map/ja/download.html

37 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 22:23:24.93
windows7 sp1 x64 HP
エクセル2000
たとえば
ttp://www.enecho.meti.go.jp/info/statistics/sekiyukakaku/sekiyukakaku1.htm
でエクセルファイルをクリックすると
「webサイトで、このプログラムを使ってwebコンテンツを開こうとしています」と出る。
許可しないボタンを押す。
許可しない押したのにエクセルが起動するぞ!?

これってエクセル2000とゆうふるいの使ってるから起動してしまう問題があるの?

38 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 22:44:58.14
>>37
ブラウザの問題じゃねーの?

39 :21:2012/11/18(日) 23:09:50.90
>>32
優先させる製品はなく、その日に複数の製品があれば両者とも対象にします。
塗り方が間違ってたので訂正です。
ttp://uproda.2ch-library.com/602056evM/lib602056.jpg
ttp://uproda.2ch-library.com/602414re7/lib602414.jpg

40 :21:2012/11/18(日) 23:11:08.12
塗り方の手順を書いてみました。

不足数.xlsxのA列を見る
123-1がある(空白セルがない)
123-1の行に書かれてる型名を見る
型名A02、使用数1、不足数-35
日程表.xlsxのA列にあるA02を探す
月末から遡って、計画の行にある数値を探す
K列に20がある
必要数=20台*使用数1=20
不足数-35なのでK列の20は対象と判断しセルを黄色くする
K列の20が無くなれば不足数は-15になる
月末から遡って、計画の行にある数値を探す
I列に20がある
必要数=20台*使用数1=20
不足数-15なのでK列の20は対象と判断しセルを黄色くする
I列の20が無くなれば不足数は+5になる
不足数が0以上になったのでループを抜ける

不足数.xlsxのA列を見る
125-1がある(空白セルがない)
125-1の行に書かれてる型名を見る
型名A01、使用数2、型名A02、使用数1、型名C01、使用数1、不足数-22
日程表.xlsxのA列にあるA01、A02、C01を探す
月末から遡って、計画の行にある数値を探す
K列にA02の20がある
必要数=20台*使用数1=20
不足数-22なのでK列A02の10は対象と判断しセルを黄色くする
K列A02の20が無くなれば不足数は-2になる
月末から遡って、計画の行にある数値を探す
J列にA01の10とC01の10がある
必要数=10台*使用数2+10台*使用数1=30

41 :21:2012/11/18(日) 23:11:51.20
不足数-2なのでJ列A01の10とJ列C01の10は対象と判断しセルを黄色くする
J列A01の10とJ列C01の10が無くなれば不足数は+28になる
不足数が0以上になったのでループを抜ける

不足数.xlsxのA列を見る
201-1がある(空白セルがない)
201-1の行に書かれてる型名を見る
型名A01、使用数2、型名B01、使用数3、型名C01、使用数1、不足数-33
日程表.xlsxのA列にあるA01、B01、C01を探す
月末から遡って、計画の行にある数値を探す
J列にA01の10とC01の10がある
必要数=10台*使用数2+10台*使用数1=30
不足数-33なのでJ列A01の10とC01の10は対象と判断しセルを黄色くする
J列A01の10とC01の10が無くなれば不足数は-3になる
月末から遡って、計画の行にある数値を探す
H列にC01の30がある
必要数=30台*使用数1=30
不足数-3なのでH列C01の30は対象と判断しセルを黄色くする
H列C01の30が無くなれば不足数は+27になる
不足数が0以上になったのでループを抜ける

不足数.xlsxのA列を見る
空白セルなのでループを抜ける

42 :名無しさん@そうだ選挙にいこう:2012/11/18(日) 23:13:02.30
おい いいかげんにしろw

43 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 00:09:47.19
>>21
んで質問は何なの???

44 :24:2012/11/19(月) 03:18:15.34
>>26
説明不足でした
他の行=全ての行です

>>27
製品を処理する条件を作成するソフトで算出されたデータをエクセル化して
加工者が処理条件をチェックするシートになるので整理は厳しいかと
A行はガスの流量、B行はガスの種類、C行D行は開けるバルブ(C行はボンベ側でD行は装置側)、
E行はガス流量に応じた補正値となっています。

(私を含めた)条件を作成する人はデータに間違いが無いように目視チェックしているのですが、
どうしてもチェック漏れがあったりします。
納期がキツい製品でチェック漏れがあると土日や夜でも出社して対応せねばならないので、
少しでもそういうのが無くなれば・・・と

>>28
ありがとうございます。物凄く参考になりました♪
これを元にチェックツールを作成してみます。

45 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 07:59:34.19
だからまず元データ整理しろってw 頭の中も整理しろw

46 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 18:55:09.24
>>29
マルチポストすんな人間のクズ。

47 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 21:52:22.93
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

折れ線グラフを分割したいのですが出来ますか?イメージとしては

 ・----・----・----・
     系列1
この系列1を分割して
 ・----・   ・----・
 系列1    系列2

という風にしたいです。

48 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 22:16:37.29
>>47
参照データを2つにするんじゃダメなん?
誰かエスパー頼む

49 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 22:18:17.47
>>47
縦軸の値が欠損(ない)場合も、横軸の値は指定すればいい。
たとえば、
x , y
1 , 3
2 , 5
3 ,
4 , 2
5 , 4
のようにデータを用意する(この場合、横軸の値が3の時に
縦軸の値がない)。

50 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 22:28:21.85
>>47
>>49でok。

散布図で2系列にしても、同じように納得する折れ線グラフができるよ。

51 :21:2012/11/19(月) 22:28:51.59
>>43
マクロでやりたいです。

途中まで書いてみました。
変数に入れるところまでは何とかいったっぽいですが、行き詰ってます。

Sub test1()
  Dim FSK, SDL, iEND, i1, j1, i2, j2, MDL(36), QTY(37), iMDL
  Set FSK = Workbooks("不足数.xlsx").Worksheets("部品別")
  Set SDL = Workbooks("日程表.xlsx").Worksheets("11月")
  iEND = FSK.Range("A1048576").End(xlUp).Row
  i1 = 2
  Do While FSK.Cells(i1, "A") <> ""
    j1 = 4
    FSK = FSK.Cells(i1, "C")
    Do While FSK.Cells(i1, j1) <> ""
      MDL(j1) = FSK.Cells(i1, j1)
      QTY(j1 + 1) = FSK.Cells(i1, j1 + 1)
      j1 = j1 + 2
    Loop
    
    'ここがワカラン・・・
    
    For K = 0 To j1
      MDL(K) = ""
      QTY(K) = ""
    Next K
  Loop
End Sub

52 :名無しさん@そうだ選挙にいこう:2012/11/19(月) 22:35:57.44
>>48-50
ありがとうございます。やってみます。

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

回帰分析を行ってデータから実際値と計算値の折れ線グラフを作成したいんですがどうしてもグラフの作成の仕方がわかれません。教えていただけないでしょうか。

54 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 08:14:56.90
Excelで散布図か折れ線を一度も描いたことないの?

グラフが分からないんじゃなくて、回帰分析を行った結果の
データ作成が分からないいんじゃないの?

55 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 08:29:30.49
>>54
Excel初心者なもので…。
もとのデータと回帰分析で出した結果のデータ2本の折れ線グラフにしたいんですけどデータの結果の作成ってことになるんですかね?

56 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 09:22:09.49
>>53
2003ならグラフウィザードがあるでしょ
まずはそれに従って作ればいいだけじゃないの?
で、その手順の中でどこがどうわかんないの?
もうちょっと具体的に質問できないかな・・・

57 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 10:07:15.59
>>54
超初歩の質問になるけど、たとえば、xとyの値が
x,y
1,10
2,13
3,17
4,12
というようなデータがあったとき、折れ線あるいは散布図を描く方法は
しっているの?

58 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 10:09:02.33
>>57
それは知っているということなら、
回帰分析の結果データの作成がわからないという質問に帰結する。

59 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 14:41:33.59
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Aの欄 Bの欄に(160-30)/1.016/0.09/1000 Cの欄にBの回答が来る式を教えて下さい。

60 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 15:32:10.45
>>59
Cに
=(160-30)/1.016/0.09/1000

61 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 15:53:14.31
>>60
>>60
ありがとうございます。
Aの数字が200くらいパターンがある場合ってどうするんですか?
説明不足でした、Aは200くらいの数字がある160〜200まで入れます(順番はランダム)。
Bの計算式は表に出るようにAに160って入れたらBに(160-30/)/1.016/0.09/1000って入って
Cにその1.42(切り捨て)って入るようにしたいんです。

62 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 17:16:11.55
>>56
うまく質問できずにすみません…。
回帰分析の結果、回帰統計、分散分析表等がいろいろ出てきましたが、どの数値をグラフウィザードのデータ範囲に入力すればいいかわかりません。なんどもすみません…。

63 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 17:18:13.67
>>58
それは一応できるので回帰分析の結果データができないとゆうことになります…。

64 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 17:21:44.40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
ドロップダウンメニューを作る際に、
 A    B
1商品A  棚A
2      棚B
3      棚C
4商品B  鉛筆A
5      鉛筆B
6      鉛筆C
C1で「商品A」「商品B」を選べるドロップダウンを用意して、
C2に「C1で商品Aを選んだら、棚A〜C」「C1で商品Bを選んだら鉛筆A〜C」という
ドロップダウンメニュー(メニュー位置はC2固定です)にする方法は、VBを使わないでないでしょうか?

65 :64:2012/11/20(火) 17:30:08.63
自己解決しました。
データの入力規則にIF文が使えるんですね。

66 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 17:56:41.89
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

http://uproda.2ch-library.com/lib603102.jpg.shtml

画像のように、表1、2、3・・・の合計値(黄色)を
E1セル(水色)以下に値を返すには
E1セルにどのような数式を入力すればよいのでしょうか

よろしくお願いします

67 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 18:10:51.15
>>66
表の行数が6行固定なら
=Indirect("c"&row()*6,true)

68 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 19:37:51.06
>>67
大変助かりました
ありがとうございました

69 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 19:50:00.55
【1 OSの種類         .】Windows7
【2 Excelのバージョン   】Excel2010
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否

会社相互間の売上がいくらか集計したいのですがどうすればいいでしょうか。
元のデータはA社がB社へ100円売上、B社がA社へ200円売上、C社がB社へ500円売上・・
という具合です。これでAB社間の売上が300円という結果を表示したいのです。

ピボットテーブルで列と行をそれぞれ売り手と買い手にして(?)その交わるところに
300円(AB社間の売上合計)と表示できればベストなのですが。

ピボットテーブルでそのようなことはできるのでしょうか。
ご解答よろしくお願いします。

70 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 20:47:18.49
>>69
つくってみた
ttp://www.dotup.org/uploda/www.dotup.org3644049.xlsx.html

71 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 22:13:26.16
>>61
たとえばA5に160〜200の数字があるときに、
B5に
="(" & A5 & "-30)/1.016/0.09/1000"
C5に
=rounddown((A5-30)/1.016/0.09/1000,2)

72 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 22:16:16.24
あ For i=
い   For j=
う     For k=
え      If

「え」で合致したとき、Forを2つ抜けて「あ」に戻るにはどう書けばいいの?

73 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 22:34:02.87
>>72
何と何が合致したとき?

74 :名無しさん@そうだ選挙にいこう:2012/11/20(火) 22:48:30.84
「あ」に対応するNextの直前にラベルつけてGotoするしかないんじゃないかな

75 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 00:07:15.52
Exit For * 2 でいいんじゃね?w

76 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 00:25:41.03
>>72
「い」のループを抜けたいわけじゃなくて「あ」に戻りたいの?

77 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 00:26:50.76
>>74
どもw

これ↓だとダメなのね・・・
123
 For i=
   For j=
     For k=
       If
       GoTo 123

78 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 00:42:25.24
>>77
いや>>76もちょっと書いてるが『「あ」に戻る』の意味によってはそっちが正解かもしれない
Forを2つ抜けると書いてるから>>74だと思うのが普通だが

79 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 00:45:59.73
>>72
Sub a()
Dim x
x = 0
For c = 1 To 10
For d = 1 To 10
For e = 1 To 10

x = e
If e = 3 Then
Exit For
End If

Next

If e = 3 Then
Exit For

End If
Next

Next
End Sub
グローバルっぽい変数を用意しておいて、それで評価すればok
この場合は3周目に二段抜けてる(はず
ただどう考えても見難いので、素直にgoto使うかwhileで何とかしたほうがいいと思う。
>>75
全然おもしろくない。せめて最期のwは抜いて欲しい。

80 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 01:57:23.09
For からGotoで抜けるのは感心しない
特定の条件でループから抜けたい時はDo Loopを使え

81 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 02:13:21.41
ネストされたループから2段階以上抜けるのにGoto使うのは美しくはないがやむをえないと思う
そうでなければIf 〜 Exit For にせよDo Loopにせよ同じ条件を複数回書くことが必要になり
メンテの際にバグを生みやすいのでそのほうがよほど感心できない

82 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 07:00:03.83
2つfor抜けるのなら最終条件満たした時点でフラグ立ててそれで毎forごとにifフラグthen exit forかなあ。

83 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 09:48:27.68
>>63
ダイアログで残差をチェックすれば
残差の表がでる。
その表に予測値と残差が出る。
入力元のデータと予測値でグラフ作成すればできるよ。

84 :83:2012/11/21(水) 09:51:21.62
そういえば、その時グラフも一緒に出ますわ

85 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 11:35:10.83
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

右の列(B列)を参照して左の列(A列)の書式を設定したいです。
B列の数字の値が0の場合、A列の書式を「太字・字を赤」
B列の数字の値が1の場合、A列の書式を「斜字・字を緑」
という風にしたいのですが、どうすればよいのでしょうか?

86 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 12:26:43.23
>>85
条件付き書式

87 :85:2012/11/21(水) 12:33:38.02
>>86
A1の書式設定でB1をどうやって参照すればよいですか?

88 :86じゃないが。:2012/11/21(水) 13:54:34.04
>>87
条件付き書式設定→数式を使用〜→
条件1
=B1=0
書式設定→太字 字→赤
条件2
=B1=1
書式設定→斜字 字→緑

と各々設定すれば良い。

89 :85:2012/11/21(水) 15:36:21.98
ありがとう。できました。

90 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 16:34:12.33
表をテーブルに変換することでどんなメリットがあるの?いまいち判らん

91 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 16:44:21.19
>>90
「表をテーブルに変換するメリット」でググれ

92 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 16:57:35.19
表とテーブルはどう違うの?

93 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 19:44:25.51
なかなかVBAの超入門から抜けきれない・・・
それはそうと菅野の巨人入りを断固として許すな、肘壊れろ
当然ここまでわがままこねたんだからまさかFAしたりトライアウト受けたりしないよな
VBAは覚えるコツとしてはこれを覚えたら大丈夫てコツはあるのか
ホント大卒の肩書きなんて社会じゃほぼ無意味だからな
重視されるのは経験な
俺は高卒で世間的には低学歴かもしれないが、フランスに渡米した経験を活かして
今は充実した仕事してるよ
お前らも壁作って自分の世界に閉じ込もって無いで
今しかできない「経験」しといて経験値積んどけ

94 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 20:15:25.20
>>90
テーブル内で数式を使う列がある場合、オートフィルしなくても最下行にデータを入力したら自動で数式列に数式が入る。

VLOOKUPなどでテーブルを参照する場合、構造化参照が使えて便利。参照先のデータが増えても自動で対応される。
たとえば=VLOOKUP([@管理番号],管理表[#すべて],2)みたいな感じ。範囲じゃなく列名で指定できる。
「構造化参照」でググったらすぐわかる。

あとは、テーブルにスタイル設定して簡単に見栄え良くできるとか。

95 :51:2012/11/21(水) 20:27:38.74
誰もカマッテくれないから、なんとか自分で書きました。
どうにか動くので、とりあえずヨシとしたいんですが、
いくつが疑問があるので教えてください。

Q1 MDL(j1) = FSK.Cells(i1, j1)でエラーが出ました。
   どうやら、Dim MDL(36)と書いたものの36を超えたときに
   エラーになるっぽいです。そこで、思い切ってMDL(100)とかに
   増やしておいたとき、何かマズーなことがありますか?

Q2 配列変数を調べたら、0から始まるっぽいんですが、
   実際にはMDL(4)、MDL(6)、MDL(8)・・・って使います。
   これも何かマズーなことがありますか?

Q3 配列変数の中身をクリアするのに、
   For K = 0 To j1
    MDL(K) = ""
    QTY(K) = ""
   Next K
   と書きましたが、正規の?やり方があれば教えてください。

96 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 21:16:39.32
>>91,94

ありがと。
いろいろ便利にはなりそうな感じ?
ちょっといじって確かめてみますm(__)m

97 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 21:27:39.89
>>95
Q1 マズくはないがウマくもない。最大値の予測はつかんのか?
宣言された配列の大きさを超えたときのLoop条件が無いのは根本的な問題。
配列の大きさが可変ならReDimもあるが最大値が100以下と予測できる
ならMDL(100)宣言のほうが効率が良い。

Q2 好きにすれば。
0から始まるのが気に入らないなら Option Base 1 で
1から開始に変更することもできる。(ほとんど必要無いが)

Q3 Erase MDL

98 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 22:02:36.09
>>95
0から始まるけど、使うときは1から使ってる(要は0は枠だけあって使わない)。
uboundがそのままサイズになるし、値が1つしかないときに配列で返さない関数の
場合であっても、配列として納められるので、配列か単なる数値(あるいは文字列)かを
意識しなくても済むので。

ちなみに、私、素人ですので、その使い方が良いかどうかわわからん。

99 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 22:28:58.19
使わない領域を確保するのはバグの元
使わない想定の領域を誤って使ってしまったりする可能性もあるし
ソースなんて自分で組んだものでも3日もすれば忘れちゃうし
他人が見る可能性があるならなおさら意味不明な状態に陥る

100 :51:2012/11/21(水) 23:10:23.56
>>97-98
ありがとうございます。
テレビ見てたので遅くなっちゃったw

101 :51:2012/11/21(水) 23:24:20.42
あ、も一つ質問
FSK.Range(FSK.Cells(i1, j1), FSK.Cells(i1, j1 + 1)).Delete Shift:=xlToLeft
これ↑をシンプルな書き方にできますか?

Resizeの使い方がダメぽなのか、↓ではダメでした・・・
FSK.Cells(i1, j1).Resize(0, 1).Delete Shift:=xlToLeft

102 :名無しさん@そうだ選挙にいこう:2012/11/21(水) 23:35:10.89
>>101
質問内容を見てて気になったんだけど、何で勉強してるん?
本にしろ初心者向けのサイトにしろ、それなりの手順を追って勉強したら動的配列やセルの基本操作ぐらいは
必須な内容だと思うよ。
理解できるとこだけつまみ食いしながら勉強してるなら一度初心者用の本等の手順通りに勉強した方が良いと思うよ。

疑問点をまず検索して調べる事が苦にならない人なら本無しでも勉強できると思うけどあなたの質問内容を見る限り、
本か何かに頼るべきだと思った。
特に>>21の内容とか生産管理的なもんでしょ。凝りだしたらきりがないぐらい奥の深いもんだと思うし。

103 :51:2012/11/21(水) 23:51:59.47
で? 何が言いたいの?

104 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 00:09:25.14
>>101
簡単なテストコードを実行してヘルプを読むと理解が早い
Debug.Print Cells(2, 2).Resize(0, 1).Address
Debug.Print Cells(2, 2).Resize(1, 1).Address
Debug.Print Cells(2, 2).Resize(1, 2).Address
Debug.Print Cells(2, 2).Resize(, 1).Address
Debug.Print Cells(2, 2).Resize(, 2).Address
最初の行はダメサンプルね

105 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 00:19:18.79
>>95
だからめんどくさいから誰もやらないよって言ったでしょ
Q1 ない。メモリを多く使うぐらい。ただしあまりメモリを使いすぎるとバグったり落ちたりする。
Q2 別にない。めんどくさいだけだと思うので普通は0から順に配列に入れるようにすると思う
Q3 for each
ともあれ、動いたならそれもひとつの正解
色々コードを書くうちに、どういうのが最適か、あ自分にあってるか分かるようになるよ

106 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 00:35:04.71
>>83
ダイアログとはなんでしょうか?ネットで調べてみたらダイアログボックスとでてきたのですがこのことでしょうか?ホントに無知ですみません。

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

下記の終値の数値のみをコピーしてエクセルに貼り付けることは可能でしょうか?
http://table.yahoo.co.jp/t?c=2012&a=8&b=21&f=2012&d=11&e=22&g=d&s=1570&y=0&z=&x=sb

108 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 02:27:36.48
>>107
無理
全部貼ってからいらない部分を消すしかない

109 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 08:13:56.25
>>108
ありがとうございます。

110 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 09:22:17.13
>>107
少しだけ手間がかかるけど可能です

111 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 14:09:35.95
>>107
表の部分だけほしいという意味なら
それは単なるカットアンドペーストでOK。

112 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 14:10:59.56
コピーアンドペーストか・・・・

まあそれはわかってるでしょうけど。
終値だけといわれるとねー

113 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 14:13:46.37
>>106
ダイアログボックスのこと。
回帰分析を選択したら出てくる画面。

114 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 16:30:27.49
>>107
毎回所定の位置(セル)に終値を入れる場合、空いているシートにコピペしてそこから
終値の列をリンク貼り付けさせるようにすれば毎回空いているシートにコピペ
するだけで良いけど

115 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 17:28:49.00
>>111
ありがとうございます。
http://www.j-ns.com/freehomepage/01/1-6.htm
を参考にやってみたんですが私のPCでは範囲を指定して
右クリックしても『切り取り』は選択できないようになっております。

116 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 17:31:38.75
>>114
ありがとうございます。
例えば全てをSheet1に貼り付けて
Sheet2の表示させたいセルに『!Sheet1英語数字』って入力するやつですね。

117 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 18:02:07.92
>>115
切り取りじゃなく、コピーね

118 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 19:09:19.72
>>117
コピーして貼り付けてから不要なセルを切り取るんですね。

119 :107:2012/11/22(木) 19:18:20.40
すいません。また新たな質問なんですが
http://table.yahoo.co.jp/t?s=1568.t&a=4&b=5&c=2012&d=11&e=22&f=2012&g=d&q=t&y=0&z=1568.t&x=.csv
この時系列をExcelに貼り付けました。
これから毎日貼り付けるなら上に足してくより下に足してきたいのですが
上下さかさま(日付が古い方を上に)することは可能でしょうか?

120 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 19:37:46.25
>>119
並べ替え(昇順・降順)機能使えばおk

121 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 19:45:00.86
>>120
A→ZとかZ→Aのボタンですね、ありがとうございます。

122 :117:2012/11/22(木) 20:19:16.57
またすいません。

A日付、B始値、C高値、D安値、E終値、F出来高、G調整後終値で
日付の古い順からになりました。
Hには当日の始値−1番新しい日の始値にしたいのですが
本日11/22の始値がB161なので
H2(1には「日付」とか「始値」とかタイトルを記入しているので)に
『=B2-B161』と記入すると今後入力するB162以降またすべて『』内をかえなければならないし
H2を選択してセルの太枠の右下に近づけ白プラスを黒くしそのまま下にもっていってコピーすると
H2・・・=B2-B161
H3・・・=B3-B162
H4・・・=B4-B163
となってしまいます。希望は
H2・・・=B2-今後入力する1番新しい日のB
H3・・・=B3-今後入力する1番新しい日のB
H4・・・=B4-今後入力する1番新しい日のB
で更新するたびに簡単にコピーできるようにするにはどうしたら良いでしょうか?

123 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 20:30:45.19
H2==VLOOKUP(MAX([日付]),テーブル1,2,0)-テーブル2[[#この行],[始値]]

124 :117:2012/11/22(木) 20:41:36.00
解決しました。

125 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 21:06:13.26
>>123
ありがとうございます。
そのまま入力したところ入力した数式は正しくありません。となっており
OKを選択すると[日付]の部分が黒くなってます。

126 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 21:16:41.62
>>125
H2に
=B2-VLOOKUP(MAX(A:A),A:B,2,0)
と入れて、そのセルの右下の白プラスをダブルクリック

次の日に一行足したら、そのH列の式を一つコピペして伸ばす

この表のA列の下とかには、関係ない数字とかは入力しないでね。

127 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 22:15:26.80
>>126
完璧です。ありがとうございます。
VLOOKUPの後は
MAX(A:A)・・・Aのセル中で1番新しい日で
A:B・・・検索範囲
2・・・左から2番目の値
0・・・検索方法は完全一致でなければならない
という解釈でよろしいのでしょうか?
もしH2の隣のI2に1番古い日のB−当日のBの値を入力させたい場合は
=VLOOKUP(MIN(A:A),A:B,2,0)-B2
かなと思ったんですが、計算結果が間違ってるようです。

128 :51:2012/11/22(木) 22:29:12.65
>>104
どーやって遊ぶの?

Sub てす()
 Debug.Print Cells(2, 2).Resize(0, 1).Address
 Debug.Print Cells(2, 2).Resize(1, 1).Address
 Debug.Print Cells(2, 2).Resize(1, 2).Address
 Debug.Print Cells(2, 2).Resize(, 1).Address
 Debug.Print Cells(2, 2).Resize(, 2).Address
End Sub

って書いてF8押したら・・・
「実行時エラー'1004' アプリケーション定義またはオブジェクト定義エラーです」と
メッセージが出て1行目で止まっちゃいました。

129 :51:2012/11/22(木) 22:33:33.51
>>105
ありがとうございます。

Q2で、「普通は0から順に配列に入れるようにする」とのことですが、
51の例にも当てはまりますか?

Q3の「for each」だけじゃ〜ワケワカメ・・・

130 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 22:55:36.73
>>127
>という解釈でよろしいのでしょうか?
そうです。

>もしH2の隣のI2に1番古い日のB−当日のBの値を入力させたい場合は
式は合っていると思うけど、間違いかな?
古い日が一番上にあるから、I2は同じ数字を引いてゼロのはず。
で、その式でもゼロが出るけど。

131 :名無しさん@そうだ選挙にいこう:2012/11/22(木) 23:31:47.41
>>130
すいません。自分の計算が間違っておりました。
ありがとうございます。

132 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 05:36:01.68
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
 A    B     C     D    E
1     りんご みかん キウイ バナナ 
2 2008  100   50    150   55
3 2009  105   53    153   50
4 2010  102   48    156   58
5 2011  110   50    159   57
6 2012  101   52    160   56
7
8     2010  キウイ  XXX
この表で、B8とC8を参照して、2010年のキウイの値段を検索する式はD8にどう書いたら良いのでしょうか?

133 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 06:26:35.58
132自己解決しました。INDEXとMATCHで余裕でした。
A2〜E6に名前をつけて
=INDEX(名前,MATCH(B8,$A$2:$A$6,0),MATCH(C8,$A$2:$E$2,0))

134 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 12:00:31.92
2010とキウイでフィルタリングすればいいのに

135 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 12:20:03.27
2003とか使ってる時点でどうでもいい

136 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 12:52:01.08
あなたのYahoo!トップページにも「愛媛新聞ONLINE配信」が表示されていますか?

137 :85:2012/11/23(金) 14:39:27.14
A1の書式設定で、B1の数値を参照する時に
【数値が1〜999の時】
という数式はどうすればよいのでしょうか?

138 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 14:57:21.75
>>137
=AND(B1<1000,B1>0)
とか。

139 :138:2012/11/23(金) 15:30:30.19
少数点以下の数字も扱うのなら
=AND(B1<1000,B1>=1)
の方が無難でしたね

140 :85:2012/11/23(金) 15:57:56.91
>>138-139
ありがとうございます。できました。

またB1に数値を入力した場合、右のC1に
入力した時の時計時間を自動的に表示させることは、VBAを使わずに
できるのでしょうか?今は手動でC1に[Ctrl+:]を入力してるのですが・・

141 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 16:11:24.42
>>140
出来なくはないけどExcel単体でやるのは無理
Excel単体でやるならVBA

142 :85:2012/11/23(金) 16:15:06.90
了解です。ありがと。

143 :107:2012/11/23(金) 16:45:30.08
A1の数値>B1の数値なら・・・(A1−B1)÷A1×100の数値の末尾に『%』をつけ文字の色は赤で
A1の数値<B1の数値なら・・・(B1−A1)÷A1×100の数値の末尾に『%』をつけ文字の色は緑で
A1の数値=B1の数値なら・・・黄色で『0』を
A1とB1どちらかでも未入力なら黒色で『―』をC1に表示させるの最終的な目的で
とりあえず1つ1つやっていこうと思いC1に
=IF(A1>B1,"(A1-B1)/A1*100","")と入力して
A1とB1に適当な数値を入力(もちろんA1の値を大きく)したんですが(A1-B1)/A1*100と
表示されるだけです。偽りの場合が未入力だからでしょうか?
もしそうなら何を入力すればよいのでしょうか?

144 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 17:03:12.02
>>143
""で括ると文字列として扱われるから
括っている""を取り除けばいい

145 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 17:48:44.60
>>140
勧めはしないが反復計算使えば出来なくはない

146 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 18:01:56.84
関数でこれだけは絶対覚えておけ!って何がありますか
自分はスミフとラウンドダウン、アップぐらいしかわかりません

147 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 18:04:13.30
ブイロオクウプだな

148 :143:2012/11/23(金) 18:14:00.87
>>144
ありがとうございます。

=IF(A1>B1,(A1-B1)/A1,IF(A1<B1,(B1-A1)/A1,IF(A1=B1,"―")))
で、大筋いいんでしょうか?

C1のセルの書式設定で表示形式の分類をパーセンテージにすると100倍されてしまうので
=IF(A1>B1,(A1-B1)/A1)でいいわけですね。
しかし表示形式の分類をパーセンテージにすると同時に数値も選べなくなってしまうようで
A1>B1なら赤文字に出来なくなります。それどころか文字色を緑や黄色には不可能なんでしょうか?

149 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 18:26:03.78
>>146
ルックアップとブイルックアップかな?
というか業務で使うやつが何かにもよる
一般事務レベルだとExcelで○○したいな、○○があると便利になるな…ってのは大抵が出来ると思う
ググったり、Excelの本を読まずに素で出てくる関数なんて両手で数える程度だw

150 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 18:33:21.81
>>146
ヘルプがあるしネットにも情報は溢れてるからいちいち覚える必要なんてないと思うよ
よく使う関数はわざわざ覚えなくても自然に覚えてしまうし

151 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 18:42:52.87
ヘルプが好きなやつって、自分がわかってるからだろ?
初心者に対してヘルプを見ろ言われても、MSの不親切なヘルプじゃ理解できないのが多いと思うぞ。

152 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 18:50:55.33
覚えた関数を使うのではなくて、やりたいことがエクセル(関数で)で出来るか否かを調べた方が良いんじゃない?
山手線の駅名を全て覚えるよりも、よく使う駅の地理を覚えた方が身のためになる

153 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 19:19:05.77
スミフw

154 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 20:00:09.68
覚えた関数を使わないって、バカなの?

155 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 20:02:48.31
スミフの意味を教えてください

156 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 20:10:11.73
>>155
イミフとは関係無いな。

ようつべ的なもんだな。w

157 :51:2012/11/23(金) 20:15:15.19
104さぁ〜ん、105さぁ〜ん

158 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 20:26:41.27
>>154
必要ないなら使わないだろ
覚えたの使う為に不要なの作っても意味が無いし

159 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 20:51:39.55
>>155
サムイフだろ?

160 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:00:53.15
>>157
知らん。>>51とかほとんど読んでない
Q2に関してはどうあれ動かせるなら問題ない
Q3に関しては「vba foreach」ぐぐって何度もためしてみるといい
無理でもfornextで代用できるので問題はない。
つまり何も問題はない。めんどくさいだけ。
あとは勉強あるのみ。

161 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:13:28.02
>>160
配列の初期化にFor Eachなん?

162 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:24:50.06
【1 OSの種類         .】 Window7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
Q.プルダウンで1月から12月を選択できて、1月を選べば1月の表が表示
されるようにしたいです。プルダウンにより定義された表を切替表示する
ということでしょうか。方法がわかりません。よろしくお願いします。

163 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:29:40.83
>>162
1月の表って何?

164 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:30:28.70
>>163
申し訳ありません。会社の試算表です。

165 :51:2012/11/23(金) 21:35:32.56
>>160
えぇーと、貴方は105さん?
名前の欄にレス番を入れてホスィ〜です。
ベテランさんなら、51のマクロが何をしようとしてるか読み取るのに1分も掛からないでしょ?
目を通して教えてくださいよ〜

97さんの Erase MDL は知的財産になりました。
しかーし、For Each をググっても、51のFor文と同じような使い方しかわかりましぇ〜ん・・・

166 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:37:29.55
Win7に2003をインスコか・・・

167 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:38:35.26
>>164
違う、どこにどんなふうに定義されてる表なのか?ってこと

168 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:41:48.20
ほっとけば自己解決するのに

169 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:43:49.36
>>164
すみません、表を定義すれば表示も楽にできるのではという思いつきなので
特に何も作れておりません。どんな方法でも構いませんので教えてください。
表示切替したいのは試算表ですが、カレンダーをイメージして頂いても良い
です。プルダウンで2月を選べば2月のカレンダーの表に切り替わるという
感じです。

170 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:44:44.59
95, 97, 2000, 2002(XP), 2003, 2007, 2010と使ってきたが、2003が一番使いやすいw

171 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:45:54.09
>>169
マクロが否の理由は?

172 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:47:00.45
 2回目以降の質問では名前欄に初回質問の番号を入れよう

173 :162:2012/11/23(金) 21:49:45.30
>>171
マクロは言われた通りに操作はできますが、自らコードを考えて打つことは
できません。だから否にしています。シートにマクロ機能を付けること自体
は問題ありません。

174 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 21:51:41.16
>>169
>特に何も作れておりません

どこにも定義されていない表をどうやって表示切り替えするんだ?
プルダウンで月を選択したら自動で表を生成したいのか?
VBAでやれ

175 :162:2012/11/23(金) 21:53:20.05
>>174
自動で表を作成するのではなく、他のシートに既にある表を呼び出すような
形にしたいのです。VBAでも良いのですが、勉強不足でわかりません。

176 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 22:07:58.58
VBAでの回答の可否は "可" じゃねーの?
おまえの勉強のためにも自分でつくれ!

177 :162:2012/11/23(金) 22:17:32.84
>>175
すみません、確かに"可"ですね。一からとなると時間がかかってしまいますので、
ここで相談させて頂きました。

178 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 22:44:18.58
>>175
説明できずに現状がサッパリわからないし逆質問しても答えてくれないから無理
現段階のブックをアップしてみ、作ってやるから

179 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 22:55:26.22
月でフィルタリングすればいいのに;

180 :162:2012/11/23(金) 22:56:33.49
>>178
ありがとうございます!いましばらくお待ち下さい。

181 :162:2012/11/23(金) 23:09:37.51
>>178
イメージはこのようになります。表現が悪く分かりづらいかもしれません。
http://www.dotup.org/uploda/www.dotup.org3656287.xls.html

182 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:25:29.72
>>162
ここでvlookupの出番ですよ!
indirectと組み合わせれば、月ごとのシートから呼び出すのもラクチン

回答してる奴ら頭固すぎwww
仕様とかぢゃなくて、こんなんあるっていう提案が欲しいだけだろうに

183 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:30:31.25
>>182
>>181のブックを見たからそういう答えが出せるんだろうが・・・

184 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:31:10.30
1月を選んで1月の表が表示できる?
表の値なら表示できるけど

185 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:32:29.57
>表を定義すれば表示も楽にできるのではという思いつきなので
>特に何も作れておりません

と書いてたな・・・

186 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:41:35.50
>>181見るまではVBAだなって思う内容だったろ。

>>162
その>>181の月別の表は月別に別シートでないとだめなんかね。勘定科目固定だし普通に一つの表で
横軸に勘定科目、縦軸に年月の形にすりゃINDIRECTも不要で単純なVLOOKUP+MATCHで出来るが。

すでに運用中の物なら今から変えろとは言わんけどこれから作るなら選択肢はいろいろあると思う。

187 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:44:09.78
>>169
プルダウンじゃなく、linkにすれば楽じゃん

188 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:45:52.74
>>181
結構めんどくさい構成になってるんだな・・・

(1)各月のシート名をプルダウン内容の値「YYYY.MM」と同じ形式に変更する
(2)プルダウンのコントロールの書式設定のコントロールのリンクするセルに適当なセルを設定する
(3)8行目の年月欄に「=INDEX(プルダウン内容!$D$4:$D$15,[(2)で設定したセル])」みたいなのを設定する
(4)簿価欄に「=INDIRECT("'"&$A$8&"'!B4")」みたいなのを設定していく

189 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:47:05.98
後だしジャンケンなのにみんな優しいのね(&hearts;

190 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:50:26.60
とりあえずシート名を半角にするのか全角にするのかは統一してもらったほうが検索しやすくなると思う
プルダウンの内容がどうなっているのか俺には理解できんので消してもらうとして、B6あたりに
入力規則でリストを選択、B10あたりから、各シートの内容が変わらないのであれば
=INDIRECT(B6&"!b4")
な感じの式で楽勝
あまりに汎用性がなさすぎるので、
B列は
=VLOOKUP(A11,INDIRECT($B$6&"!a1:b8"),2,FALSE)
D列は
=VLOOKUP(C11,INDIRECT($B$6&"!c1:d8"),2,FALSE)
な感じ?
2の月の間の累計は…
作業列作って表示しまくるくらいしか思いつかん

VBA使うと、SUMとAVERAGEしか使えない上司がキレる場合があるんで、自分だけで使う資料じゃない場合は先に確認しといた方がいいぉ(*´д`*)

191 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:51:41.66
>>189
人間、暇な時もある

192 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:52:50.84
>>189
>>2-6のテンプレをゴリ押ししてる人は約1名だけだから

193 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:53:32.19
>>128,157
まだやってたのかよ。
Debug.Print Cells(2, 2).Resize(0, 1).Addressはあなたの書いた
FSK.Cells(i1, j1).Resize(0, 1).Delete Shift:=xlToLeftと同じResizeの使い方。
まちがってるからエラーになって当然。自分で動かないって言っているではないか。
2行目からが動くResizeのサンプル。Resizeの引数と対象セル範囲の確認。
Debug.Printってナーニなんて言わないでね!

194 :名無しさん@そうだ選挙にいこう:2012/11/23(金) 23:57:32.13
年 月 現金 その他流動資産 ... 純資産 負債・純資産計
2012 1 1 2 3 ... 12 20
2012 2 ...
...
のようなデータ形式にするといろいろ捗るぞ

195 :51:2012/11/23(金) 23:58:21.82
>>193
Debug.Printってナぁ〜ニ?

196 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 00:07:02.73
あー、
デバッグ時にプリントするんだよ

197 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 10:41:23.86
A1〜A3セルに、5、-3、あ が入力されてるとき、下記のtest()を実行すると
5 と あ がメッセージに出ます。

Sub test()
For i = 1 To 3
If Cells(i, 1) > 0 Then
MsgBox Cells(i, 1).Value
End If
Next
End Sub

5だけ(0より大きい数字)だけ出すにはどうすればいいですか?

198 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 11:08:11.93
IsNumeric

199 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 11:18:56.18
>>198
できた!
ありがとうございます。

200 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 13:10:17.33
どういたしまして

201 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 16:48:49.97
>>189
&hearts ;

202 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 17:01:10.49
&#9825;

203 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 18:03:56.96
ありがとうございます

204 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 22:23:07.12
明日はJS 0人、JC 0人、JK 1人か・・・

205 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 22:34:00.58
JAのお姉さんもいるかも。
ちなみに、私はJTのお客さん

206 :51:2012/11/24(土) 22:39:39.12
>>193
これはこれは失礼しました・・・
無事に解決しました。
お馬鹿なオイラに付き合ってくれて、ありがとうございました。

207 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 22:57:37.12
JRの運転手さんも最近はお姉さんが増えてますね

208 :名無しさん@そうだ選挙にいこう:2012/11/24(土) 23:01:09.83
JJのお嬢さんは好きだぞ

209 :69:2012/11/25(日) 03:10:26.82
>>70
遅くなりましたが、ありがとうございます。
ただ私の見方が悪いのか、
作成していただいたというものを見れませんでした・・

>>69を解決するような簡潔な方法をご存じの方、
アドバイスいただけないでしょうか
ピボット以外の解法でもなんでもかまいません。
よろしくお願いいたします。

210 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 11:39:15.44
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい・いいえ(特に関係なし)
【4 VBAでの回答の可否】 可・否(特に関係なし)

少し混み入った数式を、別セルにCTRL+Cでコピーすると
何故か、別セルの数式だけ「矛盾した数式」というエラーが出ます。
10個以上の(全く同じ数式の)コピーがあり、そのうち真ん中へんの
ランダムとしか思えない位置に1つだけエラーが出るのですが、
これはどうやったら直るでしょうか?
Excel自体が持つバグか何かでしょうか?

211 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 11:41:21.75
矛盾のエラーはいちどにひとつしかでない

212 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 11:42:11.60
>>210
そこまで明確になってるなら具体的に提示しろ
解決を遅らすゲームでもやってんのか?

213 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 11:54:54.96
>>210
http://office.microsoft.com/ja-jp/excel-help/HA010066323.aspx

もし本当にバグだと思うなら検証結果をMSのサポートに報告したら喜ばれるかと

214 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 11:55:47.69
>>210
数式の検証をしてエラーを特定して下さい。

215 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 13:17:14.50
>>209 >>69
ピボットテーブル作成した後に
行ラベルと列ラベルで、AとBを残す(Cのチェックを外す)だけ
でいいじゃない。

216 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 14:08:32.76
210です。
「このセルにある数式が、セルの周辺の数式と異なっています」エラーでした。
もちろんCTRL+C>CTRL+Vで貼り付けただけなので、周辺の数式と異なるはずもなく。
現在かなり離れた別の数式群でももう1箇所で発生しました。

ちなみに式は、
【FR9】=IF(DF9="","",IF(VLOOKUP(FP9,票1,4,0)>0,VLOOKUP(FP9,票1,4,0),0)+VALUE(SUBSTITUTE(DF9,"*","",1))*IF(VLOOKUP(FP9,票1,4,0)=-1,1,FT9))
この数式ってのが現在3〜35まで存在し、なぜかFR13だけ
「このセルにある数式が、セルの周辺の数式と異なっています」エラーが出ています。

217 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 14:14:50.42
票1がなんだかわからんけど、検索範囲が$で固定されてないとかそんなオチ?

218 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 14:18:34.09
>>217
それぞれ、DF3〜DF35、FP3〜FP35、FT3〜FT35を見る必要のある数式で、
無論、DFもFPもFTも行違いの完全同数式です。
票1も挿入>名前で固定してあります。

219 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 14:55:54.87
>>218
もう一度4行以下を消してFP3を35行までコピペやオートフィルしても13行でエラー出る?

220 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 15:06:46.94
sub 魂の叫び
msgbox ("関数の入れ子がわからん")
end sub

221 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 15:14:52.78
自分でエラーの原因がわからんような複雑な式つくるのは頭の悪い証拠
エラーがわかるように式を複数のセルに分割しろ

222 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 16:01:55.47
こういう方法もある

数式のデバッグ方法−F9キー・Escキー
ttp://www.relief.jp/itnote/archives/003375.php

223 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 16:58:09.89
>>216
その数式のどこで矛盾が発生しているか数式を分解して調べたら?

224 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 17:14:09.96
ifいれすぎ。自分で書いててわかりにくくない?

225 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 17:48:13.54
IFが多いとは思わないけど何回もVLOOKUPするのは無駄だし見づらいね

226 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 18:03:59.33
雑談すれって新しくたたないのか

227 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 19:04:01.97
>>210
そのセルの上下左右のセルも同じ式と考えていいの?
それとも上下左右のセルどれかには、違う式のセルがあるの?

228 :209:2012/11/25(日) 19:58:07.70
>>215
ありがとうございます。

確かに会社の数が少なければそれでいいのですが、
買手A社-売手B社
買手B社-売手A社
C社-A社
A社-C社
D-E・・・
買手Y社-売手Z社・・・・・

のように多数の組み合わせがあるのです。
そこで

A-B 500円(AからBへの売上高とBからAへの売上高の合計)
A-C 400円
C-B 900円
Z-B 100円

のように一覧で見られるようにしたいのです。
現在は売手A列 買手B列 売上高C列のようにエクセルに入力されています。
IF関数でいけるかと試行錯誤してるのですがうまくいきません。

もしなにか方法がありましたらアドバイスお願いいたします。
長々とすみません。

229 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 20:47:13.63
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【4 VBAでの回答の可否】 可

a = "2012/11/23"
b = Format(a, "aaa")

bは金になりますが、祝日を返す方法がありますか?
変数に日付データを入れたとき、平日か休日(土・日・祝)かを分岐したいです。
夏休みとか年末年始は、土・日・祝でなければ平日扱いです。

230 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 21:01:19.63
>>229
簡単に判定する方法はない

祝日は毎年どんどん変わるので、きちんと対応するのはめっちゃ大変
今年だけ、来年だけ、とかならカレンダーを見ながら自分で一覧表を作ってIf分を並べて判定するという手もある

大変な計算をきちんとやってる例、しかも毎年、法律が変わるごとにバージョンアップしている
ttp://www.h3.dion.ne.jp/~sakatsu/holiday_logic.htm

231 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 21:42:48.53
>>229
休日のテーブル作ってそれを参照するようにすればいいかと
土日が確実に休日なのであれば祝日テーブルを作るだけでもいいかな

232 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 21:47:42.37
>>229
祝日データは>>230が言うように自分で用意するしかないが、
平日か休日(土日祝)かの分岐でいいならこんな方法がある

=NETWORKDAYS(日付,日付,祝日)

「祝日」は祝日を表す日付を入力したセル範囲
最初の2つの引数に調べたい日付(同じ日付)を入れる
これで休日なら 0 が返ってくるし、平日なら 1 が返る

2003だとツール>アドイン>分析ツールをやっとかないと
NETWORKDAYS関数は使えなかったかもしれない

233 :名無しさん@そうだ選挙にいこう:2012/11/25(日) 23:27:15.67
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

今までデータタブにソルバーの項目が出ていたのですが
何故か消えてしまいました。
オプションの有効なアドインでソルバーは有効になっています。
どうすればいいでしょうか。

234 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 01:49:27.73
>>233
消えた理由はわからないけど、タブの内容はファイル→オプション→リボンのユーザー設定→メインタブ→データ、から
自由に変更できる

235 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 09:29:38.93
>>234
そこにも項目が無かったのでアドイン一覧のチェックをクリックし直して
PCを再起動したら復活しました。
ありがとうございました。

236 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 17:51:16.28
関数の質問なんですが
例えば
A1〜AA1の範囲の中で3がある時、
各々3があるセルの二つ下のセル
(A1に3がある時はA3、B1に3がある時はB3、AA1に3がある時はAA3)

の数値の合計を求めたい時
(A1とB1とAA1が3で、A3が30、B3が40、AA3が209 だった時、279)

って何の関数を使えばよいのですか?

もしくは
A1〜A5
B1〜B5



AA1〜AA5
それぞれの範囲で、5と2が含まれていて
それぞれの3つ下のセルの合計を求めたい時
(A1〜A5の時はA8、B1〜B5の時はB8、C1〜C5の時はC8、AA1〜AA5の時はAA8の数値の合計)

A1〜A5、B1〜B5・・・・AA1〜AA5 ってそれぞれで一々関数を指定するのは面倒なので、それをA1〜AA5まで一気に範囲指定したい時

ってどういう関数を使えばいいのかアドバイスください。

237 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 18:45:39.22
>>236
=SUMIFS(A3:AA3,A1:AA1,3)

238 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 18:56:56.77
>>236
後半のも>>237を応用して
=SUMIFS(A8:AA8,A1:AA5,3)
で出来るんじゃね。


スミフスw

239 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 19:03:44.83
>>236
SUMPRODUCTかSUMIF

240 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 19:05:42.22
>>238はやってみたらダメだったから参考にしないでくれ。Orz

241 :236:2012/11/26(月) 19:06:26.52
>>236ですが、>>236はなかったことにしてください。すいません。わかりづらい上にちょっといい忘れたことが多かったので。
画像を用意しました。
http://uploda.cc/img/img50b33a8cae1ea.jpg
このような表があるとします。

この画像は
(1).B1〜B5、E1〜E5、H1〜H5、K1〜K5 のそれぞれ範囲でYとZの文字(記号)が両方含まれていた時(この画像の場合、B1〜B5、E1〜E5、K1〜K5)

(2).B1〜B5にYとZが含まれていた場合A6・A7・A8・・・A12、E1〜E5の場合D6・D7・D8・・・D12、K1〜K5の場合J6・J7・J8・・・J12
  YとZの両方の文字(記号)が含まれているセル

(3).(2)のセルの右隣の数字の合計がB15に書いてある

というのを表しています。
これを実現しようとした場合、どういった関数を使えばよいのでしょうか?
一回の関数計算では無理でしょうか?

242 :236:2012/11/26(月) 19:09:01.36
>>237-240
一応>>236はなかったことにしたんですが、>>241を書く間にお答え頂いて本当にありがとうございます。
せっかくアドバイスくださったのに取り消してしまってすいません。
ですが、いくつか参考にしてみようと思います。ありがとうございます。

243 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 19:53:54.48
>>241
1関数でやりたいならSUMPRODUCT

244 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 23:35:18.46
>>83
遅れてすみません。教えていただいた通りやりましたらできました。ホントにありがとうございました。

245 :名無しさん@そうだ選挙にいこう:2012/11/26(月) 23:38:57.14
>>243
(1)はSUMPRODUCTだけでできるけど
(2)はSUMPRODUCTだけでやるのは無理じゃね?

246 :236:2012/11/27(火) 03:42:54.62
>>241についてですけど
やっぱり一行の関数では難しそうですか?
仮に(1)(2)(3)で分けるとしたらどの関数を使えばいいと思いますか?

247 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 04:07:37.67
次の3つのシート名があるブックにマクロを書きます。
目次
原紙
集計

シート"原紙"をコピーして、マクロを実行したら
コピーしたシート"原紙 (2)"をアクティブにしたいのですがいまくいきません。
どうすればいいですか?

Sub シート選択()
 For Each WS In Worksheets
  If WS.Name <> "目次" Then
   If WS.Name <> "原紙" Then
    If WS.Name <> "集計" Then
     Worksheets(WS.Name).Activate
    End If
   End If
  End If
 Next
End Sub

248 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 10:17:41.17
>>246
(1)はSUMPRODUCTだけでできる
(2)はSUMPRODUCTと他の関数を組みわせればできる
(3)はSUMPRODUCTだけでできる

最終的に、上の3つを繋ぎ合わせれば1つの数式にできるけど
可読性が下がるのでキミにはオススメできない

249 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 10:21:10.85
>>247
Worksheets("原紙 (2)").Activate

250 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 14:43:14.70
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

1.商品番号が文字列として羅列されたxlsファイル(シート「data.xls」)があります。1行1商品で1000行以上
2.別途フォルダには、その商品番号の一部をファイル名とするファイルがあります。2000ファイル以上

1.のファイルに書かれた商品番号と合致するファイル名のファイルを
2.のフォルダAから別のフォルダBに移動したいのですがバッチはどのように組めばいいでしょうか?

251 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 14:57:29.33
>>250
VBAがわからないなら無理かと
丸投げしたいなら仕様をもれなく書かないと

252 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 15:10:15.87
ありがとうございます。
D:data.xls の内容は二行目から
aaaaa
bbbbb
ccccc
というふうに商品名が書かれています。

D:A\ 内は
aaaaa_111.xls
bbbbb_222.xls
と言うようになっています。(「_111(222)」は少し邪魔ですが。
このフォルダ内のファイルで、data.xlsの行にないファイル名のファイルは
D:\Bフォルダに移動させたいのです。

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

ブックA、および、ブックB、C、D、…があります。
ブックB、C、D…にはそれぞれシート1、シート2、…と複数のシートがあり、それぞれのいくつかの特定のセルに文字列や数値があります。

ここで、ブックA上で、ボタン(フォームオブジェクト)を押すとファイル読み込みダイアログのようなものが出て、ブックBなどを指定すると、
そのブックの、各シート名とそのシートの特定セルの値を読み込んで、ブックAで表にするという事がやりたいのですが、可能でしょうか?
別ブックの内容を参照する方法がよく分かりません。
よろしくお願いいたします。

254 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 17:07:10.98
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可 VBAは使えませんが、それしか方法がない場合はお願いします

A1、B1、C1、D1それぞれのセルに、商品名、数値、数値、計算結果が入っているとして、
エクセルファイルを閉じるたびに、数値の部分だけリセットされるようにするにはどうしたらよいのでしょうか?

255 :252:2012/11/27(火) 17:15:00.48
解決しました。

256 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 17:36:00.90
>>254
自動的に計算結果も元に戻って良いなら単純に閉じるとき゛保存しない゛を押せばよい。

257 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 17:54:39.82
>>253
Workbooks("ブックB")

258 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 18:03:18.22
>>254
上書き保存や名前を付けて保存の場合は変更した内容で保存されて、
閉じると同時に保存される場合のみリセットされる必要があるの?
であればBeforeCloseイベントで処理すればいいと思う

259 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 19:00:00.51
>>254
>>258さんの方法(エクセルファイルを閉じるときにマクロでクリア)の逆の方法でもいいかも。
対象となるエクセルファイルを開いたときに自動的に対象セルをリセットするというものです。
>【3 VBAが使えるか】 いいえ
ということなので、わかりやすいサイトを見てください。
http://www.happy2-island.com/excelsmile/smile03/capter00706.shtml
の中の MsgBox "いらっしゃいませ!" の部分を 対象セルをリセットする処理 に変えればいいわけです。
「リセットしたい」が単にクリア(Delキーを押すこと)であれば、
Worksheets("対象となるシート名").Range("A1:D1").ClearContents に変更するだけ。
なお、上記サイトに少し補足。VBAの編集画面を出したら、画面左上(VBAProject)の ThisWorkbook という
ところをダブルクリックしてください。
そうすると、上記サイトの最初の説明図の Workbook の部分が (General) になっているので、
プルダウン(▼をクリック)で Workbook を選んでください。
右側の Open の方はプルダウンで多くの選択肢が出ます。 BeforeClose を選べば>>258さんの
方法になります。             ※以上は全てExcel2003なので2007だと少し違うかも。
BeforeClose の方で試してみたら、「○○への変更を保存しますか?」のダイアログが出た瞬間に
対象セルの内容が消えました。

260 :253:2012/11/27(火) 19:16:46.49
>>257
早速ありがとうございます!
次に分からないのが、「ファイル読み込みダイアログのようなものが出て、ブックBなどを指定する」という部分です。
"ブックB"というファイル名を取得する方法ですね。
例えば、ファイル選択で"ブックB"を指定して、ブックAのセルA1に、ブックBの一番右のシートのセルB2を表示させるにはどうすればよいのでしょうか?
よろしくお願いいたします。

261 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 19:37:10.99
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

http://uploda.cc/thumb/img50b497c6406a8.jpg

写真のように各セルに数値を返したいです
つまり、C4〜H4、C5〜H5…まで連続したシートの固定セルの値を返すということです
こうするにはC列の各セル(緑)にどのような数式を入力し、横方向にコピーすればよいでしょうか

よろしくお願いします

262 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 19:40:38.96
すいません、サムネを上げてしまいました

http://uploda.cc/img/img50b497c6406a8.JPG

263 :247:2012/11/27(火) 19:56:10.75
>>249
おぉー、そのままダイレクトに指定すれば簡単にアクチベートできますねぇ〜


って、俺の質問が間違ってた・・・ orz
昨日は会社でサビ残やってたら「いつまで残ってんじゃヴォケ!」と怒られて
家に持ち帰ってからコタツトップのパソコンで精を出してたんだけど
いつの間にか寝ちゃって気づいたら午前3時半。
あ゙ー!!!ヤベ〜〜〜〜と思って取り掛かったものの行き詰って
「あ、そだ、2ちゃんで質問して会社に着いた頃には誰かがレスしてくれてるだろう」なんて
安易に考えながら睡魔と闘いつつ書いたんだけど、肝心なところが抜けてた・・・

で、本題ね。

------------------------------<キリトリ>--------------------------------

次の3つのシート名があるブックにマクロを書きます。
目次
原紙
集計

シート"原紙"をコピーして、シート名を適当な名前に変えてからマクロを実行したとき
コピーしたシートをアクティブにしたいのですがいまくいきません。
どうすればいいですか?

目次(名前固定)
原紙(名前固定)
ほげ(名前不固定)
集計(名前固定)

264 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 20:16:36.82
>>263 For Eachループで回しながら、「除外するシート名のときは何もしない」にすればいいのでは?
Select Case 〜 Else を利用する。
Sub シート選択()
 For Each WS In Worksheets
  Select Case WS.Name
  Case "目次"
  Case "原紙"
  Case "集計"
  Case Else  ' 上記3シート以外のときにここが実行される
    Worksheets(WS.Name).Activate
  End Select
 Next
End Sub
対象のブックに目次、原紙、集計以外のシートが複数あった場合、
先に指定した3シート以外の全てに同じ処理をしてしまうので要注意。
ま、この場合は目にも止まらぬ速さでシートが切り替わるだけですが。

265 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 20:27:30.37
>>261
C4=INDIRECT("シート"&COLUMN()-1&"!A1")

266 :247:2012/11/27(火) 21:02:10.74
>>264
おぉーーー!!!
スゲーーーー!!!
できたーーーー!!!
ありがとーーーー!!!

Ifばかりで、Select Caseなんて使ったことなかったょ。。。

267 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 21:03:28.02
>>265
お早い回答ありがとうございました!

268 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 21:10:24.87
>>266
ほげ(名前不固定)があっても、問題ないの?

269 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 21:17:38.31
>>260
>ファイル選択で"ブックB"を指定して、
GetOpenFilename

>ブックAのセルA1に、ブックBの一番右のシートのセルB2を表示させる
=[ブックB]一番右のシート!B2

270 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 21:43:41.88
appleをaelpp
49284を24489
BE@CMBを@BBCEM
みたいに自動で文字順に並べ替えさせる関数って何を使えばいいんですか?

271 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 22:08:02.69
>>270
ユーザー定義関数

272 :名無しさん@そうだ選挙にいこう:2012/11/27(火) 22:18:57.37
>>270
MID関数→CODE関数→SMALL関数→HLOOKUP(VLOOKUP)関数→CONCATENATE関数

273 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 00:06:22.76
>>264
3行をまとめて
Case "目次","原紙","集計"
じゃいかんの?
あまり長くなると見づらいがこの程度なら視野の範囲かと

274 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 00:08:32.43
>>264
Worksheets(WS.Name).Activate
これもおかしいぞ
WS.Activateを回りくどくしてるだけだし

275 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 00:17:03.93
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003

AK〜AM列に数字が入っており、マクロで行ごとに
計算を繰り返すとき、十数秒掛かっています。
手動でオートフィルするよりずっと早いですが、
もっと時間短縮にする方法があれば教えてください。

Application.ScreenUpdating = False
For i = 2 To 10000
 Cells(i, 37) = Cells(i, 37) + Cells(i, 39)
Next

276 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 00:36:03.25
>>275
セルに書き込む回数を9999回から1回に減らせばかなり速度は上がるんじゃないかな

277 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 00:54:27.91
>>275
Range("AM2:AM10000").Copy
Range("AK2:AK10000").PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd

278 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 01:25:05.40
ん?

279 :254:2012/11/28(水) 03:18:09.36
>>258
確かにその通りなのですが、うっかり保存するをクリックしてもいいようにという対策のためなんです

>>258
計算結果のための関数に入力した数値のほかに別のシートのデータを用いるので、そこを変更したときは保存したいのですが、
数値は毎回リセットされた方が便利なので・・・ >>259さんの方法とともに参考にさせていただきました


>>259
詳しくありがとうございます
>>259さんの方法、>>258さんの方法についてググってみて組み合わせてみたところ成功しました

お三方とも回答ありがとうございました

280 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 13:13:30.93
>>275
普通はそのコードでも十数秒はかからん
再計算を一回とめてみたら?
まぁ配列から一気のほうがいいことはいいんだが

281 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 14:09:07.04
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

スレ違いかもしれませんが、エクセルからパワーポイントにグラフィックオブジェクトで貼った図を
逆にパワポからエクセルにデータとして抽出することは可能でしょうか

エクセルのデータが消えてしまってパワーポイントでしか残ってないのですが、
なんとかデータを抽出して復元したいです

282 :253:2012/11/28(水) 14:16:01.87
>>269
ありがとうございます
ご解答を参考に簡単なテスト用のマクロ (指定したブックBの一番右側のシート名をメッセージで表示) を作ってみましたが、うまくいきません。
読み込むブックBと、マクロを実行するブックAとは別フォルダにあります。
アドバイス、よろしくお願いいたします。

Sub 読み込み_Click()

Dim OpenFileName As String
Dim SheetNumMax
Dim SheetName As String
Dim RefBook As Workbook

OpenFileName = Application.GetOpenFilename()
Set RefBook = Workbooks(OpenFileName) ←ここでエラーで止まる
SheetNumMax = RefBook.Sheets.Count
SheetName = RefBook.Worksheets(SheetNumMax).Name

MsgBox SheetName

End Sub

283 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 15:21:51.15
>>282
ブックのopenが抜けてない?

284 :253:2012/11/28(水) 16:10:29.06
>>283
ありがとうございます!
Set RefBook = Workbooks.Open(OpenFileName)
で、出来ました!
(最後にCloseもつけました。)

ただ、これだと実際にブックBが開いてしまうのですが、開かずに(表示させずに?)、別ブックを参照取得する方法はありますか?

あと、GetOpenFilenameでダイアログに表示させるファイルをフィルタリング表示する時に、
例えばファイル名の先頭が"A"のファイルだけ表示させたい場合は以下の記述ではダメでしょうか?うまく出来ませんでした。

OpenFileName = Application.GetOpenFilename("テスト(A*.xls),A*.xls")

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

285 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 17:26:07.74
>>284
>ただ、これだと実際にブックBが開いてしまうのですが、開かずに(表示させずに?)、別ブックを参照取得する方法はありますか?
色々方法はあるけど一旦「」等で検索してみて

>ファイル名の先頭が"A"のファイルだけ表示させたい
Application.GetOpenFilenameでは無理なのでApplication.Dialogsを使う

286 :285:2012/11/28(水) 17:26:57.15
>>285
検索キーワードを書き忘れた・・・
「excel vba 非表示 開く」

287 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 21:20:33.90
こんな感じの罫線を引くため、マクロの記録をやってみました。
http://gigabyteserver.com/uploader01/img1234/winplus.jp272.jpg
非常に長いので、どなたか無駄なところを省いて短い文にしてください。

Sub keisen()
Range("B2:E16").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With

288 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 21:21:20.80
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
Range("B2:E2").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With

289 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 21:21:55.53
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("D2:D16").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With

290 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 21:22:30.68
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
End Sub

291 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 21:56:03.68
>>287
Sub keisen2()
With Range("B2:E16")
With .Borders
.Weight = xlThin
End With
With .Borders(xlInsideHorizontal)
.Weight = xlHairline
End With
With .Columns(1).Borders(xlEdgeRight)
.Weight = xlHairline
End With
With .Rows(1).Borders(xlEdgeBottom)
.Weight = xlThin
End With
End With
End Sub

292 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 22:00:34.94
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否


通常ならば
A1には「社内管理No」と入力されてて、A2以下は数字
B1には「品名」と入力されてて、B2以下はパーツの名称
C1には「単価」と入力されてて、C2以下は金額
   ・
   ・
   ・
といった感じのパーツリスト表があり、そこからA2、B2、C2・・・
とセルを参照して入力された項目を別のsheetでピックアップしていますが、
イレギュラーでC1に単価ではなくて「品名(ローマ字)」と入力されいて、
C2以下は品名をローマ字 で表記したリストがあります
このようなリストだとピックアップしたい項目がズレてしまうのですが、
どのように対処したら良いのでしょうか?


「社内管理No」と入力されているセルの行を参照する、「品名」と入力されているセルの行を参照する・・・
といった感じかな?とは思いますが、方法が分かりません
それと「品名」と「品名(ローマ数)」を別物と認識させることも必要だと思います
ご教示宜しくお願いします

293 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 22:10:52.04
>>292
そのイレギュラーを出さない方法を第一に考えた方が良いと思うよ。

294 :292:2012/11/28(水) 22:11:45.11
因みに、パーツリストは1000アイテム+αくらいあり、イレギュラーが発生するのは購入先が輸入品の場合です
輸入品はこれから増えると思います(+αの部分で現時点で50程度です)

295 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 22:14:09.64
>>292
意味がサッパリわからん
「参照する」とか「ピックアップする」とかって具体的にどういうこと?
「ズレてしまう」って??
C列に単価じゃなくて品名(ローマ字)が格納されているのに単価が必要なの?
なんなの?どういうことなの?みんなは理解できてるの?

296 :名無しさん@そうだ選挙にいこう:2012/11/28(水) 22:40:56.44
ベストはそもそもレギュラーなデータを用意してシンプルに参照する

データの都合上どーしてもイレギュラーになるのなら、IFなんかで場合分けすればいいじゃない

297 :287:2012/11/28(水) 22:48:12.32
>>291
ありがとうございます。
予想外の短さです。
何でこんなに短くできるのか悩みそうです。。。

298 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 01:04:12.13
>>292 「ピックアップ」とは? 計算式(Vlookup関数など)ですか?
それとも別の人が作ったマクロかなにか?
>>294 の 因みに、パーツリストは1000アイテム+αくらいあり は、
データ行数のこと? それともシートですか?
>>293,296が書いているように、統一した様式にするのがいいと思う。
C列が単価じゃなくて「品名(ローマ字)」となっているものは、C列全体を
選んで [Ctrl]+[−]で1列分削除(右側全体が1列ずつ詰まる)されて
通常のレイアウトになりますが、これじゃダメ?

299 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 02:07:56.87
>>297
Sub keisen2()
  With Range("B2:E16")
    .Borders.Weight = xlThin
    .Borders(xlInsideHorizontal).Weight = xlHairline
    .Columns(1).Borders(xlEdgeRight).Weight = xlHairline
    .Rows(1).Borders(xlEdgeBottom).Weight = xlThin
  End With
End Sub

300 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 15:00:47.57
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

エクセルの表が幅狭なので、A4用紙に2ページずつ印刷したいのです。
プリンタドライバの「割り付け」でできるのですが、A4用紙を横に使ってしかできないので困っています。
縦に2ページ印刷するにはどうすればよろしいでしょうか?

301 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 16:13:24.91
VBAを覚えたらほかの言語のプログラミングもコツみたいなのはなんとなくわかったりするのか?

302 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 16:18:52.79
>>301
VBAを覚えたらVBScriptはすぐに理解できるようになるぞ

303 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 17:01:58.02
流れと言うかそういうのはわかるといえばわかるけど
VBAは沖縄弁みたいな言語だからいろいろ戸惑うと思うよ

304 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 20:20:24.82
pdfやホームページのファイルの文をexcelに写すという作業をやってるんですが
非常に機械的な単純作業でこのペースだとすべて処理するのに一日5時間やっても半年かかります。

これを楽にするツールとかってありますか?

もう少し具体的に言うと、あるPDFやホームページの一定の場所に書いてある1・2・3の数字を一、二、三の漢数字に変えてexcelの特定の場所に写すっていう作業なんですけど

305 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 20:24:20.80
俺は知らん

てか、目的がワカラン

306 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 20:41:54.95
>>304
PDFとかWebからエクセルへはコピペ
後はシート上で文字列操作関数とかを使って処理

特別なツールなどいらんし
効率よく自動化したいなら自分でマクロを組むしかない

307 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:03:01.90
VBAからPDFを操作するには、まずは参照設定な

308 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:03:23.23
>>304
簡単に作れると思うけど君が作るなら半年以上かかるだろうね
だから手作業が最速かと

309 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:07:25.37
>>304
WebページをExcelにコピペして活用するのは比較的簡単ですが、PDFファイルの場合
は編集しづらい形式なので市販のソフトを使って形式変換して活用するのが良いかと
思う。
ちょっとググったらリッチテキストPDFというソフトが使えそうですよ。

310 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:09:09.72
今VBAのopenメゾットというのを習ってるんですが例えばworkbooks.open ("D:ドキュメント
¥練習.xlsx")とやっても実行時エラー’1004’ファイルが見つかりません云々〜
と出ます。ファイルはちゃんとドキュメント内にあるのに・・
ちなみにWindows7エクセルは2010兼任2013です

311 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:21:23.02
D:\

312 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:33:05.37
>>310
アドレスをテキストとしてコピー (Win7の場合)

○ メソッド
× メゾット

313 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 21:43:01.85
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
エクセルをアップしました。
http://uproda.2ch-library.com/lib606995.xls

作業日と作業内容、作業者のリストで、Sheet1の状態をSheet2の状態にしたいです。

条件が
・作業者は一日に複数の作業を行うこともある。
・一つの作業を行う際に複数人で行うこともある。(その際は/区切り)
・作業者が行う作業内容が複数の場合は/区切りで表記する
・出来ればマクロではなく関数で解決したいため、ユーザーファンクションというものでお願いしたいです。
・上記が不可能な場合、マクロスタートのボタンを設置しても大丈夫です。

以下が私が考えた処理です。
・実施者の名前で検索
・実施者の名前がヒットしたら作業内容を変数に格納
・次を検索
・実施者の名前がヒットしたら/と作業内容を変数に追加
・次を検索・・・
・最後まで検索したら変数の内容を貼り付ける

最初の検索で躓き、その先の名前がヒットした際に、作業内容を取得するという所もわかりません。
(offset関数を使用しましたがセルの指定でわからなくなってしまいました。)

処理内容は初心者が考えた内容なので無視してしまって構いません。
最終的にSheet2の状態になればいいです。
どなたか宜しく御願い致します。

314 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 22:34:33.41
>>313
作業列に
=IF(ISERROR(FIND($A10,B$2)),"",$A$2&"/") &
IF(ISERROR(FIND($A10,B$3)),"",$A$3&"/") &
IF(ISERROR(FIND($A10,B$4)),"",$A$4&"/") &
IF(ISERROR(FIND($A10,B$5)),"",$A$5&"/") &
IF(ISERROR(FIND($A10,B$6)),"",$A$6&"/") &
IF(ISERROR(FIND($A10,B$7)),"",$A$7&"/")
を入れて最後の"/"を取り除く

罫線は、、、手作業だとダメ?

315 :287:2012/11/29(木) 22:35:25.47
>>299
凄いぃぃぃ・・・
なんでこれだけで済むのかマタークわからんw

316 :313:2012/11/29(木) 23:15:43.72
>>314
ありがとうございます!
今電車に乗っちゃったので家に帰って検証してみます!

317 :名無しさん@そうだ選挙にいこう:2012/11/29(木) 23:52:46.61
>>313
http://uproda.2ch-library.com/6070892g1/lib607089.jpg
ユーザー定義関数のコードの書き方はわかりますか。
Alt+F11(VBEを開く)、挿入→標準モジュール、標準モジュールに下記のコードこぴぺ
関数の使い方
=sget(検索する名前、検索範囲、作業内容の列番号)
サンプルのB10なら
=sget($A10,B$2:B$7,1)

コード
Function sget(ByVal N As String, ByVal NRng As Range, ByVal Clm As Long) As String
Dim R As Range
Dim i As Long
Dim Spl As Variant
Dim Ans As String
For Each R In NRng
Spl = Split(R.Value, "/")
For i = 0 To UBound(Spl)
Spl(i) = Trim(Spl(i))
If Spl(i) = N Then
Ans = Ans & "/" & Cells(R.Row, 1)
Exit For
End If
Next
Next
If Ans <> "" Then
Ans = Right(Ans, Len(Ans) - 1)
End If
sget = Ans
End Function

いちおうサンプルファイルでだけ動作確認した。

318 :317:2012/11/29(木) 23:57:52.06
あ、ごめん一か所間違えた。

Ans = Ans & "/" & Cells(R.Row, 1)
これの1をClmにしてください。
Ans = Ans & "/" & Cells(R.Row, Clm)

Function sget(ByVal N As String, ByVal NRng As Range, ByVal Clm As Long) As String
Dim R As Range
Dim i As Long
Dim Spl As Variant
Dim Ans As String
For Each R In NRng
Spl = Split(R.Value, "/")
For i = 0 To UBound(Spl)
Spl(i) = Trim(Spl(i))
If Spl(i) = N Then
Ans = Ans & "/" & Cells(R.Row, Clm)
Exit For
End If
Next
Next
If Ans <> "" Then
Ans = Right(Ans, Len(Ans) - 1)
End If
sget = Ans

End Function

319 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 02:01:21.67
>>306
>PDFとかWebからエクセルへはコピペ
>後はシート上で文字列操作関数とかを使って処理

>>306さんならどうしますか?
勿論そのページをすべてコピペするだけの作業ならもっと早く終わります。
しかしそのページに書いてある99%は不要な情報です。
必要なのは一定の場所に書いてあるいくつかの数字だけです。
その必要な場所以外にも数字が書いてあります。
全部で30000ページくらいあります。
もしページすべてをコピペしただけなら、膨大な量になります。
必要な部分だけならレイアウト的にもみやすいですし、最小限の量で抑えられます。

320 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 05:10:03.84
どこが必要な部分だかわからんし、サンプルもなしに具体的な解答はだれにもできない

321 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 06:35:56.16
>>319

>>306をもういちどよめ。
コピペだけとは書いてない。
コピペ後、関数で処理。効率よく自動化するならマクロと書いてある。

322 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 06:43:57.22
totoのサイトから3年分の試合結果をVBAでExcelにダウンロードしたことはある
webクエリが使えたのでたいした手間ではなかった

323 :313:2012/11/30(金) 10:16:57.89
みなさんありがとうございました!
>>317さんのsgetで実装致しました。
私もこれからマクロを勉強してきます!

324 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 10:46:49.40
すごい初歩的な質問なんだけど、ByValの存在意義が分からないです。
ByRefで渡されてもプロシージャの中で式の左辺にその変数を持ってこなければ
値は変化しませんよね?
だったらByVal渡しなんて要らないんじゃないかと。

たとえば、>>317にあるコードで、
ByValを省いてもまったく問題なく動くと思うのですが、
なんでわざわざ書いてあるんでしょうか?

もちろん、コードがでかくなって全体の見通しが悪くなってきたら
思わぬバグの発生を防ぐためにByValが役立つ場面も出てくるとは思うんですけど、
そういうこと以外に積極的にByValで宣言する意味が分からないんです。

325 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 11:08:44.72
>>324
「思わぬバグの発生」はコード量とは関係ないよ
逆に積極的に参照渡ししてるならその意味を教えてよ

326 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 11:51:14.77
>>325
積極的に参照渡しをやってるわけじゃなくて、
デフォルトだと(ByValかByRefかの指定を省略すると)ByRefになりますよね?
ただそれだけです。

そして私の想定している「思わぬバグ」というのは、
「値を変えてはいけない場面でついうっかり式の左辺側にその変数を書いてしまう」
というシチュエーション「だけ」しか思いつかないのです。
それって小さいコードなら気が付けるよなぁと思えるのです。

327 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 12:37:11.13
つまり、存在意義のある(と思っている)部分を除外した結果に対して、
存在意義があるのかを問うているのですか。

328 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 13:40:41.34
>>326
バグに気が付くということとコード量には関係はないってば
そもそも>>317の大元の質問者はVBAが使えないと書いてるし

ちなみに.NETではデフォルトは値渡しになってるよ

てか値渡しと参照渡しのメリットデメリットなんて
あなたならググればいくらでも見つけることができるでしょ

329 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 14:12:24.61
> ByValとByRefの人達
そろそろ適切なスレに移動するなりしてくださいね

330 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 15:02:57.22
>>327
ごめんなさい
おっしゃっている意味が分からないです。
私がByValを使わないのは>>326で書いたとおり
何も書かなければByRefになるからであって
それ以外に深い意味はないです。
値渡しより参照渡しの方が良いということではないです。

>>328
ありがとうございます。
ぐぐって見たら再帰呼び出しに関係するようなことが書いてありました。
(その記事の詳細は会員登録が必要だったので読んでないです。)
そういうことやらないから気にしたことがなかったけど
やっぱり理由はあるんですね。

>>329
すみません、これで消えます。

331 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 15:16:13.41
>>330
貴方が納得したならそれで良いけど、>>329みたいのは気にしなくて良いとおもうよ。
実際興味深いテーマだったし、俺も為になったよ。

332 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 15:17:28.55
最近VBAの勉強してるけどこれ意味あんの?
手動とか関数使った方が圧倒的に早くない?
具体的にどういった時に効果的なの?

333 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 15:26:18.35
>>332
単純作業の繰り返しとか、そういうときに便利。
たとえば
数百件のファイルを開いて、
その中の特定の列を集計して一個のファイルにまとめる。みたいな時に、
手作業だと一日かかるような処理がVBAならものの数分で終わる。

関数は、複雑な条件がある場合に作業列を使ったりして結局手間がかかることもあるし、
他のブックの内容については参照こそできるけれど操作したりすることはできないから、
上述のようなケースではそもそも意味がない。

334 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 15:49:26.68
>>332
同じ操作や同じ処理の繰り返しがないなら無理に使う必要はない
同じ操作や同じ処理の繰り返しならVBAにしたほうが圧倒的に早い

実際には適材適所だわな
新しいことをやるとき、最初は手動と関数でやるが
ある程度固まってきたらVBA化する

あと大量のデータを処理する際は、
使い捨ての関数と使い捨てのマクロでやることが多いかな

335 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 16:10:07.05
>>332
手動とか関数使った方が圧倒的に早くない
場合にVBAを使うといいんじゃないかな

336 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 17:05:28.40
Excelを方眼紙に見たてて図面作成なんてあり得ないですか?

337 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 17:08:51.74
>>336
用途は制限されてないから好きなように使えばいい

338 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 17:28:14.37
>>336
実際、そうやって使ってるとこ知ってるよ
図面と言うよりは家具とか棚の配置図だけど

339 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 17:30:40.20
>>336
mmとかサイズをキッチリ指定しても印刷するとアス比が変わってたりするから、印刷とか正確さを要求される場合は向いてないだろうね。
適当に概要がわかればいいだけなら問題ないかと。

340 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 17:48:04.12
転職でエクセルの関数の中級レベルまで求められることが多いので
覚えたいです。
講師に教えて貰うのが簡単確実で好きなんですが料金が高いので自習します。
無料ソフトとか安いもので関数教育ソフトはありますか?
やっぱり本買ってきて自習?

341 :253:2012/11/30(金) 17:54:58.39
>>285
>>286
Application.Dialogsを使ってフィルタリング表示は出来ましたが、
結局、選択したファイル名の取得の方法が分からなかったので、GetOpenFilenameを使用してます。
でも、一気に作業が進みました。
遅くなってしまいましたが、ありがとうございました!

342 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 18:23:14.60
>>340
関数覚えるだけならヘルプやWebのリファレンスを読んで丸暗記すればいいかと
何度も繰り返し読んでたら自然に覚えるよ

343 :317:2012/11/30(金) 18:47:45.60
>>324

自分は何でわざわざ?と聞かれたら、

他の省略できる物も含めて、省略する習慣がない。
byvalとか正味タイピングする時間は0.2〜3秒のものなのでそこを省略しても何も楽さを体感できない。
省略したら何扱いになるかをそれぞれ覚えてから省略するのが面倒なのでもともと省略しない習慣になった。

344 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 19:03:48.78
論点が噛み合ってない気がするけどまぁいいか

345 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 19:15:43.56
>>342
私の2003なんだけど新しいのをちょっといじったときちょっと勝手が違った。
日経ビジネス人文庫の関数ワザ100でも読んでやってみるよ。

346 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 19:23:08.43
そうなんだ日経ビジネス文庫の関数ワザ100がいいんだ!

347 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 19:26:17.62
>>345
覚えるのが目的ならこの程度の一覧を繰り返し読むだけで頭の片隅に残ると思うよ
http://office.microsoft.com/ja-jp/excel-help/HP010342656.aspx

引数まではどうせ暗記しきれないし実際に使う場合はヘルプ見ながら使うし
広く浅く覚えておくほうが役に立つ

348 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 19:58:46.62
>>347
今、みたけど難しそうだ。市販の分かりやすい入門のを見るしかないな。

>>346
それは初めて知ったということか?オススメだよということか?

349 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 20:27:51.84
>>321
それはそうなんですけど、
具体的にどういった処理や関数を組んでそうするのか?ってことです。

350 :321:2012/11/30(金) 20:38:16.41
>>349
その前後で具体的な内容が解らないってレスついてたでしょ?
具体的な返事欲しいなら具体的な質問しなよ。>>313とかみたいに。

しかも関数かマクロでって回答の後から30000ページあるという情報出てるんだよ。
最初から3万と分かってたら誰も関数を選択肢には入れないと思うけど。

351 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 21:06:12.89
てか関数で中級レベルってどのくらいなんだかわからん

352 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 21:50:34.58
おそらく
初級と上級の間なんだろ

353 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 21:52:27.38
>>351
転職先で求められることが多いんだってさ

354 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 23:15:28.33
転職する時に求められる知識を得るための本の具体名を知りたいくらいのレベルの事だろ

355 :名無しさん@そうだ選挙にいこう:2012/11/30(金) 23:19:38.44
>>349
たぶんあなたのやろうとしている事は、「正規表現」でググってできることだと思うわ。
Excelでやってもいいけど、PDFベースのだったらPDFベースのアプリでやった方が良いし、
テキストベースだったらテキストエディタでやった方が良いよ。

356 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 02:22:33.56
>転職でエクセルの関数の中級レベルまで求められることが多い

どんな会社か気になるw
いや、エクセルやワードが必須な会社は多いけど、エクセルの関数の中級レベルを
求める会社は聞いたことが無いので、伏せ文字でいいから会社名をいくつか挙げてよ。

357 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 03:21:54.22
いや、そういう問題じゃないでしょ。
中級ってのがどの程度のものかがまず分からないんだから。

358 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 03:23:55.92
=COUNTIF(C603&F603,"○")

これの表記の何が間違ってるのかわからないんだけど
ずーっとエラーが出るんだけどさ

エクセルって便利なようでまじでゴミツールだよねw
まずゴミだって思うのが、基本的に関数が一つのセルか、一つのある範囲しか適用されないことが前提で作られてるっていうw
複数対象にできないってことねw
ここほんとにゴミw

でもう一つは区分ができないとw
例えばA1:A3、C1:C3、E1:E3って区分して、そのA1:A3、C1:C3、E1:E3の範囲それぞれの中に5がいくつ含まれるかとか、○がいくつ含まれるかっていう関数ができないのw
本当にゴミw
一つのセルか、:でくくった一つの範囲しか指定できないっていうw
話にならないわw
本当にゴミw使い物にならないこんなのw
なんで複数指定できないのwほんとに作った人バカだねw

359 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 03:25:41.16
商品コード:商品名
1234:ビール
5678:酎ハイ
9012:日本酒

な感じで並んでいるのですが、

1234:ビール
1234:ビール
5678:酎ハイ
5678:酎ハイ
9012:日本酒
9012:日本酒

というように、単純に2つにコピーしたいです。
ササッと簡単に出来る方法はないでしょうか?
200品目くらいありますので普通の列コピペだとすこぶる面倒です。

360 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 03:30:57.37
なんでこんなに使い物にならないんだろう?w
高いくせに、まじゴミなのw
一つのセルごとに一つ一つ関数入力しなきゃいけないのw
ほんとにゴミw
なんで一気に、複数のセル、複数の範囲を指定できないのかw
範囲内にさらに区分することができないのかw
=COUNTIF(C603&F603,"○")

C603とF603両を対象にしたいとき&じゃダメwwwwwww
C603:F603って:←(笑)いちいちこれで範囲にしなきゃいけないwwwwww
D603とE603まきこんじゃうwwwwwwwww巻き込みたくないのに巻き込まなきゃ無理wwwwww
何このくそ仕様wwwwwwwwwwwwwwwwwwwwww



本当にゴミツールですw使い物になりませんwwwww
ありがとうございましたwwwwwwwwwww
本当にゴミですw作った人死んでくださいw
本当にゴミですw

361 :340:2012/12/01(土) 03:56:00.16
>>356
経理だからワード、エクセルの初中級は必要でしょう。会社名どころか、
逆にそれが不要な所は無いでしょう。

>>357
中級の定義はそれぞれだから。初級が基本操作ができるレベルとして、それ
プラスαくらいでしょ。
今、関数2個位しかできないから、まぁ5個10個使えるとか。ちょっと調べれば
使いたい機能がすぐに使える状態とかじゃないの。

362 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 04:06:49.02
ていうか開発者に聞きたいんだけどw
COUNTIFって、条件にあてはまるものを集計するものでしょ?
じゃあ普通に考えて、複数範囲があるって考えないのかな?
一つのセルを対象にしたって、見た目で一つしかないってわかるんだから、まったく意味のない関数になるってことがわからないのだろうか。
複数範囲、複数指定が当たり前の関数なのに


 こ れ が で き な い こ の 頭 の 悪 さ wwwwww


IQ何の人が作ったんだろう?このexcelって?まじで笑えるwwww

363 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 06:18:18.91
文句言う前にヘルプ読まないとw

364 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 07:30:33.32
>>363
書いてないからw
あの、言ってることわかります?複数の条件じゃなくて、


  複  数  の  範  囲   ねw


てかなんでどこにも書いてないの?w
この手のソフトって本当に説明がゴミだよねw
なんか別に参考書かってそれで勉強しろみたいなw
本当に説明最悪だよねw

365 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 07:33:08.18
=COUNTIF(C603&F603,"○")

これの表記の何が間違ってるのかわからないんだけど

=COUNTIF(C603&F603,"○")

これの表記の何が間違ってるのかわからないんだけど

=COUNTIF(C603&F603,"○")

これの表記の何が間違ってるのかわからないんだけど

=COUNTIF(C603&F603,"○")

これの表記の何が間違ってるのかわからないんだけど

=COUNTIF(C603&F603,"○")

これの表記の何が間違ってるのかわからないんだけど

366 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 07:38:11.85
>>358
COUNTIFで複数の範囲は指定できない。

http://www.geocities.jp/chiquilin_site/data/120309_skipping_range.html

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1249050167

こういう方法がある。
君の言うとおり、COUNTIFの関数の存在価値はほとんどない。

367 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 08:34:29.08
>>359
商品コードがA列で商品名がB列、この見出しが1行目にある普通の表であり、
今現在全部一件づつなのを二つづつにしたいなら、

1.マウスでA2をクリック (選択)
2.Ctrl+Shift+→ (A2:B2選択)
3.Ctrl+Shift+↓ (A2:Bデータの最下行選択)
4.Ctrl+C (コピー)
5.Ctrl+↓
6.↓
7.Ctrl+V (データの最下行の下に貼り付け)
8.→
9.B列のどこかを選択した状態で昇順か降順で並べかえ

368 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 09:34:24.61
テーブルつかえないひとにはCOUNTIFは無用の長物

369 :356:2012/12/01(土) 09:51:00.46
>>361
>経理だからワード、エクセルの初中級は必要でしょう。

あんた、ダメだわw
会社が求めてる人材は、そこじゃないよ。

「今までエクセルで何をやってきたの?」
「経理の実務経験は何年やったの?」
「簿記は何級を持ってるの?」

エクセルやワードが初歩レベルでも、ある程度の経理はできるから
必要な関数は入社後に覚えればいい。

370 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 09:56:40.41
経理にExcelなんかつかわないだろ 専用ソフトだよ

371 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 09:59:11.98
>>369
お前はただ他人否定したいだけのザコだろw
今はエクセルの知識に絞って聞いてるだけなんだよ。そこを経理=エクセルの
能力だと思ってると勘違いしてドヤ顔ww

お前のザコっぷりがよくわかるわwwwwww
カスに限って自分は能力あると思い込みたいんだよね。
しねw

372 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 09:59:56.33
>>370
無職はおねんねしてろ。

373 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:01:28.72
>>370
決まった処理しかしない(税務申告だけとか)経理部門なんて
ないだろ。

374 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:03:05.60
まあ従業員2,3人の事務所ならExcelでなにもかもしてるところもあるかもしらんが

375 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:06:38.48
エクセルだけで経理は無理だよバカw
エクセルに金を掛けるなら、専用ソフトに回した方がいい。

376 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:09:50.05
Excelすら使えない経理・・・

377 :356:2012/12/01(土) 10:11:55.75
おぉ、盛り上がってるw

>>371
あんたは340?
経理=エクセルの能力だなんて思ってないし、書いてないよ。
369の最後の2行が的を射ってるだろ?

378 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:23:50.94
俺が描く340の人間像

「今までエクセルで何をやってきたの?」 → 集計とかグラフとか
「経理の実務経験は何年やったの?」 → 経験はないです
「簿記は何級を持ってるの?」 → 持っていません

379 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:32:58.21
いくらExcelがつかえても伝票の仕分けがわからなければ入力すらできないわけだが

380 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:38:39.41
伝票の仕分けってなんなの?

381 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 10:41:31.33
無職はおねんねしてろ。

382 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 11:32:34.06
>>377
ちげーよ。>>369は、>>361が経理=エクセルの能力だと思っていると勘違い
しているという意味だよ。それでエクセルより経理実務と資格の方が重要だと
挑発してきたんだろ。

>エクセルやワードが初歩レベルでも、ある程度の経理はできるから
>必要な関数は入社後に覚えればいい。
ある意味そうだけど、それは応募者側の論理。面接官が既に中級レベルまで
の人のほうが望ましいと思っていたらそれまでのこと。
それに何か作ろうとしたときに初めて関数勉強しだすより、中級程度なら
その場で出来た方がいいだろ。

383 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 11:37:53.49
なんで経理はエクセルだけだろとか、専用ソフトだけだろとか限定してるの?
バカなの?つか専用ソフトて何だよ。会計ソフトて言えよ。無職だから
知らないのかよ。

総勘定元帳は会計ソフトを使って、入力する数値の集計や各種資料の作成に
エクセルを併用してるんだろ。

384 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 11:45:03.49
金額を集計してから入力なんてしない。そんなことしたら明細が管理できなくなる。
資料の作成にいちいちExcelつかってたら専用ソフトつかう意味が無い。生産性が下がる。
仮にそういうことがあるとしてもCSVで出してピボットで集計するくらいだな。
あわててぐぐってキーワード並べてみても実務経験ないのがバレバレだよ。

385 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 12:06:39.83
専用ソフトで仕事こなせてたらそれでいいやろ。

でもエクセルさえも使えない人って専用ソフトとかの操作覚えるのも下手じゃね?
簡単に覚えれる操作だけしか覚えないし、自力で説明書読んで他の便利な使い方
まで覚えようとは絶対しないし。

386 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 12:15:22.27
>>384
はぁ?お前のいうところの専用ソフトて何だよ?w何でもその専用ソフトと
やらにぶち込んでるのかよ。
無職はおねんねしてろよ。

387 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 12:19:53.02
Excel得意ですってやつはちょっとあぶないんだよな 他人にはどうでもいい作業を
深夜までやって仕事したような顔してるし

388 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:05:29.94
中級ってなんだよとか専用ソフトってなんだよってどうでもいいわ。なんとなくで解釈すりゃーいいだろ。
融通の利かん奴らだな。

389 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:14:51.67
Excel中級のひと募集って求人でもあったんじゃねーの?w

390 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:20:39.14
エクセル出来る人って条件だとエクセル開いて文字打てますレベルの人も来るからね。

391 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:29:50.27
ここで正社員求人を「エクセル」で検索したら21件しかヒットしなかったよ 残念だったなw
ttp://townwork.net/06_lac_01/Fh00140s_osf_3/

392 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:38:05.73
>>391
英語で検索 18件
中国語で検索 9件
EXCELで検索 56件
エクセルで検索 21件

ハローワークで関西の俺のいる県一つだけで、エクセル・EXCELで検索 300件
ハロワで同じく1県で英語で検索 14件
ハロワで同じく中国語で検索 2件

なにがどう残念なのかよくわからん。そのサイトは残念な気がするけど。

393 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:48:24.59
なるほど ハローワークだと「エクセル 中級」で198/377818件だった 0.7%は需要がある よかったなW

394 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:50:34.14
>>388
お前みたいなニートなら抽象的な話しでいいかもしれないけど、実務では
話し詰めるからな。答えられないなら引っ込んでろよ。

395 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 13:51:30.64
>>389
>>391
>>392
>>393
レベル低い奴。おもしろいと思ってるのか?

396 :359:2012/12/01(土) 17:19:31.57
>>367
確かに最後尾にペーストしたあとに並び替えすれば済む話でしたね。
全く想像できませんでした。
ありがとうございます。

ID出ないと一人自演をあぼーんするのも大変ですね。

397 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 17:26:26.60
同じ敵に付け狙われてると妄想するのは糖質の初期症状だよ

398 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 19:03:00.94
d
f

399 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 19:09:17.61


400 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 19:15:00.38
>>382
お馬鹿なお前に教えてやろう。
経理の転職は、実務経験がないと無理。
その実務経験も大企業での10年と中小企業での5年だったら後者の方が優遇される。
簿記も日商簿記2級以上でないと書類選考で落とされる。
エクセルなんて何の優遇措置もないよ。

>>383
中小なら市販の「会計ソフト」、大企業は「専用ソフト」でいいんじゃねーの?
俺のところは富士通のGLOVIAだけど、社内では「会計ソフト」なんて言わない。
しいて言えば「会計システム」だな。償却方法も独自だし、GLOVIAといっても
他社とはまるで違うと思う。

401 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 20:04:40.40
Excel全般の雑談スレ作りました。
雑談・議論は以降↓でどうぞ。
http://toro.2ch.net/test/read.cgi/bsoft/1354358619/

402 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 20:25:36.31
>>400
>経理の転職は、実務経験がないと無理。
>エクセルなんて何の優遇措置もないよ。
すげー情報教えて貰っちゃったよ。
とここんコミュ障だなw

403 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 20:35:13.12
ピボットテーブルの使い方で質問です
お願いします

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


集計するための元データは4点
従業員番号・個人名・売上・売り上げた日付
単に毎月の合計を出したいので、日付はピボットでは無視して
行ラベルに従業員番号・名前(従業員番号順で並べます)
値に売上を入れて合計値を出してもらいます

これで良いんですけど、表示上で従業員番号と名前の両方に売上が出てしまい見づらい
個人名の所だけ売上を表示させるにはどうしたら良いんでしょうか?

(下記のように表示されます)
001       \2,000-
   佐藤    \2,000-
002       \5,000-
   鈴木    \5,000-
003       \3,000-
   高橋    \3,000-

404 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 20:41:21.36
シートの右に表示される操作ペインで行ラベルの「従業員番号」を右クリックし、
「フィールドの設定」をクリック。「小計」で「なし」を選択する。

405 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 20:41:27.20
>>402
無職はおねんねしてろ。

406 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 21:01:26.11
>>404
できましたー
ありがとうございました

407 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 21:22:32.55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問です。以下のように並んでいるデータがあります。

名前1  データ1A  データ1B
名前2  データ2A  データ2B
名前3  データ3A  データ3B
名前4  データ4A  データ4B
名前5  データ5A  データ5B
名前6  データ6A  データ6B
名前7  データ7A  データ7B
名前8  データ8A  データ8B
名前9  データ9A  データ9B
名前10  データ10A  データ10B
……(以下続く)

このデータを画面の上だけ↓みたいな感じの配列にする方法はありませんか?。
なお、名前やデータでソートすることは前提なので、普通に行を変えるのはできればやりたくありません。

名前1  データ1A  データ1B    名前6  データ6A  データ6B
名前2  データ2A  データ2B    名前7  データ7A  データ7B
名前3  データ3A  データ3B    名前8  データ8A  データ8B
名前4  データ4A  データ4B    名前9  データ9A  データ9B
名前5  データ5A  データ5B    名前10  データ10A  データ10B

408 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 21:29:39.82
無理

409 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 21:39:03.49
どうしてもというならカメラ機能で

410 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 21:39:59.24
やっぱり無理ですか。了解しました。ありがとうございます。

411 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 23:46:39.55
OS: XP SP3
EXCEL: office XP

文字列セルにおいて、配置を 中央揃え以外 にした場合に、罫線と文字がくっつかないようにする方法は、
1 文字の前後にスペースを入れる→データが変わってしまう
2 インデントを設定する(左または右詰めの場合)→間隔が開きすぎる
の二つ以外にはないでしょうか?

412 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 23:48:39.74
>>411
うちのExcel2003では罫線と文字がくっついたりしないけど
もうちょっと具体的に状況を教えて

413 :名無しさん@そうだ選挙にいこう:2012/12/01(土) 23:52:08.06
>>407
・必ずa,bのデータがある
・1行目にタイトルがある
・2列に分解する として

例えば
D1:=ROUND((COUNTA($A:$A)-1)/2,)
E2:=IF(ROW()-1<=$D$1,A2,"-")
として右と下にコピー
H2:=IF(ROW()-1<=COUNTA($A:$A)-1-$D$1,OFFSET(A2,$D$1,),"-")
として右と下にコピー
とでもすると希望のようになるけど。。もちろんD1はそのまま式に組み込んでもいい

414 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 08:02:38.60
>>407
画面の上だけって部分がいまいちわかりづらいけど

コピーとリンク貼り付けだけで作れるように思えるのは気のせい?
(408さんのカメラ機能と同じ発想ね)

415 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 17:53:18.87
>>411
セルの書式をユーザー設定にして、" "@ じゃダメですか? (""の中は半角or全角の空白)
左側の罫線から離れるはずです

416 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 20:44:14.56
PCのカレンダーから来月を変数aに入れるとき、11月までは
下記のやつでおkでしたが、今月になったら13月になってしまいました・・・ orz
12月のとき1月を入れるには、どうすればいいですか?

a = Format(Date, "m") + 1 & "月"

417 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 21:00:19.69
a = Format(Date,+Month(1) "m") & "月"

418 :417:2012/12/02(日) 21:04:26.68
糞!

419 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 21:12:44.80
ワークシートなら
a==TEXT(DATE(YEAR(NOW()),MONTH(NOW())+1,DAY(NOW())), "m") & "月"

420 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 21:26:02.24
If Format(Date, "m") = 12 Then
  a = Format(Date, "m") - 11 & "月"
Else
  a = Format(Date, "m") + 1 & "月"
End If
でいいんじゃね?w

こんな方法もあるけど
a = Month(DateAdd("m", 1, Date)) & "月"

421 :416:2012/12/02(日) 21:33:45.35
>>417
コンパイルエラーでした。

>>419
コンパイルエラーでした。

>>420
ありがとうございます。
下の方を使わせてもらいます。

422 :359:2012/12/02(日) 21:59:30.30
経理Excel中級戦争は終わったのか?

上司がExcelが全く使えなくて困っております。
Excelは表計算するためのソフトではなく、表を作成するためにしか使っていないように思います。
数式にSUMとAVERAGE以外を使うと数式が理解できないためか怒ります。
IFなんか使って条件分岐なんかした日にはブチキレです。
VLOOKUPや配列数式、VBAなどもってのほかです。
本人いわく
数式が複雑化して数値に間違いがあった時に何処が間違っているのか把握ができない、また、デバッグ作業に時間をとられるくらいなら最初から単純な式にすべき
とのことですが。
言ってることはもっともらしく聞こえますが、足し算をするよりも掛け算を行ったほうが遥かに効率がいいように、
Excelは関数を使ってナンボだと思います。
(もちろん、無理やり難しい関数を使うようなことはしませんが)
あと10年くらいは上司が変わることはないと思うのですが、どうにかならないでしょうか?

p.s.
Excelというか単純にパソコンが使えないみたいです。
8年くらい同じ職場で働いてますが、まさかZIP圧縮のやり方を知らないとは思いませんでした…

423 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:08:16.72
>>422
経理Excel中級紛争は、バカな奴が主観でアホな因縁つけてきただけだからな。

その上司と共同作業しなきゃいけないの?一人で完結させて出来た結果
だけ渡すんじゃないの?

424 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:16:20.11
>>423
無職はおねんねしてろ。

425 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:21:29.53
パソコンが使えない上司ってどんな会社なんだろう?
ウチの会社はTOEIC600点以上または海外勤務3年以上とか論文審査とか
カナーリ厳しい条件なんだけどな。

tk、お前が教えてやればいいんじゃね?
あと、ZIP圧縮のやり方を知らない人は結構いるよ。

426 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:31:19.39
>>422
そういや、ZIP圧縮について知らない人いるよ。うちの上司(30代半ば)も近い感じ。

なんかあなたのフォルダ開いて中見れるけどファイル名が変えれない。なんなんこれ。フォルダ名にジップって
ついてるけどなんなん。わけわからんわ。ってうざそうに言われた事がある。数十個のファイルをまとめてメールで
送るために圧縮してただけなんだけどね。

427 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:37:02.94
>>422
まぁ、レベルの低い人に合わせるのもレベルの高い人のお勤めと思いねぇ
俺ならその人の言うこと全てに従って、他の課を手伝い、誰が理解しているかを把握する。もちろんできるだけ高い役職にいる人にね
そして社長、もしくは役員と飲んだ時にポロッと口を滑らせてしまうね
悪気はないんだけどねえ
圧縮を知らない人は結構いるね。特におばさんに多い気がする。
男性は色々ファイルのやり取りがあるから必然的に覚えるけど、女性はそういう知識を得る機会は少ないんじゃないかな
>>425
大企業になると逆にPCの知識に疎くなる傾向がある
なんでも専用ソフトでボタンひとつになるからね。
しかしAccess辺りは妙に強かったりする。本社鯖のdbの取得方法だけは完璧に覚えていたり。
しかしデータベースの概念やIPアドレスを知らなかったり。
中小、零細になると何もかもを自分でやる必要がでてくるのですげースキルが高かったりする。
このスレの回答者は多分そう。

428 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:39:45.03
>>422
そりゃコピペ+ソートなんていうExcelの基本的な操作が想像できなかった人間が
何を言っても説得力ないわなぁ・・・

429 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:56:17.21
>>416
それなら、こうすると良いよ
=MONTH(EDATE(TODAY(),1))

430 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:57:25.76
TODAY() のところを好みの日付にしてね。

431 :名無しさん@そうだ選挙にいこう:2012/12/02(日) 22:59:48.91
ちゃんと書いてみました

a =MONTH(EDATE(DATE,1)) & "月"

432 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 00:26:27.89
>数十個のファイルをまとめてメールで送る
低脳は辛いね&hearts;

433 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 01:08:25.00
>>432
なんでだめ?

434 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 01:20:27.17
そんなこともワカランのか!
俺は寝る

435 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 06:35:03.59
>>434
ねえ、なんで?俺にはワカラン。
数十個を一つにまとめずに送る方がええの?ねえなんで?

436 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 09:34:05.67
>>422
その上司に提出する時だけ、
元のブックを値だけ貼り付けでコピーした奴を渡したら?

437 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 09:39:47.68
どんなにExcelをよく知ってても、コミュカの低いやつはうちの会社には必要ないんで

438 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 11:01:26.39
>>437
早く辞職しろよ

439 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 12:42:37.69
Excelを多少極めるって数学の知識が必要なんか
中学時代の数学の先鋭なんかは数学の知識がなくとも大丈夫と言っていたのに・・・・
ちなみに37のオッサンです

440 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 13:19:33.56
>>439
Excelをどういう用途に使うかによる

統計や理学系など数学知識を前提とする分野で使うなら
そりゃ最低限の知識は必要でしょう

データ整理とかが主な目的なら要りませんよ
ただ「算数」の知識は最低限必要だと思いますけどね

441 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 13:57:22.12
>>439
メモ帳を極めた俺から言わせてもらうと
Excelと数学には関連はない

442 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 18:32:01.74
「メモ帳を極めた」なんていうほど、メモ帳って機能豊富なんか?

443 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 18:40:38.84
だって、字が書けるんだぜ!

444 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 19:52:33.35
>>423
お前は402か?
無職ならハロワで聞いてみな。
経理の転職は、実務経験がないと無理だってわかるからw

エクセルなんて何の優遇措置もないと書いたのは、事務職なら出来て当たり前。
わざわざ応募要項には書かないし、関数を数多く知ってたところで
仕事が効率よくできるとも限らない。

445 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 20:15:25.57
>>444
ヨシヨシ、エラいでちゅね〜

446 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 20:20:20.30
>>444
ここまでコミュ障だと、もはやアレだなw

447 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 20:31:51.35
コミュ障としか反論できないやつw
生きてる価値がないんじゃね?

448 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 20:59:38.15
これ以上は以下でやってね
【質問不可】Excel総合相談所スレの雑談・議論スレ3
http://toro.2ch.net/test/read.cgi/bsoft/1354358619/

449 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 22:12:57.26
>>415
ありがとうございました。そのやり方を忘れていました。それでいきます。
>>412さん
フォントに依るもの及び文字に依るものだと思います。
完全にはくっついていなくても、FAXするとくっついて読みにくくなる、というのが一番の問題です。
OpenOffice系のように罫線と内容との距離を調整できる仕組みがMS-Officeにもほしいところです。

450 :名無しさん@そうだ選挙にいこう:2012/12/03(月) 22:44:33.21
OpenOfficeではその調整できるのか。普段は必要性感じないけど調整したい時もあるね。
何度も使うような書類の場合は細い列・行を使って調整してるけど面倒くさいわ。

451 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 07:51:51.00
【1 OSの種類         .】 Windowsxpsp3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

aaa,b
0.1,44
0.2,23.1
0.5,777.4
0.6,-10
0.7,999
0.8,-496.3
0.9,37
1.1,0
1.2,865
1.3,-5
1.4,-5955
1.6,0
1.8,594.3
2.1,-459

上記のようなcsvファイルがあります。
aaaの値がx刻みのbの平均値を出したいのです。

たとえばxを0.5とした場合、以下のように平均値を自動的に出せますか?

aaaが0超0.5以下(0.1と0.2と0.5)のbの平均値((44+23.1+777.4)/3=281.5)
aaaが0.5超1以下(0.6と0.7と0.8と0.9)のbの平均値(132.425)
aaaが1超1.5以下(1.1と1.2と1.3と1.4)のbの平均値(-1273.75)
aaaが1.5超2以下(1.6と1.8)のbの平均値(297.15)
aaaが2超2.5以下(2.1)の平均値(-459)

452 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 08:48:24.50
簡易にやるには
Vlookupを0.5刻みで作成し
新しい階層値を作ってあげる
その際に、値(aaa)は負にして利用する。

その階層値とbを使用してピボットテーブルで平均値をとる。

453 :451:2012/12/04(火) 10:05:50.66
どうもありがとうございます。実は
気軽に「こんなソフトありませんか?」スレから誘導されてここに来たのですが、excelに疎いです。

なので、もう少し詳しく説明して下さるとありがたいです。
または、マクロを作ってくださるとありがたいです。

大変お手数おかけいたしますが、どうぞよろしくお願いします。

454 :451:2012/12/04(火) 10:18:25.57
マクロの場合、

455 :451:2012/12/04(火) 10:19:39.49
マクロの場合、xの値を自由に変更できるようにしていただけるとありがたいです。
どうぞよろしくお願いします。

456 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 11:04:09.01
>>452
Excelに疎いなら、マクロを使わないほうがいい。
ピボットテーブルの使い方をHelpあるいはWebで探れば
1時間程度でマスターできる。
その後、>>452 の方法をとるのがいいと思う。
そのほうが(あなたにとっては)利用価値がある。

457 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 17:58:15.38
うん?
ピボットテーブルで0.5刻みにグループ化するだけじゃないの?
0.5を任意の数値で自動化したいってことか?

458 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 18:01:21.93
>>457
はい。

459 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 19:20:37.82
1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007と2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
基本的なことですが
セルの書式設定についてです。
2つのセルを結合して、アポストロフィーをつけて全角数字を入力。
その後セルの結合を解除し、アポストロフィーを取って数字を半角で表示。
そうしたら数字が半角になったのですが、左揃えになってしまい、
右揃えにできません。
セルの書式設定で数値や標準にしてもダメでした。
配置のタブで右揃えにしても左揃えのままです。
他のシートの書式をコピーして貼り付けても左揃えが解除されません。
どうしたら右揃えにできるのでしょうか。

460 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 19:26:57.38
>>459
再現しない(2010)

(1) A1とB1を結合
(2) A1に「'123」と入力
(3) セル結合を解除
(4) A1に「456」、B1に「789」と入力

この時点でどちらのセルも右寄せになった

461 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 19:50:53.64
>>460
460さんありがとうございます。
普通はそうなりますよね。でも今回作成中のシートに限って
459のようになってしまします。
もう一つの現象としては、セルの幅からあふれ出した文字が消えてしまいます。
普通は、右側のセルに何も入力されていない場合文字数が多くても表示されますが、
今回はセルの幅を超えた時点で、まるで隣のセルに何か入力背れているように(
何も入力されていません。確認済みです)表示が途切れてしまいます。
たぶん途中で複数の人数で扱っているシートなので
誰かが変な操作をしたためだと思われますが、困っています。
この変な操作がなんなのか、どうしたら治るのかわからないのです。
お数ですが似たような経験のある方などの情報をお待ちしています。

462 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 20:02:58.22
ピポット厨って、マクロは使えないの?

463 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 20:07:41.88
フツーに判断できる人間は
ピボットテーブルでもVBAでも
その場にいちばん適した方法を使う

それだけのこと

464 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 20:11:41.58
>>461
そのシートだけでしかならないなら、もう1回別のシートに入力しなおすとか、問題ないセルで上書きしてみたら?

465 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 20:33:23.95
>>464
464さんありがとうございます。
その方法では、治るのです。
ただ、文書作成の締め切りが明日なのと、
貼り付けした以降の文書の体裁をそろえるのに
2時間程度はかかることを考えると難しいのです。
今回はあきらめ、左揃えのまま提出することにします。
大変お騒がせしました。
ただこのような現象の解決方法について何かシンプルな方法が
ないかと思いここで相談させていただきました。

466 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 21:33:20.73
>>462
マクロを使えるようになるにはvoをポと発音すればいいですか?

467 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:08:47.43
>>465
症状さえ再現するなら中のデータはいらないので、
仕事終わって一段落したらそのブックどこかにうpしてみては?

実際のブックで調べたら何が原因なのか分かるかもしれない。

468 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:33:36.05
Excelのブックは印刷やFAXの時は点線にしとくと普通の細実線になるよ。
FAX用とか印刷用のシートを作っとけばいいよ。

469 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:34:43.26
>>467
そうしたいのですが、うpできないファイルなので…
説明もうまくできずごめんなさい。
ちなみ自分は教員でファイルは個人情報ばっかりなので無理です。
スキルはちょっとした教員の研修会では、
講師の説明の間違い程度は指摘できます。
さすがに高校の情報系の先生にはかないませんが…
でも、たぶんちょっとしたケアレスミスがあるのだと
思っているので相談させてもらいました。
お騒がせしました。では

470 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:38:28.02
>>469
追加
「教員のExcelの講習会で自分もよく講師をしたりする機会もあるので」
知りたかったんです。

471 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:38:50.58
教員かどうかは関係ないし個人情報がどうこうも関係ない。
バカが自分のやった設定を覚えてないだけです。

472 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:40:54.72
バカのフォローもしないといけないのです。

473 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:47:51.25
再現できない事を教えろと言われても無理。
バカにはそれがわからないのも無理ないですね。
できることといったらあなたはバカだと言ってあげられることだけ。

474 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:55:10.17
なんで毎回毎回しょーもないことで荒れるんだココは

475 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 22:57:46.96
バカの自覚のないバカがバッカじゃない体で書き込むからだろ。
まじでバカと思ってないのが不思議でたまらんわ。

476 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:01:03.75
おまけにバカのくせに自分は馬鹿に教えてるからバカじゃありません
だからわからないこと教えて下さいとかバカすぎるだろ。
バカにははっきりバカだって言ってやらなきゃ駄目だわ。

477 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:05:16.48
倉山満 街頭演説 平成24年11月24日
http://www.youtube.com/watch?v=tROXE9UGi9Q

478 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:21:17.21
ピボットテーブルの使い方をマスターしたいのですが
1時間程度でマスターできるWebはどこにありますか?

479 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:25:12.32
>>451の件
2007以降でAVERAGEIFS使って範囲に余裕持たせて準備したら関数で出来ると思う。
http://www.dotup.org/uploda/www.dotup.org3698277.gif.html

こんな感じで。
2003の関数で誰か作れないかな。

480 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:29:34.46
>>474
ヒント 
@教員
A追加
「教員のExcelの講習会で自分もよく講師をしたりする機会もあるので」
知りたかったんです。

481 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:41:38.83
>>465
普通のスキルがあったら、違うシートに張り付けて同じ物作るぐらい数分の作業だと思うが。
シート変えて作り直すのに2時間って、その時点でおかしいエクセルの使い方してる予感が。

482 :名無しさん@そうだ選挙にいこう:2012/12/04(火) 23:45:21.92
グループ化した図形のサイズ調整です。乙

483 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 00:06:49.16
>>478
http://msdn.microsoft.com/ja-jp/library/gg399128.aspx

484 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 07:45:27.35
>>451
c列はaaa*(-1)、d列はvlookupした結果。
aaabcd
0.144-0.10.5
0.223.1-0.20.5
0.5777.4-0.50.5
0.6-10-0.61
0.7999-0.71
0.8-496.3-0.81
0.937-0.91
1.10-1.11.5
1.2865-1.21.5
1.3-5-1.31.5
1.4-5955-1.41.5
1.60-1.62
1.8594.3-1.82
2.1-459-2.12.5

Vlookupテーブルはこれ範囲1がF列なら =VLOOKUP(C2,$F$2:$G$8,2,TRUE)
範囲1範囲2
-3.0 3
-2.5 2.5
-2.0 2
-1.5 1.5
-1.0 1
-0.5 0.5
0.0 0

マイナスにした理由は、
Vlookupは、○○以上〜△△未満 という区分けなので
○○超〜△△以下 にするため。
このb列とd列を使ってピボットで平均を出せば出来上がり

485 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 07:49:56.81
あ〜めタブでめちゃくちゃや。CSVにしてみた
aaa, b, c, d,
0.1, 44, -0.1, 0.5,
0.2,23.1,-0.2,0.5
0.5,777.4,-0.5,0.5
0.6,-10,-0.6,1
0.7,999,-0.7,1
0.8,-496.3,-0.8,1
0.9,37,-0.9,1
1.1,0,-1.1,1.5
1.2,865,-1.2,1.5
1.3,-5,-1.3,1.5
1.4,-5955,-1.4,1.5
1.6,0,-1.6,2
1.8,594.3,-1.8,2
2.1,-459,-2.1,2.5
Vlookupテーブルはこれ範囲1がF列なら =VLOOKUP(C2,$F$2:$G$8,2,TRUE)
範囲1,範囲2,
-3.0, 3
-2.5 ,2.5
-2.0 ,2
-1.5 ,1.5
-1.0 ,1
-0.5 ,0.5
0.0 ,0
マイナスにした理由は、
Vlookupは、○○以上〜△△未満 という区分けなので
○○超〜△△以下 にするため。
このb列とd列を使ってピボットで平均を出せば出来上がり

486 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 09:34:44.98
>>479>>484-485
どうもありがとうございます。
excelに関して無知なのでまず操作方法から勉強してみます。

487 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 09:42:08.67
図形をいっぱい使って絵を描きました。
それを左右反転することってできますか?
その際テキストで入ってる文字はもちろんそのままで。(ワードアートは使ってません)

488 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 10:57:44.58
>>487
左右反転の機能を使えばできますがテキストは反転されません
テキストも反転しなければならないなら図に変換してから反転する必要があります

489 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 13:12:25.50
>>488
左右反転の機能はどうやって使うのでしょうか?
どこを選んでどこのボタンを押したらいいのでしょ?
テキスト反転は不要です。

490 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 13:18:33.45
>>489
バージョン書いてないからわからないけどExcel2007以上の機能
それ以前なら図としてコピーして反転させなきゃダメだと思う

491 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 13:44:39.94
>>489
ヘルプで「左右反転」で検索したら載ってるでしょ
こんなとこで質問する前にググった方が早いだろうに・・・

492 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 14:20:21.89
図形の反転なら2003でもできるよ
ヘルプなりグーグル先生でどうぞ

493 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 18:35:50.85
てめーら、ググれググれしか書けねーのかよ!
んなことは小学生でも書けるわボケ!

494 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 18:45:16.91
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 初心者レベル
【4 VBAでの回答の可否】 無理なら可

サイト取込みでURLの一部分の数字によってページが変化するので数字部分のみをwebクエリでパラメータ指定して取り込んでいます。
そこで、間間に記事が削除され存在していない場合などがあって、
http://www.blog.○○(○は数字部分)を開くことができません。必要な情報をダウンロードできません。」
というウインドウが出てきます。
例えば1〜10のページを表示させようとしたときに、6ページが削除されてた場合、いちいちこのウインドウが出る度に次のwebクエリの読み込みが止まります。
なんとかこのウインドウを出さずに回避する方法はないでしょうか?

495 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 18:47:35.82
>>493
それはググることすら考え付かない質問者は小学生以下だと言っているようなものだぞ。

496 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 18:53:49.69
ぐぐった結果わからなかったから質問してるって意味じゃねーの。
まぁぐぐったら直ぐ分かるようなことを質問してたら小学生以下だが。

497 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 21:48:27.77
質問スレでググった方が早いとか言ってたら質問スレの存在意義がなくなるきがするが。

498 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 22:01:04.45
手がかりなしでググれというのはなんだが
十分な手がかりが出された状態でのググれはアリではないかな

499 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 22:11:12.30
いい歳したおっさんが小学生にググれって言われたくないなら
こんなとこで質問なんてしてんなよ・・・

500 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 22:16:55.19
>>498
ああごめん。それはそうだよ。ここで全部説明するわけにはいかんし。

例えば>>491ね。

ヘルプで「左右反転」で検索してみてください。すぐわかりますよ。
「エクセル オートシェイプ 左右反転」などで検索してみてください。

みたいな回答できんものかと思って。

501 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 22:20:57.86
もういいから続きは>>448に行ってやってくれ

502 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 22:34:51.22
まぁ助け合いで成り立ってるスレなんだから、質問者は望む回答者がいなかったら諦めろ
回答者は分からなかったりめんどくさいと思ったらスルーしてあげればいい

503 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 22:50:59.85
Excelで入力した日本語をUTF-8に表示にエンコードする機能とかない?

504 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 23:10:42.12
MS-OfficeでUTF8だとADODB.Streamなんかな。
2010だとデフォでUTF-8だったっけかな?

505 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 23:15:37.64
>>494
webクエリだと警告キャンセルはできないんじゃないかな
vbaでMSXML2.XMLHTTPあたりでステータスコード見れば行けそうだけど
excelの話題かそれ?って怒る連中いるから自分で調べてみて

506 :名無しさん@そうだ選挙にいこう:2012/12/05(水) 23:19:31.21
>>505
やはり無理ですか・・・
ありがとうございます

507 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 16:56:19.27
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

VBAは全く分からないのですが、色つきセルをカウントする方法はないものかと探していたら
http://blogs.dion.ne.jp/day_after_day/archives/9456749.html このページを見つけ

Function CountColorA(Rng As Range) As Long

 Dim myRng As Range
 Dim Col_cnt As Long
 
 '再計算時に呼び出し
 Application.Volatile
 Col_cnt = 0
 
 '対象範囲内のすべてのセルの色をチェック、カウントする。
 For Each myRng In Rng
  If myRng.Interior.ColorIndex > 0 Then
   Col_cnt = Col_cnt + 1
  End If
 Next myRng
 CountColorA = Col_cnt
 
End Function

これを拝借して使っていたのですが、ちょっと処理が重いので
範囲指定したいのですが、全く知識がないためにどうすればよいのかわかりません。
sheet1とsheet2のD,E,F列とC2からC5とM2からX5だけに対象範囲を狭めたいです。
どなたかこれを書き換えて頂けませんでしょうか?
よろしくお願いします。

508 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 18:19:51.49
myRngなんて変数を使ってる人が未だにいるのかwww

509 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 18:38:06.05
>>508
そんなコメントは雑談スレ使ってやって下さい。

510 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 18:50:48.92
色付きセルを数えるなんてのは昔から馬鹿と相場が決まっている
質問する奴も回答する奴も両方だ
その関数じゃそもそも色を変更しただけじゃ動かない
変数名に関してはセル範囲だったらmyRngでも別に構わんだろうが単独セルにmyRngはちょっとなぁ
For Nextにiを使うようにそういうケースはFor Each cが一般的
For Each iってやる人を見たがiって何の略だろう?

511 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 18:55:45.92
一般的(キリッ

512 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 18:57:27.48
色付きセルカウント馬鹿の手助けをするとInterSectを使うことになる
UsedRangeも使うことになるかな?

513 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 18:58:33.75
>For Each iってやる人を見たがiって何の略だろう?

その場で本人に聞かずにこんなとこで質問するのは馬鹿と相場が決まっている

514 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 19:00:50.27
何の略でもないのはわかってるから聞かないのさ

515 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 19:09:05.61
iを使うのは1に似てるからだYO!

516 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 19:09:24.05
なんでRangeオブジェクトの変数にc使うの?
伝統か何か?

517 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 19:16:20.44
For Eachを使うときは、どんな場合でも For Each wsしか使ってねーわw

518 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 19:16:37.59
速度出ないって言ってるのにintersect使ったら逆効果じゃないの?

519 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 19:36:43.65
列全体を調べてるから、intersectとusedrange使えばって意味じゃないの

520 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 20:05:39.12
PCのカレンダーから先月を変数bに入れるとき、12月までは
下記のやつでおkですが、来月になったら0月になってしまいます・・・ orz
1月のとき12月を入れるには、どうすればいいですか?

b = Format(Date, "m") - 1 & "月"

521 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 20:22:36.48
>>520
>>420に似たようなのがあるよ

522 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 20:52:04.30
シート1に
A+、A、A−〜E+、Eの下に数値をいれたセルの表を作り
シート2に
一つのセルにBと入力すると隣のセルにそのアルファベットの下の数値が表示されるようにする方法はありますか?

523 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 20:57:18.96
あります

524 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 20:58:16.74
vbaは1月は0でなくて1なのか

525 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 20:59:28.86
>>522
横方向にデータ並べるんだったら、hlookup関数だったかでできんじゃない?縦ならvlookupで。

526 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 21:07:31.34
>>507
こんなんかな?再計算しないと動かんみたい。検索で探して全選択してステータスバー見た方が早いかもしらんわこれ。
Function CountColor() As Long
 'sheet1とsheet2のD,E,F列とC2からC5とM2からX5だけに対象範囲を狭めたいです。
 Dim sht1Rng As Range, sht2Rng As Range, v As Long, rng As Range
 Set sht1Rng = Worksheets("Sheet1").Range("$D:$F,$C$2:$C$5,$M$2:$X$5")
 Set sht2Rng = Worksheets("Sheet2").Range("$D:$F,$C$2:$C$5,$M$2:$X$5")
 Set sht1Rng = Application.Intersect(sht1Rng, Worksheets("Sheet1").UsedRange)
 Set sht2Rng = Application.Intersect(sht2Rng, Worksheets("Sheet2").UsedRange)
 v = 0
 '対象範囲内のすべてのセルの色をチェック、カウントする。
 If Not sht1Rng Is Nothing Then
  For Each rng In sht1Rng
   v = IIf(rng.Interior.ColorIndex > 0, v + 1, v)
  Next
 End If
 If Not sht2Rng Is Nothing Then
  For Each rng In sht2Rng
   v = IIf(rng.Interior.ColorIndex > 0, v + 1, v)
  Next
 End If
 CountColor = v
End Function

527 :507:2012/12/06(木) 21:13:35.91
誰か奇特な方、>>507をお願いします。

528 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 21:17:11.91
うわっ、リロードし忘れた。

>>526
ありがとうございます。
本当に助かりました。

529 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 21:35:57.47
>>525
サンクス!

530 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 21:52:34.35
>>520
If Format(Date, "m") = 1 Then
  b = Format(Date, "m") + 11 & "月"
Else
  b = Format(Date, "m") - 1 & "月"
End If
でいいんじゃね?w

531 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 23:50:38.84
>>520
=MONTH(EDATE(Date,-1)) & "月"

532 :名無しさん@そうだ選挙にいこう:2012/12/06(木) 23:52:43.42
すいません、507です。
526さんに教えてもらったものが、なぜかうまくいかず色々悩んでいたら
実は507やつは間違いで、正しくは↓の「指定した色」で塗りつぶされているセルの数を取得するものを使っていました。
アホですいません。

Function CountColor(Rng As Range, Col_index As Integer) As Long

 Dim myRng As Range
 Dim Col_cnt As Long

 '再計算時に呼び出し
 Application.Volatile
 Col_cnt = 0
 
 '対象範囲内のすべてのセルの色をチェック、カウントする。
 For Each myRng In Rng
  If myRng.Interior.ColorIndex = Col_index Then
   Col_cnt = Col_cnt + 1
  End If
 Next myRng
 CountColor = Col_cnt
 
End Function

たびたびすいませんが、どなたかよろしくお願いします。
526さん、せっかく書き直していただいたのにすいません。

533 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 00:48:40.61
>>532
「> 0」→「= Col_index」

534 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 01:33:41.12
>>533
レスありがとうございます。
書き直してみましたが、まだうまく反応してくれません。

>Function CountColor() As Long
> 'sheet1とsheet2のD,E,F列とC2からC5とM2からX5だけに対象範囲を狭めたいです。
> Dim sht1Rng As Range, sht2Rng As Range, v As Long, rng As Range

知識がないなりに推測するに、色番号を指定するために、526さんが書いてくれた↑の最初の3行部分の
どこかも書き直さないといけないと思うのですが、それが自分では分かりません。
すいませんがよろしくお願いします。

535 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 06:41:14.85
そもそもその>>526はユーザー定義関数として使うんか?
再計算でも動かんし、おまけにユーザー定義関数で関数内に範囲まで書くのはおかしいだろ。
範囲は引数で指定するぞ普通。

>>534
再計算されてないだけ。
入力した数式セルを編集状態にして再度エンター押したら最初の一回は計算されるやろ。

536 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 07:44:53.92
色付きセルを数えるなんてのはエクセルでやるべきことじゃないんだよ
データをセルに入力してデータに応じて補助的に色を付けるのはありだ
これならデータを数えれば色を数えなくて済む
色だけ変えたって再計算しないけど引数に入った範囲のセルのデータを変えれば再計算する

537 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 07:49:00.42
色をデータ代わりに使うってのは視覚障碍者にも優しくないアホ仕様

538 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 07:50:55.93
上は色覚異常のことね

539 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 08:21:14.65
質問に答えられないと仕様のせいにします

540 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 08:51:57.61
2007から色フィルタとか色を使った並べ替えとかって
機能も追加されているから、色付きセルを数えたいという
要求が出ても、あながち不思議とは思わない

一時的に数えたいだけなら色フィルタでもいいし
検索>書式ボタンで色指定>すべて検索を使えば
該当する色セルの数はわかるんだけどね

条件付き書式を使って「値に応じた色」を付けるようにすれば
>536の言うようにデータを数える=色を数えるになる

541 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 09:01:55.30
>>534
Function CountColor() As Long

Function CountColor(Col_index As Integer) As Long

v = IIf(rng.Interior.ColorIndex > 0, v + 1, v)

v = IIf(rng.Interior.ColorIndex = Col_index, v + 1, v)

かな

vへの代入式は俺なら v = v + IIf(条件, 1, 0) って書いちゃうけど
v = IIf(条件, v + 1, v) の方がいいのかな?

542 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 11:04:21.27
>>541
こういう方法もある。別の人が見て理解できないからおすすめしないけど
v = v - (条件)

543 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 13:58:16.09
>>542
それは最悪な書き方の代表だね

544 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 17:09:44.08
507です。

>>535
自分はユーザー定義関数として使うつもりでした。
自分みたいにマクロの知識がない人間には、ユーザー定義関数の方が敷居が低く使いやすいです。
マクロの知識がなくても汎用性があるようになりますし。

>>541
ありがとうございます。
ようやくうまく反応してくれるようになりました(`・ω・´)
マクロの知識はないが、何とかしたいという自分の無理な質問に答えてくれた皆さん
本当にありがとうございました。

545 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 18:30:55.78
2007はアホなユーザーの要求にmicrosoftが応えてるんだよな
書式検索の要求を出したdqnを一人知ってる

546 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 19:00:23.86
色付きセルを数えることはしないけど、色付きセルまで処理することはあるな。
ttp://gigabyteserver.com/uploader01/img1234/winplus.jp309.jpg

547 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 19:19:42.36
コードは短ければいいってもんじゃない
IIf使うより普通にIf Then使ったほうがなんぼかまし

548 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 20:19:30.04
>>545
書式検索なら2003からありますがなにか?

549 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 21:22:50.15
やたらと騒いでいるのは色盲かなんかか?
一定の需要があるから、一企業が顧客のニーズに応えてるだけだろ

そのうち、聴覚障害者に配慮してラジオ廃止しろとか
視覚障害者に配慮して世の中の全ての印刷物を点字にしろとか言い出しそうだな

550 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 22:45:55.13
シート"一覧"に下記のような表があります。
A列は空白、B列は順番を示す数字または空白、D列はシート名、
F列は各シートの最終行数があります。
B列に書いた順番どおりに、D列に書かれたシート名の内容を
シート"印刷"にコピペしたいのですが、「いちご」「もも」で終わってしまいます。
どこを直せばいいでしょうか?

 A    B    C    D     E    F
     順       シート名       行数
              りんご        27
      3          みかん        31
              なし           36
              れもん           15
      1         いちご           22
              ばなな           38
      2        もも             26
      4        ぶどう          29

Sub コピペ()
  D = Range("D65536").End(xlUp).Row
  Worksheets("印刷").Rows("1:500").Delete Shift:=xlUp
  jun = 1
  For i = 3 To D
    If Cells(i, "B") = jun Then
      stn = Cells(i, "D")
      gyou = Cells(i, "F")
      Worksheets(stn).Range("A1:J" & gyou).Copy _
      Destination:=Worksheets("印刷").Range("B65536").End(xlUp).Offset(2, -1)
      jun = jun + 1
    End If
  Next i
End Sub

551 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 22:56:31.48
>>550
毎回2行目から走査するようにしたら?

552 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 22:59:06.97
なんで3行目から?って思ったけどいちごももで終わるのはもっと単純な事かと。

>>550
F8で1行づつ動きを確認してみなよ。
今のコードだといちごが順2でももが順1なら桃だけで終わるよ。

553 :550:2012/12/07(金) 23:20:55.26
>>551-552
タイトル行が2行目、データは3行目からなので i = 3 にしてます。

F8で確認しました。
4回、ループさせればいいのかな?
でも毎回4回とは限らないんですよね・・・
眠いので、また明日来ます。

554 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 23:32:16.12
>>553
おやすみなさい。

その考え方なら、順番の列の一番大きい数字を探してその回数だけループさせる方法になるね。
でも他にも方法はいろいろあるから工夫してみてください。

例えば順番の列を昇順並べ替えする処理を追加してから>>550の処理したら目的の結果にはなるし。
元データを並べ替えたくなければ、順番列に記入があるデータを全て出力してから、出力先で並べ替えを
するとか。

555 :名無しさん@そうだ選挙にいこう:2012/12/07(金) 23:44:40.18
>>550
こんな感じかな?

x = Application.Worksheetfunction.Max(range("B:B")
For jun = 1 to x
For i = 3 to D
If Cells(i, "B") = jun Then

ExitFor
EndIf
Next
Next

556 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 00:07:00.13
x x = Application.Worksheetfunction.Max(range("B:B")
o x = Application.Worksheetfunction.Max(range("B:B"))
                                     ↑カッコが抜けてたアルよ

557 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 00:15:58.39
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
回答お願いします。
A列に10人の名前がランダムに入力されているとします。
1人ごとにランダムに複数回ずつ入力されています。
B列にはテストの成績の順位が入力されています。

このような時に例えばX君のテストの成績が1位の時の回数、2位の回数、3位の回数、
Y君の1、2、3位の回数というふうにそれぞれの順位の回数を知りたいのですが、どのようにすれば良いでしょうか?

558 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 00:19:15.75
>>557
ピボットテーブル

559 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 00:34:13.54
>>558
ありがとう。
やってみます。

560 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 00:50:21.79
>>557
これを質問してくる人は一体なんのためにExcelでデータを入力したんだろう?
Excelで加工できるかどうかわからないけど多分できるはず!
とりあえずExcelに入力してみよう!
ってことなのかな

561 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 06:47:10.49
>>560
なんでわかっちゃうんだ

562 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 07:26:09.74
>>545
そういえばあのdqnの要望は2003の前だったな

563 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 14:06:44.34
【1 OSの種類         .】 Windows XP あるいは7
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい (多少)
【4 VBAでの回答の可否】 可
=($C3-$B3+IF($B3>=$C3,1,0))*24のままだと
何も入力しないと24になるので(最終的にsumで合計したいので、)
0を入力する(何も入力しない)場合、0あるいは空白に
するにはどうすればいいですか?

564 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 15:01:01.41
>>563
=IF(OR($B3=0,$C3=0),"",($C3-$B3+IF($B3>=$C3,1,0))*24)

565 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 15:30:08.34
【2 Excelのバージョン   】 Excel 2010

昔VBAの勉強しててR1C1形式ばかり使うので、どこかで調べて新規ブックがデフォルトでR1C1形式になるようにしました。
最近A1参照形式の方を良く使うのでもとに戻したいんですが戻し方が解らなくなりました。

http://answers.microsoft.com/ja-jp/office/forum/office_2010-excel/%E3%82%BB%E3%83%AB%E3%81%AE%E5%8F%82%E7%85%A7/c66523a7-715f-42af-a9ab-aea33d0ed9b6

ここのEXLSTARTフォルダにテンプレートを作る方法かなと思ったけどテンプレートも作られていません。
ためしに新規ブックをA1参照形式にしてテンプレートで保存してみたけど新規に開くとR1C1形式になります。
他に設定で変えれる所はありますか?

566 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 15:41:51.81
ファイル-オプション-数式

567 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 17:59:31.10
>>560
他のソフトからコピペしたデータをエクセルで集計したかったんですが、やり方がわからなかったんです。

568 :565:2012/12/08(土) 18:37:03.87
>>566
その方法で変えても次から新規で開いたブックは最初からR1C1になってるのです。

569 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 19:02:49.76
>>567
俺もそうだわ
Excel便利だからやり方わからなくてもとりあえず一か八かExcelに貼り付けちゃうよね

570 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 19:39:05.70
>>568
まさかと思うけど、オプションを変えた後
一度Excelを終了→再起動してる?

571 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 20:57:19.62
>>570
まさかとは?
再起動したら必ず最初はR1C1参照形式になってます。
作って保存したブックはA1参照にして保存したら次開いてもA1参照になってます。
新規のブックが最初からA1参照になるようにしたいのです。

572 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 21:34:50.79
>>571
>>565のリンク先にあるように、アドインはずしてみたらどうですか
アドインがR1C1形式になっているんじゃやない?

573 :550:2012/12/08(土) 21:57:36.03
>>554-555
ありがとうございます。
並べ替えればいいというのはF8の押下で分かりましたが、
A列に連番を打って並べ替えてから処理し、元に戻すというのも
何だかなぁ〜という感じでした。

が、555さんの方法でスッキリしました。
Worksheetfunctionは、ワークシート関数のSUMくらいしか
使ったことがなかったので勉強になりました。
ではでは〜

574 :565:2012/12/08(土) 22:35:35.27
>>572
アドインとは分析ツールの件でしょうか?分析ツールのは試してみたけど(もともとチェック入ってなかった)入れても入れなくても
状況かわりませんでした。

自分でググってデフォルトでR1C1にする方法見つけて自分で設定したはずなのに、今ググっても方法が見つからない・・・
暇な時にまたググって調べてみます。

575 :名無しさん@そうだ選挙にいこう:2012/12/08(土) 22:39:40.65
>>574
いや、分析ツールじゃなく、あなたが自作したアドインブックがあやしい。
もしくは、個人用マクロブックとか、非表示になっているブックはないの?

576 :565:2012/12/08(土) 22:44:34.11
>>575
個人用マクロブックでした!ありがとうございます。
再表示でPERSONAL.XLSBを開いてR1C1チェックを外して上書き保存したら直りました!

577 :520:2012/12/08(土) 22:53:10.59
レスが遅れてすんません。。

>>530
んー、もうちょっと気が利いたヤツをお願いします。

>>531
コンパイルエラー
SubまたはFunctionが定義されていません と出て、
EDATEが反転表示になってしまいます。

578 :531:2012/12/08(土) 23:42:00.44
>>577
ん〜〜?
マクロの質問だったの?
てっきりCellの式かと思ってた。

ところでExcelのバージョンはいくつ?

579 :520:2012/12/08(土) 23:57:11.79
>>578
Dateを見ればVBA関数だってわかるでそ?
Excelは2010です。

580 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 00:30:26.78
>>579
VBAに変えてみた

With Application.WorksheetFunction
a = Month(.EDate(x, -1)) & "月"
End With

581 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 00:36:12.27
一行にしたいなら

b = Month(Application.WorksheetFunction.EDate(x, -1)) & "月"

582 :520:2012/12/09(日) 00:37:57.73
>>580-581
実行時エラー '1004'
WorksheetFunctionクラスのEDateプロパティを取得できません

583 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 00:46:33.20
>>582
x の部分は、日付値として渡してるんだよね。

584 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 00:51:34.19
>>582
2007でも2010でも問題なく動いてるよ

その前後アップしてみて

585 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 01:07:49.44
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

連続コピーで
='1日'!J$33を下に
='2日'!J$33
='3日'!J$33
の様にしたいのですがどうしたらよろしいでしょうか?

586 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 02:16:11.54
>>585
連続コピーの正式な言い方は「オートフィル」ね
一発でやるのは無理
まず「A1B」「A2B」と入れてオートフィルしてから「B」を「'!J$33」に置換、最後に「A」を「='」に置換する

別の方法として=INDIRECT(CHAR(ROW()+9008)&"日!J$33")という式を使う

587 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 11:25:01.17
【1 OSの種類         .】
【2 Excelのバージョン   】
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

http://oshiete.goo.ne.jp/qa/5258945.html
こういう内容を自分で理解して改変出来るようになろうと思ったらどうやって勉強したらいいですか?
今の時点で自分が見て動作させてみてわかる範囲は、
駅の名前をADODB.Streamを使用して"%E5%A4%A7%E9%98%AA"このような文字列に変換してアドレスを作ってるんだなと
いう事ぐらいです。


/search/result?from=○○to=○○というアドレスについて理解するには何を勉強したら良いでしょうか?
それとCreateObjectでエクセルやワードなどを操作するサンプルも見たことありますが、これら他のアプリケーション
を動かす場合のメソッドなどはどうやって調べればよいでしょうか?ワード動かす場合はワードのヘルプから調べれば
見つけれるのでしょうか?

588 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 11:43:47.31
>>587
MSDNライブラリに全部載ってる

ちなみにExcelに関係ない質問をここでしないでくれスレチだ
返信もいらないので移動してくれ
↓こっちならまだ許容してくれると思うから
http://toro.2ch.net/test/read.cgi/tech/1342087380/

589 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 12:37:42.49
>>588
ありがとう。
MSDNライブラリで勉強してきます。移動します。

590 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 22:45:24.02
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

http://www1.axfc.net/uploader/so/2708739.xls

上記ファイルのようにExcel2007でカレンダーに当番表をつけて作成しております。
土日祝などは抜かして、当番表の順番どおりに、自動的にカレンダーの隣にある当番の列に
ループして書き込むようにするにはどうすればよろしいでしょうか?

よろしくお願いします。

591 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 22:54:43.08
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

売上データが5,000行くらいあるのですが、その数値を参照して客単価やどんなジャンルの商品が売れているのかを計算しています。
帳票データが出力される際に、一番下に合計の数値が必ず出てしまうのですが、計算時にこの数値を省くことはできるでしょうか?
合計のみなので、単純に一番デカい数字だけ省ける仕組みがあればいいのですが…
データは売上件数によって変わるので特定行を合計の場所とみなし指定することはできません。

592 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 23:04:35.90
売上データと帳票データの関係は?
Maxを探して削除するだけじゃね?

593 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 23:06:12.21
一番下を消すだけじゃないか?

594 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 23:12:51.84
>>590
F列を作業列として
F3:=NOT(OR(COUNTIF(祝日テーブル,A3)=1,WEEKDAY(A3)=1,WEEKDAY(A3)=7))
C3:=IF(F3,VLOOKUP(MOD(COUNTIF(F$2:F2,TRUE),5)+1,祝日!$F$3:$G$7,2,FALSE),"")

595 :名無しさん@そうだ選挙にいこう:2012/12/09(日) 23:21:11.53
>>591
売上データと帳票データの関係性が全く書かれてないので回答しようがないわ
もっと詳しく書くかサンプルでいいからブックをUPするかしないと

596 :590:2012/12/09(日) 23:53:53.54
>>594
教えていただきありがとうございます。
勉強になりました。

もうひとつ質問なのですが、月をまたいだとき、前月の当番表の順番の続きから自動的に書かれることはできます?



当番表
1 A
2 B
3 C
4 D
5 E

日付
5/31 A
6/1 B

597 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 00:16:40.16
>>596
当番表の1〜5を算出しているのは COUNTIF(F$2:F2,TRUE),5)+1 の部分だからそこを変更すればどうにでもなるかと
開始年月がいつなのかわかんないけど開始年月以降ずっとカウントをしていかないといけないので
今みたいに年月を切り替えてカレンダーの表を書き直す方式だと難しいと思う
VBAの出番かな

598 :590:2012/12/10(月) 00:35:51.96
>>597
たびたび教えていただきありがとうございます。

当番表の行を随時増やしていこうと思いますので、COUNTIF(F$2:F2,TRUE),5)の
5のところは、offset関数で対応してみます。

VBAで当番表を自動的に当てはめるにはどうすればよろしいでしょうか?

599 :591:2012/12/10(月) 01:02:23.03
>>592
ありがとうございます。
maxを探してマイナスするだけで目的が達成されました。

>>593
それだとなんか負けた気がするんで、できれば関数とか使って処理したかったのです。

600 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 10:36:39.22
>>599
対象がどのような形で作成されているか
 ・ピボットテーブルなのか
 ・マクロ使用なのか
 ・単にsum関数を使用したのか
このような情報もないので、みんな答えようがないんですよ。

601 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 13:39:36.39
【1 OSの種類】 Mac
【2 Excelのバージョン】 Excel2011
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 不可

以下のようなデータがあるとします。

1月  2月  3月
商品1 商品2 商品1
商品2 商品3 商品3

(これとは別に全商品のリストデータもあります)

これを
1月  2月  3月
商品1     商品1
商品2 商品2 
商品3 商品3 商品3

といった形に並べ替えたいです。通常の昇順並べ替えをした後に、足りない行を地道に挿入していけばできないこともないのですが、
データが多いため、なんとか簡潔にできないかと思っています。
なお、実際には各商品には商品名以外にも個数や単価などのデータが付随します。以上よろしくお願い致します。

602 :601:2012/12/10(月) 13:40:55.83
訂正

1月  2月  3月
商品1 商品2 商品1
商品2 商品3 商品3

とあるデータを

1月  2月  3月
商品1     商品1
商品2 商品2 
    商品3 商品3

といった形に並べ替えたいです。よろしくお願い致します。

603 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 14:50:37.28
>>601
要求仕様がよくわからん
元データが↓の場合はどんなソート結果を想定してるの?

1月  2月  3月
商品1 商品2 商品4
商品2 商品5 商品4
商品3 商品2 商品1
商品2 商品1 商品1

あと
>実際には各商品には商品名以外にも個数や単価などのデータが付随します
の意味もよくわからん
これがどんな風にデータ定義されていてどんな風にソートに影響するの?

604 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 15:30:38.91
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 ちょっぴり
【4 VBAでの回答の可否】 可

チェックボックスのチェックの有無でシート上の図形の枠線を
消したりつけたりするマクロを作りたいのですが
マクロの記録ではコメント行しか作成されませんでした。

↓ここまでは考えてみたのですが
3行目と5行目がエラーになります。
どのようにすればいいでしょうか??

Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Active.Sheet.Shapes("Circle1").Visible = True
Else
Active.Sheet.Shapes("Circle1").Visible = False
End If
End Sub


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

605 :604:2012/12/10(月) 15:34:36.77
すみません解決しました。失礼いたしました。

606 :601:2012/12/10(月) 15:52:26.70
>>603
同一月内に同じ商品名が複数入ることはない仕様です。元データはこんな感じです。
商品は1&#12316;3までありますが、月によってデータが上がってこないことがあります。

1月
商品名 在庫数 販売数 返品数
商品1 100  50   5  
商品2 200  100   0

2月
商品名 在庫数 販売数 返品数
商品2 300  200   10  
商品3 150  100   0

3月
商品名 在庫数 販売数 返品数
商品1 100  50   10  
商品3 200  100   0

これらを以下のように並べ替えたいのです。
1月              2月          3月
商品名 在庫数  販売数 返品数 在庫数 販売数 返品数 在庫数 販売数 返品数
商品1 100  50   5                100  100   0
商品2 200  100   0    300  100   0
商品3             150  100   0    200  100  0

各列の項目名は実際のものとは違います。匿名性を高めるために商品で例を挙げているだけです。
「在庫数」、「販売数」、「返品数」はあくまで「各月で数値が変わりうる項目」の例ですので、
たとえば「在庫なくても返品がある場合は?」といったことは考えないで大丈夫です。
端折ってしまって余計に分かりづらかったですね。すみません。

607 :601:2012/12/10(月) 15:53:50.12
2行目文字化けは

商品は1から3までありますが、・・・
です。

608 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 16:10:23.04
>>606
>>601の元データの形から大きく変わったな…
もう信用できんわ

609 :601:2012/12/10(月) 16:18:08.88
>>608
すみません。在庫数やら何やらのデータは並べ替え範囲の拡張で対応できると考え省略してしまったのです。
このデータがあるのとないのとで、大きく扱いが変わってしまうのかどうかについて想像もついていませんでした。
後出しになってしまって信用できない、というのももっともなんですが
どうかお教えくださいませんでしょうか・・・

610 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 16:30:22.67
月のフィールド作って縦に並べて

月 商品名 在庫数 販売数 返品数
1  商品1 100  50   5    
1  商品2 200  100   0
2  商品2 300  200   10  
2  商品3 150  100   0
3  商品1 100  50   10  
3  商品3 200  100   0

あとはびぼっとで行:商品名/列:月/値:のこりでいけるんじゃない?

611 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 18:21:12.33
マクロで、a=1だったらb="@"みたいに丸付き数字に変換したいのですが、
Ifを16個並べる以外に方法があれば教えてください。
数字は1〜16までです。

612 :名無しさん@そうだ選挙にいこう:2012/12/10(月) 18:53:26.92
>>611
b = ChrW(AscW("@") + (a - 1))

613 :611:2012/12/10(月) 19:12:20.15
>>612
素早いご回答ありがとうございます。

614 :601:2012/12/10(月) 19:24:25.48
>>610
ありがとうございます。上手くできました。
いろいろ不手際がありすみませんでした。

615 :604:2012/12/12(水) 10:12:13.06
再びすみません。
チェックボックスではなくて、図形を直接クリックすることで
図形の枠線をつけたり消したりするにはどうしたらいいのでしょうか?

616 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 10:22:17.29
>>615
図形を右クリックしてマクロの登録

617 :604:2012/12/12(水) 10:31:11.60
>>616 後出しになってしまって申し訳ないです。
図形が320個あるのでひとつひとつにマクロを登録するのは大変なので
クリックされた図形の線をつけたり消したりする、というふうにしたいのですが

特定の図形を指定するのではなく、
「シート上にあるどれかの図形をクリックしたら、その図形の」 というのを
どのように書けばいいのかわからなくて悩んでいます。

618 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 11:16:50.72
既存のシェイプならonActionに突っ込んで

Sub registerMacro()
Dim shp 'As Shape | ShapeRange? ようわからん
For Each shp In ActiveSheet.Shapes
shp.OnAction = "toggleLine"
Next
End Sub
Private Sub toggleLine()
Dim targetShp 'As Shape | ShapeRange
Set targetShp = ActiveSheet.Shapes(Application.Caller)
targetShp.Line.Visible = IIf(targetShp.Line.Visible = msoFalse, msoTrue, msoFalse)
End Sub

で、registerMacro実行かな。つかExcelでシェイプ300とか超スパルタンな修羅の国だなそれ。

619 :604:2012/12/12(水) 12:33:03.08
>>618
ありがとうございます。がんばってみます。

320コというのは、
複数ある選択肢の中からひとつをえらんでそれに丸をつける、という
のを1つのブックで100枚入れてるからそうなってしまったのです。

クリックしたセルに入っている文字数に合わせた大きさの丸を挿入する、
というのを最初は作ろうとしたのですがエラーになってしまったので
最初から全部丸を作っておいて、クリックした部分だけ表示させる
というふうにしようかと思ったのです。

620 :604:2012/12/12(水) 13:02:04.03
618で教えていただいたコードをとりあえず貼り付けて
マクロの一覧のところから実行してみたのですが
エラーメッセージが「400」って出ました。
もう意味がわかりません…。この400っていうのは何なんでしょうか…。

621 :604:2012/12/12(水) 13:44:03.57
すみません、普通にエラーコードだったようです。
数字しか出なかったのでぱにくりました。一休みしてからまた考えます。

622 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 14:14:50.49
>>617
ひとつひとつにマクロを登録するのが面倒なら
必要な図形を全て選択してマクロを登録すればいいだけでは?

623 :604:2012/12/12(水) 14:35:07.66
>>622
それだとすべての図形の線が消えませんか?

624 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 14:52:11.21
>>623
わざわざ全ての図形の線を消すような実装をすれば全ての図形の線が消えるね
というか条件反射で質問するクセを直さないと進歩がないよ?

625 :604:2012/12/12(水) 15:10:34.47
>>624
Sub Click()
If Selection.ShapeRange.Line.Visible = True Then
Selection.ShapeRange.Line.Visible = True
Else
Selection.ShapeRange.Line.Visible = False
End If
End Sub

ここまでは書いてみたんですが、438のエラーになります。
「クリックした図形の枠線があるかないか」っていう部分をどう書いたらいいかわかりません。

もう一声ヒントください。

626 :604:2012/12/12(水) 15:26:26.10
できましたー!!
ありがとうございます(TOT)
これでやっと仕事がすすみますー 

627 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 20:39:00.07
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

このようなイメージのリストがあります。
http://uproda.2ch-library.com/612405hF6/lib612405.jpg
罫線で囲まれたところをブロックと呼称すると、1ブロックが16行〜60行になっています。
これらを、1ページ最大62行のシートにコピーして印刷をしていますが、2ページに
またがるときは空白行を追加して、各ブロックが途切れないようにしています。
この操作をマクロで自動化したいのですが、どのよういにすればいいでしょうか?
ブロックは最少で1、最多で10です。
よろしくお願いします。

628 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 21:02:36.33
>>627
よくわからん。
1ブロック=※aaの場合A2:D5 で4行
ってことですか?

629 :627:2012/12/12(水) 21:26:58.13
>>628
aaの場合は4行ですが、画像は “イメージ” です。
(言葉では説明しにくかったので)
実際には16〜60行のブロックを組み合わせて印刷します。

例えば、16行、60行、22行、20行、17行、23行のブロックがあれば、
1ページ目に16行と空白行を46行、2ページ目に60行と空白行2行、
3ページ目に22行、20行、17行と空白行を3行、4ページ目に23行となります。

630 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 21:29:46.80
>>627
何がしたいのかもわからんし
何がわからんのかもわからん

631 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 21:37:39.59
>>627
印刷するのが目的なのか、空行を挿入するのが目的なのか、何を自動化したいのかがよくわからない
印刷するのが目的ならカウントしていって改ページすればいいだけだし
空行を挿入するのが目的ならカウントしていって空行を挿入すればいいだけだと思うけど
ソースを見てみないとどこで躓いているのかすらわからない

632 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 21:52:11.72
よくわからんが 単に改ページを挿入すればいいんじゃないのか

633 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 22:05:39.59
普通に解釈したら、
「空白行を入れる目的はブロックを途切れなくする為」

だから改ページを使うべきだわな。
ブロックの行数とブロック間に使う行数を数えてブロックの最後に改ページ入れたらいい。
http://www.excel-vba.net/excel-range-025.html

丸投げ希望ならブックをアップするか、説明をイメージじゃなく具体的にするかが必要。

634 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 22:12:03.21
>>630-632
句読点がうまく打てないバカ

635 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 22:19:45.25
>>634
句読点の使い方 でググってくれば?
あなたが思ってるほど簡単な物じゃないと思うよ。

それらのレスは句読点の間違いで意味が違えてくるほど紛らわしい内容でもないと思うけど。

636 :627:2012/12/12(水) 22:40:21.10
>>630
何をしたいかは627を読んでください。
何がわからないのかも627を読んでください。
それでもわからないなら、無駄なレスはご遠慮ください。

>>631
最終目的は印刷ですが、その前にブロックをページで
またがないような手段が必要です。
629に具体的な例を書きましたが、お読みになられたでしょうか?

>>632-633
そうですか。

>>634
そうですね。

637 :633:2012/12/12(水) 22:47:58.46
ああ、相手にしたらあかん質問だったのか。うかつだった。

638 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 23:00:51.58
レスが一気に増えて同じようなカキコのときって同一人物が書いてるんだよね?

639 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 23:05:37.71
ここまで俺の自演

640 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 23:23:20.30
デン・自演・ド

641 :627:2012/12/12(水) 23:26:23.11
てゆーか、>>627>>629を読んでも理解できない馬鹿ってどんな馬鹿なんだ?
印刷が目的なの?空行挿入が目的なの??
わけわかんなーい
馬鹿自慢もいい加減にしろよ、

642 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 23:26:23.23
>>627
>>636は愉快犯だと思うからスルーするとして、
http://uproda.2ch-library.com/612405hF6/lib612405.jpg
の1,6,7,13,14,17,18,25行目の空白行はどうなったらいいの?これはブロックではないよね?
印刷するときはaaとbbのブロック間は空白行はいらないの?
もしいるのならその空白行は62行に含まれるの?
丸投げしたいなら完全なbefore/afterのブックをアップして欲しい

643 :627:2012/12/12(水) 23:31:40.58
自己解決しました
はい終了

644 :627:2012/12/12(水) 23:52:31.15
ニセモノがなにかいってますが、引き続き回答お願いします

645 :名無しさん@そうだ選挙にいこう:2012/12/12(水) 23:55:19.15
>>627
このスレの回答者はVBAのスキルが低いから
↓で質問したほうがいいと思うよ
http://toro.2ch.net/test/read.cgi/tech/1353842387/

646 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 08:06:44.38
基本こんな?印刷うんぬんはようわからんからテンプレ的なシートコピーして転記する感じで。
データはとりあえず「ジャンプ」の「定数」で取得できるもんを想定してる。で、データあるシートで実行。

Dim templeteSheet As Worksheet, dataRange As Range, currentSheet As Worksheet, currentRow As Long, r As Long, block As Range
Const MAX_ROW As Long = 62 'ページの最大行数
Const BLOCK_MARGIN As Long = 1 'ブロック?ごとの余白

'印刷用シート?をセット
Set templeteSheet = Worksheets("印刷用シート") 

currentRow = 1 + BLOCK_MARGIN
Set dataRange = Cells.SpecialCells(xlCellTypeConstants)
templeteSheet.Copy after:=Sheets(Sheets.Count)
Set currentSheet = Sheets(Sheets.Count)

For Each block In dataRange.Areas
 r = block.Rows.Count
 If (r + currentRow > MAX_ROW) Then
  '新規シート追加
  currentRow = 1 + BLOCK_MARGIN
  templeteSheet.Copy after:=Sheets(Sheets.Count)
  Set currentSheet = Sheets(Sheets.Count)
 End If
 'データ転記
 block.Copy currentSheet.Cells(currentRow, 1)
 currentRow = currentRow + r + BLOCK_MARGIN * 2
Next

647 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 08:06:48.14
まず質問者の日本語スキルが低すぎる

648 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 09:18:41.12
回答者の解読スキルが低すぎる

649 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 18:20:01.13
>>648
の通り
真に上を目指すなら小学生の発言にも真摯に耳を傾け、
理解する努力を怠ってはならない。

650 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 18:37:00.45
>>648-649
>>631とか>>633とかを読んだ上で回答者の問題だと感じているなら
君らはいろいろな意味で残念な人たちだ。

651 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 19:16:53.17
>>646
627と629に沿って罫線に囲まれたデータを作り、試してみたけど・・・

なんじゃこりゃw

652 :名無しさん@そうだ選挙にいこう:2012/12/13(木) 19:27:36.32
こんな感じだけど、俺が間違ってるのか?w
ttp://s1.gazo.cc/up/s1_44381.jpg
ttp://s1.gazo.cc/up/s1_44382.jpg

653 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 02:03:51.91
Excelの関数出来るようになろうとして本買ってきたけどこんなにたくさん
あったら覚えきれん。一度、本通りにやるのは出来てるけどすぐ忘れるだろ?

関数の種類だけ覚えておいてあとはその都度使うときに本見てやるものなの?

654 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 04:08:21.05
>>653
ヘルプに載ってるからわざわざ本なんて買わん

655 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 05:09:50.19
ヘルプみても分からんなら関数とマクロの本見てもいいだろう
ExcelVBAは本必要だと思う。

656 :653:2012/12/14(金) 05:31:43.59
まだ最初の方しか見てないけど、本に載ってる例題やるのはなんとか出来る
んだよ。それを何十個も覚えるのが大変てことよ。

657 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 06:19:26.57
>>656
よく使う関数は意識しなくても覚えるやろ。全部を何も見ずに使えるようになる必要はない。

関数の種類というか用途を覚えてればいいと思う。
関数の表見て機能を覚えても、こういう動作がしたいと思った時にどの関数使えばいいかはわかりにくいので、
本などの例題やそこらのサイト見て、この関数使えばこういう事が出来るんだなって事を知っておけばそれで
良いと思う。

これをするのにこの関数を使うというところまでわかってれば、使い方は本見るよりググった方が早く見つかる。

658 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 08:15:11.31
>>656
せっかく買った本だから、あちこちパラパラめくりながら
面白そうな関数、便利そうな関数があればそれを試してみる

慣れたら同じように別の関数も試してみる
その繰り返しでいいんじゃないかな

最初から「何十個も覚える」などと構える必要はない

659 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 09:53:34.57
本見たければ見ればいいし
本見たくなければ見なけりゃいい
暗記したいなら暗記すればいいし
暗記したくなければ都度本見ればいい

660 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 11:48:43.08
最初のほうに載ってるやつは基本だから覚えたほうがいい
てか、使ってれば何度も出てくるから嫌でも覚える

661 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 12:02:40.25
>>660
同じエクセル関数の本でもいろいろな構成がある
基本的な関数=最初のほうに出ているとは限らんぞ

2行目は同意

662 :656:2012/12/14(金) 13:18:34.62
私が実務でExcelやってたのは約15年前でその頃は社内にPC1台だけで、
個人で持ってる人はほぼ居なくて、私はボーナスで30マソのノートPC買った
という時代。関数はオートSUMだけで事足りた。

当時からやってれば中級くらいにはなってるんだろうけど、15年もブランク
あって今、使ってないから中々覚えられん。

663 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 13:44:36.85
覚えなくていいよ。今回もオートSUMで事足りるとおもう。

664 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 14:11:29.99
必要なら覚えればいいし必要なければ覚えなければいいと思うんだが
小学生レベルの質問してるけど一体社会人何年生なんだ?

665 :656:2012/12/14(金) 14:57:07.91
私の今の背景を説明してなかったからな。
15年前まで事務系リーマンやってたけど辞めて、PCは自宅使用しかしてなかった
のが、今回、再就職に当たり関数の使用レベルも採用の一要素となることを
実感し、勉強を始めた。
だから実務で使いながら覚える手法は取れず、まずは一定量を覚えておくことが
必要と考える。
で、短期間でただ覚えていくだけてのはムズいなという感想。

666 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 14:59:07.76
事務系リーマンって設定だったら過去の帳票組んでみればいいじゃん。

667 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 15:15:10.63
>>665
再就職でExcelの実技テストがあるところなんてまずないよ。(使えて当然だから)
こんなとこでExcelの勉強方法の質問してる程度の脳みそなんだから、
面接の練習したり職務経歴書の書き方を勉強すべきだと思う。
15年って事は中卒で働いていたとしても30歳以上か。なんかヤバいな。

668 :656:2012/12/14(金) 17:31:38.96
>>667
お前程度のやつなんか相手にしないからオレにレスすんな。
クソして寝てろ、カスw

669 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 18:29:12.39
歳だけとってて使い物にならないくせにプライドだけ高い40代50代のオッサン
ハロワに溢れてますねぇ…

670 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 18:49:13.23
>>669
調子こいてる無礼なザコにはそれ相応の対応をしたまで。
反撃されて涙目になるなら初めから言うなw

671 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 19:00:31.97
ここまで俺の自演

672 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 20:07:38.16
656って、コイツ↓だろ?

340 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2012/11/30(金) 17:48:04.12
   転職でエクセルの関数の中級レベルまで求められることが多いので
   覚えたいです。
   講師に教えて貰うのが簡単確実で好きなんですが料金が高いので自習します。
   無料ソフトとか安いもので関数教育ソフトはありますか?
   やっぱり本買ってきて自習?

673 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 20:28:16.33
そろそろ雑談スレでやってもらっていいかな?

674 :XP、2003使い:2012/12/14(金) 20:35:15.45
A3セルに 200
C5セルに =1000-A3
この状態で、C5をWクリックするとA3と関連してることが視覚的にもわかります。
逆に、A3セルからC5と関連してると確認する方法はありますか?

675 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 20:39:55.43
>>674
参照先のトレースとか

676 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 20:40:11.33
ワークシート分析の参照元のトレースでいけなかったけな

677 :XP、2003使い:2012/12/14(金) 20:45:25.30
>>675,676
できたw
エクセル歴15年で初めて知ったよw

678 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 20:55:00.52
「関数の中級レベル」とは一体何だった野田?

679 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 22:08:10.62
webクエリで、サイトのhtmlソースを取得することはできますか?

680 :名無しさん@そうだ選挙にいこう:2012/12/14(金) 23:48:17.90
>>679
エクセル VBA HTMLを取得
で検索したらいろいろ出てくるからHTMLの取得はできるんでね?Webクエリかどうか知らんけど。

681 :名無しさん@そうだ選挙にいこう:2012/12/15(土) 11:47:59.80
>>680
ありがとうございます
やってみます

682 :563:2012/12/15(土) 22:03:15.85
>>564

返事が遅くなりました。
即レスありがとうございます。解決しました。

683 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 11:05:23.25
すいません、初心者なのですが、
ExcelでA4用紙に 縦に「目いっぱい」入れたいのですが、
印刷すると、うまくいきません。
余白 ヘッダー フッターの関係上
取りあえず、全て0にしたのですけど、まだ上に空白が有ります。
この場合単純にヘッダーにテキスト入力することになるんでしょうか?
どなたか教えてください。よろしくお願いいたします。
(罫線、表などはどうしたらいいんでしょうか?)

684 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 11:19:40.59
>>683
余白ゼロが「目いっぱい」の状態です

685 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 15:20:56.54
>>683
余白なしの印刷ができるかどうかはプリンタ側の問題
エクセル側の操作は>>684さんのいう通り

印刷時に「プロパティ」をクリックして
プリンタ側の設定を行なうとなんとかなると思うよ
古い機種で余白なし(ふちなし)印刷自体ができない場合はアウト

686 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 22:44:44.24
【1 OSの種類         .】 Windows7 32bit
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

@例えばこういう表があったとして、
http://i.imgur.com/JrKDn.png

Aこうしたいんですが、
http://i.imgur.com/bXuwz.png

・まず@自体は人から渡されるファイルなのでこの形はどうにもなりません
・Aをデータソースにして更に計算式の入った列を追加しつつピボットテーブルも使う予定です
・画像はただの例ですが、フィールドは数値が入ったものが多数あり、レコードも1万近くあります
・定期的に渡される@の内容はその度に更新されています

よろしくお願いします

687 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 22:57:56.12
>>686
丸投げしたい場合はただの例を提示するのではなく
ブックをアップして完全な仕様を提示しないと

688 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 23:05:56.87
>>687
申し訳ありません
職場のファイルなのですが、自宅にPCを持ってないので無理です…
何の関数で出来そうかのヒントだけでも頂ければ嬉しいです

689 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 23:14:50.79
RangeのMergeArea.Addressで結合セルの行数取得してそれ使ってループ&転記なり分解して空白削除なり好きにすればいい

690 :名無しさん@そうだ選挙にいこう:2012/12/18(火) 23:45:14.02
>>689
ググってみます。ありがとうございます

691 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 06:42:13.91
>>690
2列目の番号がそのサンプル画像のように正しく入ってるなら、1列目を無条件で全て結合解除した後に2列目を
上からループして番号1の行のタイトルを1以外の行にコピーするようにしたらいいんちゃう。

Sub test()
Dim i As Long
Dim strTemp As String
With Worksheets("Sheet1")
.Columns(1).Merge True '(1)が結合されている作品タイトル列

'i=2 の2がデータのある最初の行、(Rows.Count,2)の2が番号列
For i = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
If .Cells(i, 2).Value = 1 Then
strTemp = .Cells(i, 1).Value
Else
.Cells(i, 1).Value = strTemp
End If
Next
End With
End Sub

標準モジュールに張り付けてWorksheets("Sheet1")を目的のシート名と
Columns(1)の数字とFor i =2の行の数字を今のシートに合わせて変更してうごかしてみ。

結合セルをなくして各行にタイトル入れるだけの動作ね。あとは手動でいいならMS列で並べ替えして
空白行をまとめて削除したらいいと思う。

692 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 09:17:01.44
683です。

>>684
>>685

>余白なしの印刷ができるかどうかはプリンタ側の問題
>エクセル側の操作は>>684さんのいう通り

>印刷時に「プロパティ」をクリックして
>プリンタ側の設定を行なうとなんとかなると思うよ
>古い機種で余白なし(ふちなし)印刷自体ができない場合はアウト

そうですね、プリンタに関しては、
まったく考えていなかったです。
ありがとうございました。

693 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 12:04:02.08
よろしくお願いいたします。

1.XP
2.2000
3.いいえ
4.否


ブック間でシートをコピーした場合セルの数式に参照元のブック名が乗ってしまうのは仕様で防げないとググったら出ていました。
が、先ほどブック間でのコピーをしたら、数式がそのままの形でコピーされました。一旦作業を中断(保存して閉じる)して、再開したら今度はできなくなってしまいました。
なぜ出来たのか?そしてなぜ出来なくなったのか不明で、真相が知りたいです。
その作業に入る前の動作を試したり、実はそのようなコピーの方法があって、知らず知らずのうちにやっていたのか?全くわかりません。
どなたか、この現象の真実をご教授願います。

694 :693:2012/12/19(水) 12:21:42.55
補足です

2つのブックはほぼ同じシート名です

●イメージ
Aブックに1〜4のシートがあり
Bブックには1〜3のシートがあって
Aブックのシート4をBブックにコピーしました
シート4にはシート1〜3の数値を参照しています
このような場合、コピーしたものには数式に参照元のブック名が記載されますが
される時とされない時があったのです
コピーのやり方が知りたいのではなく、なぜこのようになったかを知りたいです
ただの偶然のバグなのか、たまたま何か操作したのか?
特に変わった操作はしていないのですが・・・。

すみませんよろしくお願いいたします

695 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 12:29:02.87
>>693
思い違いかと

696 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 12:35:58.01
>>695


返信ありがとうございます。
この現象にびっくりしているのですが、現実に起きているので幻ではありません。
いろいろ調べて「リンク先の変更」でできるとなっていましたがそのような作業はしていません。
なぜ、参照元が付加されなかったのか?いまではそのようなコピーはできませんが・・・。

697 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 12:48:47.63
>>696
バグです

698 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 13:04:35.34
>>697

返信ありがとうございます。

やっぱりバグですよね。PCも古いのでその可能性が一番高いと思います。
この現象を検証しようとして仕事が一向に進みません。

699 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 13:22:03.21
思い違いは否定するのにバグは否定しないのねw

700 :693:2012/12/19(水) 13:27:34.69
>>699

正直詳しくないのでバグと言われてしまえばそうなのかなと。
目の前にファイルがあるので、思い違いはないんです。
う〜ん。

701 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 13:58:50.31
>>700
目の前に再現できるファイルがあるならバグなんでしょうね
手元の2003と2010では発生しなかったです

702 :693:2012/12/19(水) 15:33:09.01
>>701

返信ありがとうございます。
今、それをやろうとするとできないんです。

最初は、先にシートをコピーしてその後リンク先を変更しようとしたのですが、数枚シートをコピーし終えた後でセルを確認したら、ブック名がなかったのです。
その作業に入る前に何をしたのかあまり覚えていませんが、新しくフォルダを作成したのは覚えています。関係あるかわかりませんが。
そのほかには専ブラを(JS)起動していた以外には同時に何も開いていませんでした。

703 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 15:46:28.10
>>702
>何をしたのかあまり覚えていませんが
そういう状態で作業してるのなら「思い違い」じゃねーの?w
さすがにそのオペレーションで発生するようなバグは枯れてると思う

704 :693:2012/12/19(水) 16:13:57.23
>>703

返信ありがとうございます。

すみません。当方知識が乏しいです。
特別なこと(例えばマクロなど)は一切触っておりません。
その現象が起こるまでの作業はそれほど複雑ではなかったと思います。

705 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 16:55:13.08
>>694
>「Aブックのシート4をBブックにコピーしました」、の部分で
コピー → Bの参照式は元のAのブック内を示すのでブック名が記載される
移動 → Bの参照式は移動先のブック(つまりB自身)のシートを参照するのでブック名が記載されない

ってところじゃない?
シートのコピー/移動はチェックボックスにチェックが入るかどうかだから操作間違えやすいし

706 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 18:10:34.11
最近、excel97-2003ブックで保存されたデータを
excel2007以上で保存すると、excel2003以下でマクロを使用しようとすると
使えなくなるのですが、セキュリティ以外で何か原因てありますかね?

707 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 18:16:17.73
>>706
どんなマクロでどんな風に使えないんだ…

708 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 18:43:42.41
>>706
VBAの仕様も色々変わってきているから旧バージョンでのコードが新バージョンでは
使えないことがあると聞きます。
旧バージョンで作ったマクロコードが新バージョンでは問題あるコードを含んでいる
のでしょう。
もし可能ならマクロ編集でコードをコピーして何処が問題か聞いてみるといいでしょう。

709 :694:2012/12/19(水) 19:06:24.63
>>705

返信ありがとうございます。
私も移動とコピーの違いかなと思いましたが、どちらも参照元は同じ元のブック名が式に記載されていました。

移動とコピーに違いは、元のブックに残るか残らないかの違いしかありませんでした。


もう忘れてしまってもいいのですが、モヤモヤ感がどうも抜けきれません。

710 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 20:54:49.71
>>709
>数枚シートをコピーし終えた後で
1つのブックから2つ以上のシートを同時にコピーしてないか?
そのシート間の参照にはブック名は付かないけど。

711 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 21:01:30.50
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ちょっち
【4 VBAでの回答の可否】 可

D:\data\hoge の中に複数のブックがあり、
その中からブック名の一部が合致したら D:\data\fuga に移動させたい。

たとえば、hoge内に以下の4つがあったとき、GR0119.xlsxだけをfugaに移動
GR1217.xlsx
GR1218.xlsx
GR0119.xlsx
GR1219.xlsx

暇な人、マクロ書いて!

712 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 21:33:16.11
Sub test()
Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "D:\data\hoge\*0119.xlsx", "D:\data\fuga"
Set fso = Nothing
End Sub

713 :711:2012/12/19(水) 21:57:06.63
>>712
うぉぉおぉぉぉ、ありがとーーーー。
For Eachでできなかったから、ちょっと感動w
分からなくなったら、またお邪魔しますね&hearts;

714 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:07:51.54
マクロで来月の数字を返すのを過去ログにありましたが、
1月なら01を返すやり方を教えてください。

過去ログにあったもの
raigetsu = Month(DateAdd("m", 1, Date))

715 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:25:25.42
>>714
right("0"&replace("1月","月",""),2)

716 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:37:27.89
>>714
Format(Date, "mm")

717 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:40:05.62
>>715
アフォですか?

>>716
バカですか?

718 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:47:27.69
>>714
そもそも、日付部分は
日付値が入ってくるの?
文字値として入ってくるの?

719 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:53:00.86
raigetsu = Month(DateAdd("m", 1, Date))
これ見ればわかるだろ?ハゲ

720 :名無しさん@そうだ選挙にいこう:2012/12/19(水) 23:59:29.94
質問しないといけない程度の知識だから
それもわかってないんだろ

721 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:03:15.29
レベル低すぎwww

おまいら頭悪すぎwww

722 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:03:42.00
>>720
たしかに

723 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:08:42.55
>>714
ユーザ関数使うとかどうでしょ?

724 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:11:11.24
>>715とか>>716って、ゆとり教育の弊害ですか?

725 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:12:47.30
>>714の人気に嫉妬w

726 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:12:51.00
>>724
そんなこと言わずに答えてあげなよ

727 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:13:20.98
715はネタだとしても、716はおバカ大賞決定!

728 :714:2012/12/20(木) 00:14:00.24
こんなのどーでしょう?
raigetsu = Format(Month(DateAdd("m", 1, Date)), "0#")

729 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:15:40.27
>>728
正解
 0# でも 00 でもいいけど

730 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:16:26.52
質問もろくに読まず、トンチンカンな答えを出したヤツの言い訳がヒドすwww

731 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:17:26.55
716って「12」になるんじゃね?

732 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:18:33.28
まあ日付の質問じゃなくて
数値を文字表示にする質問だから

733 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:19:50.74
>>728
これなんでMonthが必要なのん?

734 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:21:00.94
数値を文字表示にする質問で、

>そもそも、日付部分は
>日付値が入ってくるの?
>文字値として入ってくるの?

なんて聞いてくる馬鹿もいる

735 :716:2012/12/20(木) 00:21:40.94
>>731
はぁ?
俺のPCだと01になるよ

736 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:24:14.68
>>735
システムタイマーが1月になってないか?

737 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:32:32.43
マクロで来月の数字を返すことを聞いてるんだから、
システムタイマーが1月なら2月を返さないと・・・なんて書いてみるテスト

738 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:36:25.46
>>716は当月しか返さないよ

739 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:49:07.32
だからバカなんだよ

740 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 00:52:24.86
なんか、秋葉お宅が湧いてるな

741 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 11:49:56.80
Excel2010なんだけど、表示がおかしくなっちゃった

http://www.dotup.org/uploda/www.dotup.org3752331.jpg

ボタンとかがいっぱい出てた元の状態に戻したいんですけどどうしたら良い?^^;

742 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 11:52:49.30
>>741
その緑色になってるファイルってとこダブルクリックしてみ

743 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 11:56:34.79
>>741
ホームとか挿入とか名前が並んでいるあたりで
右クリック>リボンの最小化

チェックが外れれば元に戻る

744 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 13:06:54.62
>>741 自分は[Ctrl]+[F1]でリボンの表示・非表示を切り替えてるけど、めんどくさい

745 :名無しさん@そうだ選挙にいこう:2012/12/20(木) 19:09:42.66
741です

皆さん、ありがとうm(__)m

746 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 11:46:38.97
試しに入れてみたけど、2013って遅くない?

747 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:05:34.70
めちゃくちゃ重いね

748 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:08:48.45
>>746
チャレンジャーだなあ(´・ω・`)

”おすすめピボットテーブル”だとか”おすすめグラフ”だとか
レビューを見た時点で使ってみる気なくした

スピードについてはまだ未完成品だし
2010に「見栄えがいいだけの余計な機能」を加えているようにしか
見えんから、そういうことがあっても不思議ないと思う
製品版では多少改善されているかもしれんけどね

749 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:13:07.33
     A     B    C
1  10.2    8    1 
2     6    9    3
3         10    6
4         11   10
5         14   16
6        100   20

A2で=LOOKUP(A1,B$1:B$6,C$1:C$6とすると6になります
10を返すにはどうしたらよいですか?
つまり8以下なら1、8超9以下なら3、9超10以下なら6、10超11以下なら10という具合に求めたいです

750 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:20:51.16
>>749
B列いじってもいい?
http://s2.gazo.cc/up/s2_11301.png

開けるかな

751 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:22:24.80
http://s2.gazo.cc/up/s2_11302.png
ああこっちで

752 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:24:52.55
>>750
開けません

753 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 12:26:29.67
>>751
開けました

754 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 18:43:43.52
>>751
そのUIなに〜?かわいい!

755 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 18:44:21.36
>>754
Office2013だよぉ〜〜&hearts;&hearts;

756 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 18:45:28.01
コホ・・・ノリを間違えた・・・

757 :749:2012/12/21(金) 19:10:57.54
>>751
ありがとうございます
でもぴったり10のときは6を返したいのです

758 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 19:13:30.37
IFしかないんじゃないか?

759 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 19:29:46.59
>>757
B列の値に0.1たしておくとかしたらダメなん?

760 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 19:30:26.24
>>757
そういうときはB列が降順の表にしてINDEXとMATCHの照合の型-1を使うのが正解
かなり前にも同じようなこと書いたがアホどもには理解されなかった

761 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 19:47:21.30
なんだ?モーグに同じような質問あるぞ?
おかしな回答にお礼を言って閉じてるが>>749か?
まともな回答者もいるようだが

762 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 21:52:10.71
>>755
えー2013てそんななんだぁ!いいなぁー!

763 :名無しさん@そうだ選挙にいこう:2012/12/21(金) 23:03:50.68
2003で十分

764 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 02:14:10.84
【1 OSの種類.】 Windows7
【2 Excelのバージョン】 Excel2010
【3 VBAが使えるか.】 いいえ
【4 VBAでの回答の可否】 可

EXCELのシート1にリストがあります。
例)
チキンカレー
ビーフカレー
たぬきうどん
きつねうどん
カレーうどん

シート2の指定のセルに、カレーと入力したらドロップダウンで
チキンカレー
ビーフカレー
カレーライス
と候補が出てクリックして指定することは出来ますか?
入力規則のドロップダウンを使用していたのですが、リストの量が多くて探すのが大変で…
イメージ的には検索エンジンの感じなのですが、EXCELで出来ますか?
よろしくお願いします。

765 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 09:37:08.73
できます

tk、件数が多いと “びろ〜んリスト” は使いにくいよw

766 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 09:37:50.55
あ、

まぁーぃぃゃw

767 :714:2012/12/22(土) 10:23:23.29
>>729
ども。

714の続きなんですが、年号の4ケタを返すとき
来月が来年だったらどう書けばいいですか?
日付は、Dateを使います。

今日だったら raigetsu_yyyy = 2013 となり、
システム値を先月にしたら raigetsu_yyyy = 2012 を返したい。

768 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 10:46:48.84
>>767
俺はエスパーレベルが低いので質問の意味がよくわからんがこうか?
raigetsu = Format(DateAdd("m", 1, Date), "mm")
raigetsu_yyyy = Format(DateAdd("m", 1, Date), "yyyy")

769 :714:2012/12/22(土) 11:21:38.70
>>768
ども、醤油ーこと。

770 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 14:51:54.84
>>765
出来るんですね。ありがとうございます。
びろーんと出て使い辛いです。
どうしたら使いやすくなるのでしょうか?
やり方を教えていただけると助かります。

771 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 15:12:16.03
イメージ的には検索エンジンの感じ
中傷スギちゃんでワケワカメ

772 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 18:30:57.96
Excel作業疲れにコンビニ行ったんだけど
若い店員はサンタの帽子かぶってるのに
60才くらいのオバサンはなにもかぶっていませんでした。
コンビニ会社に「60才以上の店員はかぶらなくてもいい」という免除のルールみたいなのがあるのですか?

773 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 18:31:51.05
オーナーかオーナーの妻でしょう

774 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 18:32:42.39
>>772
VBAなら可能だと思います

775 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 18:35:02.97
>>772
ブログでやっててください

776 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 18:41:18.65
>>771
ヤフーとかの検索窓に入力したら入力中に候補がビローンと下に出るでしょ。あれだと思う。

>>765
件数が多いとリストが伸びるから途中まで入力してリストを絞っていきたいのだと思う。

777 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 22:54:50.82
このスレの古くからの住人でExcel上級者まら
クリスマスの夜は当然Excelで関数を組んだり集計をまとめたりしながら一晩中過ごす事が最高の幸せであると言う事で相違はないであろうか?

778 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 23:26:05.60
Excel中級の俺は勝ち組!

779 :名無しさん@そうだ選挙にいこう:2012/12/22(土) 23:26:41.16
上級者の俺はVBAだぜ〜〜?

780 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 00:06:05.55
>>776
はい。ズバリそれです。
言葉足らずですみません。
もしわかる方いらっしゃったら教えて下さい。
よろしくお願いします。

781 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 12:57:06.15
>>780
そういうのはリストの多段連動化で十分だろ

つ 「入力規則 リスト 多段 連動」@Google

検索エンジン的なリアルタイムの候補連動は、VBA使えば出来なくはないけど
製作コストと利便性の向上が割に合わない
まあ客相手の商用ソフトやWebサービスなら、それだけのコスト掛けてでも僅かな利便性を向上させる価値もあるが
個人で使うなら、リストの多段連動化あたりがコストパフォーマンス的に落としどころだろ
まあ自分で作れるってなら割に合わない手間掛けてでも利便性を追求するのも勝手だがな

あとは、リストの多段化で妥協するか、自分でVBAの勉強してでもリアルタイム候補連動を実現したいかは
君が自由に判断してくれて結構だ

782 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 14:18:44.34
>>780
キーワードを入れるセルを固定にしていいなら関数と作業列で出来るけど

783 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 15:22:32.10
>>782
出来るんなら例でもいいから関数書けよ。回答にならんだろ。

784 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 16:05:58.57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000,2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可


@セルに入力したXとYの値を原点とした関数グラフを作成
(X=10、Y=5ならその値が原点となる関数グラフを作成)

Aセルに入力したZの値をプラスした原点を中心の円を作成
(Zに値が0.1ならXが10.1&-10.1、Yが5.1&-5.1を通る円を作成)

Bセルに入力したa(X座標)とb(Y座標)の値をそのグラフに点で表示
(aの値が10.05ならX座標の10.05、bの値が9.99ならY座標の9.99に点で表示)

このような事はエクセルで可能でしょうか?
様は位置度の計算をグラフ化(目視化)したいんです

785 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 16:14:49.89
ようわからんけどバブルチャートみたいなもん?

786 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 17:11:39.80
>>784
「excel vba オートシェイプ」とかで検索してみたらどうでしょ
VBAが使えないなら厳しいかもしれんけど

787 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 17:59:12.67
数学ダメダメだから何言ってんのかわからん
XとYの値だけじゃグラフなんて作れないんじゃないの?

788 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 17:59:25.49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

塗りつぶしの色をショートカットで使えるようにできないでしょうか?
毎回セルを選択して塗りつぶしの色をクリックしています。

789 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:00:20.52
【4 VBAでの回答の可否】 可

すいません。
VBAは可です。

790 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:02:23.09
XPで2010とは珍しい組合せですな

791 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:03:58.45
>>784
@A
縦軸、横軸のオプションで設定
縦軸との交点、横軸との交点をいじるだけ。

B
単純に散布図

792 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:05:10.08
>>790
よくある組み合わせだと思うけど・・・

793 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:08:14.11
>>788
普通、「毎回セルを選択して塗りつぶしの色をクリックする」で問題無いと思うけど。。

セル選択と色指定のマウス移動がわずらわしいならCtrl+Yとか、、
特定の値のセル複数に着色にしたいということなら条件付き書式

794 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:08:18.97
>>789
セル選択して、そのセルを青で塗りますよーボタンなら超カンタンに出来る

795 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:20:56.75
>>793
数百あるファイルをデータベースと合っているか確認作業をしています。
なので条件式などは使えません。
Ctrl+Yは気づきませんでした。
ありがとうございます。

>>794
そのボタンはクリックする必要があるのでしょうか?

796 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:26:10.33
>>795
数百ある確認作業に塗りつぶしを使ってる時点でなんか間違ってる気がするがね。

マクロならボタンでうごかすのもショートカットに割り当てるのも同じなのでどっちでも出来る。

797 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:31:51.57
>>795
まさか目視確認じゃないよな?

798 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:36:42.30
>>797
目視確認ですが
間違っている場所はその都度赤字で修正しています

799 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:43:36.17
俺が上司ならそういう作業してる奴は無能の烙印押すぞ
おそらくデータベースはExcelデータじゃないんだろうが
1日かけてでもExcelシートに落として関数で比較しろ

800 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:58:17.31
その作業、お前がその作業をするであろう時間分の給与の1/10で請け負う!

801 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 18:58:34.35
すいません
今回は時間がないのでCtrl+Yで行きたいと思います。
関数は今後勉強したいと思います。

802 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 19:00:17.95
いやいや、関数ってそんな大層なもんじゃなくてifで比較するだけじゃん

803 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 19:02:02.44
俺はF4派だな

804 :名無しさん@そうだ選挙にいこう:2012/12/23(日) 19:07:25.99
>>802
たいそうなもんじゃないだろうがIFだけじゃ無理だろw

805 :名無しさん@そうだ選挙にいこう:2012/12/24(月) 02:57:44.80
>>781
ありがとうございます!
助かりました。
利便性は向上させたいのですがコスト面は難しいです…
教えて頂いた方を検索してチャレンジします。
ありがとうございましたm(__)m

他の助言くださった皆様もありがとうございましたm(__)m

806 :名無しさん@そうだ選挙にいこう:2012/12/24(月) 18:59:16.43
8行目以降のデータを書き換えてる箇所がネックになっており、
会社のノーパソで処理すると12秒も掛かっています。
どこをイジると速くなりますか?

j1 = Range("IV5").End(xlToLeft).Column
End_B = Range("B65536").End(xlUp).Row

StartTime = Time
For i2 = 8 To End_B
 Cells(i2, j1 - 1).Value = Cells(i2, j1 - 1).Value + Cells(i2, j1 + 4).Value
 Cells(i2, j1 + 5).FormulaR1C1 = "=RC[-5]+RC[-2]-RC[-1]"
Next i2
StopTime = Time
StopTime = StopTime - StartTime
MsgBox Second(StopTime)

807 :名無しさん@そうだ選挙にいこう:2012/12/24(月) 20:19:33.25
>>806
セルに書込むと数式の再計算がされるからだろ
For文の前に、Application.Calculation = xlCalculationManual
後に、Application.Calculation = xlCalculationAutomatic
を入れて再計算を止めてみ

808 :806:2012/12/24(月) 20:53:25.93
>>806
自宅PCだと、Application(ry を入れる前が10秒、入れた後は0秒でした。
ありがろうございました。

809 :806:2012/12/24(月) 20:55:22.42
うはー、gdgd・・・www

>>807
自宅PCだと、Application(ry を入れる前が10秒、入れた後は0秒でした。
ありがとうございました。

810 :名無しさん@そうだ選挙にいこう:2012/12/24(月) 21:40:50.90
やっぱりクリスマスもExcelだよな!新規ユーザ設定でカスタムボタン追加が熱いぜ!!w

811 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 10:26:35.42
▼━質問テンプレ (使ってみればなんでもできる) ━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

今A1からH8まで、8x8セルに計算結果のさまざまな数字が入っています
C5には 80 という数字が入っているんですが
逆にJ1に 80 という数字を入れたらK1に C5 と返るような計算式ってできますか?
存在しない数字を入れてしまったらエラーのままでいいです

また
今のところは重複した数字はありませんので重複は気にしないでいいんですが
もしも今後重複が出てきた場合には なるべく左、なるべく上 の順で優位なものひとつを選びたいんですが
そこまで考えると計算式では無理でしょうか?
例:該当セルがB4とB7とD1の三つの場合、なるべく左でB列、次になるべく上でB4を選ぶという具合

無理難題を言うようで恐悦ですがよろしくお願いします

812 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 10:45:29.01
>>811
MATCHとADDRESSとMIN関数でできる

813 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 10:54:39.77
=ADDRESS(LOOKUP(L2,B2:J10,A2:A10),LOOKUP(L2,B2:J10,B1:J1))

うーん、、なるべく左っていうのがやり方ワカラン・・・

814 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 11:40:47.50
>>811
×恐悦:相手の好意などを、もったいなく思って喜ぶこと。多く、感謝の意を表すときに用いる語。
○恐縮:相手に迷惑をかけたり、相手の厚意を受けたりして申し訳なく思うこと。おそれいること。また、そのさま。

815 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 13:32:40.92
>>811
「なるべく左、なるべく上 の順」がどちらの意味にも解釈できるので、
A2とB1はどっちが優先か書いて

816 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 13:49:27.47
普通に考えたらB1よりA8優先

817 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 14:03:20.47
VBAが使えるならRange.Findで一発で答えが出せるのにめんどくさいね

818 :811:2012/12/25(火) 14:30:00.81
あ、ハイ

なるべく左 > なるべく上 です
>>816さんのおっしゃる通りです
A列>H列がまず優先で、そのあとで同じ列なら1>8に優先なので
A2とB1であればA2のほうを優先したいです

>>811さんすみません恐縮でした
不慣れな言葉を使ったので肩肘張っちゃったみたいです

あと>>813さんの式では#N/Aが返ってきましたが
L列や10行まで範囲を使って計算するのでしょうか?

ちょっとMATCHとADDRRESSとMINについて勉強してこようと思いまうs

819 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 19:59:24.21
飯島愛と飯島直子は
どこが違いますか?

820 :名無しさん@そうだ選挙にいこう:2012/12/25(火) 21:31:00.27
>>819
親子

821 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 10:34:20.54
>>819
ごばくおつ

822 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 18:06:19.33
学生です。冬休みにExcel2010を極めていきたいと思うのですが、本当に初心者です。
初心者から始めても使いこなせるぐらい実力がつく、Excelの使い方を学べる勧めのサイトとかあったりしますか?

823 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 18:34:44.53
>>822
>>2
>・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。

以来じゃなくて依頼じゃね?

824 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 19:28:33.56
>>823
>スレ以外
ってのも
>スレ違い
の間違いだろうね
っつーか、総合相談所なんだからそういう紹介もアリだけどな。
俺は知らないから紹介できないけどさ。

825 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 19:43:10.78
>>822
初心者ならここのサイトとかオススメ
http://www.contextures.com/tiptech.html

826 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 20:07:46.02
>>825
え、英語が…

827 :名無しさん@そうだ選挙にいこう:2012/12/26(水) 21:52:24.71
>>822
関数の使い方なら
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/itiran.html

本当の初心者に手取り足取り一から手順を追って勉強できるようにまとめられたサイトは見たことない。
本なら初心者に親切なのはいっぱいあると思う。

828 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 01:02:30.79
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010

セルの色を分岐し、指定した色でなければメッセージを出すテスト版です。
同じ色(変数)なのに、なぜかメッセージが出てしまいます。
何がマズーですか?

Sub test12_27()
 Dim RD
 RD = "10053375"
 i = 2
 j = 6
 Cells(i, j).Interior.Color = RD
 If Cells(i, j).Interior.Color <> RD Then
  MsgBox RD
 End If
End Sub

829 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 05:11:35.77
現在マクロを勉強中ですが
マクロの実行中にカーソルのコントロールや数値の手入力を行う事はできないのでしょうか?
実行後手入力は一切受け付けてくれないようですが、

たとえば集計作業は手入力で裏でマクロが動いていて探している集計結果が得られたらファイル書き出し等の
アクションが起こるような感じのことができればと思っています。

830 :829:2012/12/27(木) 05:18:15.93
>>829
できれば入力作業を全く邪魔することなくバックグラウンドでさらりと自動的に別表が続々と書き出されていたら最高ですがw

831 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 06:14:52.68
>>828
RDが""で文字列として扱われているから。

Sub test12_27()
Dim i As Long
Dim j As Long
Dim RD
RD = 10053375
i = 2
j = 6
Cells(i, j).Interior.Color = RD
If Cells(i, j).Interior.Color <> RD Then
MsgBox RD
End If
End Sub

これならIFで同じと判断される。

832 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 06:59:45.99
>>822
勉強のための勉強はなかなか身につきません。
何かテーマを決めて、実現させるためには
どうしたらいいか、どんな方法があるか、の方法論を
ググって勉強する方が良いと思います。
まず、エクセル的思考方法を身に付けましょう。

833 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 09:15:49.09
>>829
無理だと思っておいてよいでしょう
具体的に何がやりたいのかわかりませんが、
別プロセスでExcelを起動してそちらで手入力作業(?)をしたらどうですか?

834 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 10:35:22.27
>>831
横レスするけど、実際に試したらそれでも駄目だったよ
RDに10053375 を指定しても、
なぜかCells(i, j).Interior.Color の値は
8421631 になってしまって、Ifのところで違うと判定される。
ちなみにExcel2000で試した。

835 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 10:42:45.06
>>829
想定している裏の処理ってのがどういう物かにもよるけど、
Worksheet_Changeイベントとかそういうので起動するマクロだったら
言ってるようなことに近いことはできるよ。
あくまで入力内容を監視して条件に合致したらマクロが起動するってだけだから、
処理が延々と続くようなものだとマクロから抜けれないけど。

手入力の内容を監視して
合致したらAの処理、違ったらBの処理みたいにマクロで分岐させて、
そのマクロがどっちも短時間で終わる処理であれば
次の監視状態になるでしょ。

836 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 10:50:07.03
>>834
じゃあ質問者と同じ2010で試してみて

837 :834:2012/12/27(木) 10:51:18.04
>>836
持ってないから無理

838 :836:2012/12/27(木) 10:54:39.82
>>837
俺も持ってないんだよ・・・

839 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 11:14:37.46
831と別のものだけど試したらいけた
ちなみにこれがTRUEになるので、型の違いだろう
If Cells(i, j).Interior.Color <> RD * 1 Then
>>834
2010か2007で色の構造がやや変わったという話を聞いたことがある
一言で言うと古いExcelで使えない色かと

840 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 11:15:11.03
TRUEじゃねー、FALSEだ

841 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 11:15:23.92
>>828
Sub test12_27()
 Dim RD As Long
 RD = 10053375
 i = 2
 j = 6
 Cells(i, j).Interior.Color = RD
 If Cells(i, j).Interior.Color <> RD Then
  MsgBox RD
 End If
End Sub

842 :834:2012/12/27(木) 15:49:41.42
結局、>>828の件をまとめると、
>RD = "10053375"
の部分で数値を""で挟んだのがいけなかった訳だな。
RD = 10053375
としておけば問題なかった。

ただし、それで済むのはExcel2007以降の場合であって、
Excel2003以前の環境だとそもそも
RD = 10053375
という指定が出来ないから正しい結果が出ない。
となるわけか。

勉強になったよ。

843 :834:2012/12/27(木) 15:52:32.25
ああ、正確に言えば
Cells(i, j).Interior.Colorに 10053375 が指定できないってことだな。

844 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 16:09:32.84
>>843
2003以前だと指定はできるけど
使用可能な色に丸められる

845 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 16:32:12.04
>>844
>使用可能な色に丸められる

それをさして指定できないという

846 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 16:39:04.60
>>845
10053375をパレットに割り当てておけば指定できるんじゃないの?

847 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 18:10:41.98
そもそも指定ってなんだよ、代入と言ってくれ
代入はできる(エラーにはならない)が
イベントで変更される

一般的にはこの仕様を代入できないと言っていいが、
プログラミングの世界でそんなこと言うと面倒な事になる。

848 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 18:18:45.17
>>847
そんなことをいちいち書かなくてもみんな読み取れてるよ・・・

849 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 18:20:50.94
スマン、だったらいいんだ。

850 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 18:42:52.80
素直なひとだと言い争いに発展しない=スレが荒れない。

851 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 19:49:12.45
834は嵐だろ?
質問者がわざわざ2010と書いてるのに、2000で試してダメ出しとか。
もうね(ry

852 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 21:06:14.41
>>822
やりたいことに対してどのような関数があるのかというふうに調べたほうが覚えやすいと思う
関数なんかありすぎて全部は覚えらんね〜す
俺は20過ぎてから仕事ではじめてエクセル使ったけど、意外とテキトーにやってても覚えられるよ
効率よくなくていいなら、初心者向けのテキストというか、初めてのエクセルっぽい名前の本ならいっぱい売ってるけど

853 :834:2012/12/27(木) 21:33:34.00
>>851
嵐じゃないよ
てか、バージョン依存があるってことが分からなかったんだから
しょうがないじゃん

854 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 21:39:29.37
Interior.Color の値が8421631に変わったなら、RD = 8421631で試してから書けよ

小学生か?

855 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 21:52:22.72
すごーい!お兄ちゃんVBA使えるんだね^^

856 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 21:52:27.36
>>854
>>850

857 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 21:55:03.89
資格取ろうとしてるなら>>852の方法じゃ受からないけど使えるようになりたいなら>>852をオススメする

858 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 22:00:33.34
てゆーか、いまだにOffice2000を使ってるやつは社会から孤立したヒッキー(死語w)くんか、
割れしか使えない超ビンボーだな。

859 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 22:01:19.50
割れ厨は2003か、2013の体験版使ってんだろ

860 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 22:19:50.76
体験版が割れって・・・

861 :828:2012/12/27(木) 22:33:35.60
>>831
今までずっと " " で囲んでいました。
ただ、ちょっと不思議なことが・・・

Dim RD As String と宣言したら、RD = "10053375" でも同じと判定されます。

文字列でもおkなんですね・・・

862 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 22:38:06.80
>>861
基本的なところが違う
dim RD
だとvariant型(なんでも入る型)になる。
dim RD as variant と同じ
そして、
RD="1"
と文字列を代入すると、一時的にstring型に変更される
つまり、最初からstringで宣言するのと同じ

863 :828:2012/12/27(木) 22:52:00.27
>>862
Dim RD だけでは variant型になるのは知ってます。
だからDim RD As String と宣言しなくても、RD = "10053375" で
同じと判定されると思ってたわけです。
しかし、実際には違うと判断されます。
私の疑問がご理解いただけたでしょうか?

864 :831:2012/12/27(木) 22:58:48.81
>>861
http://denki.nara-edu.ac.jp/~yabu/soft/excel-wana.html

自動的な型変換がされるかされてないかの違い。
文字列でもOKという解釈は間違い。

Variant/StringのRDは型変換されなくてStringのRDは型変換されているだけ。
こういうややこしい事を気にするぐらいなら最初からVariantでなく適したデータ型にした方が楽。

865 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 23:22:30.26
>>863
ん?よくわからないしどうでもいい。
違うのは型が違うからで、>>831で答えが出てるでしょ?

866 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 23:26:07.90
831で一つの答えが出てるけど、861の新たな疑問はどうなの?

867 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 23:35:36.33
Dim RD As String と宣言 → RD = "10053375" で同じと判定

Dim RD As Long と宣言  → RD = 10053375 で同じと判定

どっちでもいいんじゃね?

868 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 23:43:34.31
俺なら色を設定するときはRGBで設定するな
10053375なんて何色なのかパッと見わからん

869 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 23:49:12.08
俺は数値かなぁ
そんなプログラムは一回書いたらもう見直すこともないだろうし
コードの中に何個もあるならredやらblueやらの変数に入れるかな。予約語かもしれんけど

870 :名無しさん@そうだ選挙にいこう:2012/12/27(木) 23:50:52.51
色を設定するときは、色の設定 - ユーザー設定で実際の色を見ながら決め、
その値を得る方が多くね?

初めからRGBで数値化したら、それこそ何十回と繰り返し作業になるだろ?
赤、青、緑って原色しか使わないならRGBでもいいけどw

871 :828:2012/12/27(木) 23:56:51.05
>>864
リンク先を読みましたが、セルの値と変数は同じ扱いと思っていいですか?

「variant型の変数に文字列の数字を入れてもと文字列にはならず、数値となる」
という結論でよろしいでしょうか?

872 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 00:31:48.43
>>871
その結論は違う。

””で代入したら文字列になる。

比較するときに自動型変換が行われる

Stringは自動型変換がされるけどVariantやセルは型変換がされない

って感じ

873 :829:2012/12/28(金) 06:07:42.58
>>833
>>835
やはり処理中は無理のようですね。
どうもありがとうございました。

ただExcel上で動いているゲームを見てできるのかなと思ったりしましたが
あれはまた別物なのでしょうか?

874 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 06:36:16.67
>>873
あなたの最初の質問内容を実現させるのは簡単。
だけど処理中に動作させる必要はない。

初心者だから処理速度かかりすぎなマクロを組んでるんじゃね?
「探している集計結果が得られたら」がどういう動作なのかわからんけど。

普通はそういう状況で処理中に操作をする事を考えるんじゃなくて、砂時計見えないぐらいの
処理時間になるようにマクロを組むんだよ。
テキストファイルに書き出すのは体感出来ないぐらいの速さだから頻繁に書き出しても問題ない。

875 :850:2012/12/28(金) 08:02:57.33
>>856
ちがうよ。

876 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 10:43:29.27
>>873
ゲームしながら集計作業を手入力でしたいの?
何をしたいのか具体的に書けないの?

877 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 14:49:41.89
問題1 列の挿入方法として、正しくないものを1つ選びなさい。


A. 列番号を右クリックして、表示された一覧から[挿入]をクリックする。
B. 列を挿入したい場所にあるセルをクリックし、ワークシート左上角をクリックする。
C. 列を挿入したい場所にあるセルをクリックし、[セルの挿入]の[▼]ボタンをクリックして表示される画面で[列全体]をクリックする。
D. 未解答のままにする。

A〜Dでどれが正解ですかっ!?

878 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 14:52:54.13
やってみろよ

879 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 15:17:43.90
Dの存在が気になる
解答としては正しいとも解釈できるのに、選択すると矛盾が生じるから選択できないってことだよな

880 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 15:25:17.66
こんな問題なんのためにやるんだよ
意味ねえよ
列を挿入する方法なんて一つ知ってりゃ良いじゃん

881 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 16:04:24.50
>>877
宿題は自分でやれ

882 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 20:28:34.73
問題2 チンチンの挿入方法として、正しくないものを1つ選びなさい。


A. 大きくなってから挿入する。
B. ゴムをつけてから挿入する。
C. 女の子が痛がるので挿す方向を間違えない。
D. マンコがぬれてから挿入する。

A〜Dでどれが正解ですかっ!?

883 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 20:40:14.81
>>882
shine

884 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 20:50:28.86
>>877
すごいな、Bなんてほうほうがあるのか
使ってる人いるんだろうか

885 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 20:57:27.10
Bやっても挿入されんけど、左上角ってどこ?

886 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 21:11:31.90
ぼーっとしてた。Bではできないってことなのね。

887 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 22:58:36.26
123456789000(12桁の数字)を入力すると1.23457+E11と表示されてしまいます。
123456789000と表示させるには、どうすればいいですか?

888 :名無しさん@そうだ選挙にいこう:2012/12/28(金) 23:14:30.21
>>887
右クリック
→セルの書式設定
→表示形式
→数値
→ok

889 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 09:40:00.15
マクロを手打ちすると、小文字なのに勝手に最初だけ大文字になるでそ?
if a=b then
If a = b Then

しかーし、WhatとかMatchByteが大文字にならないんだけど何で?
A=columns("a").find(what:=kensaku,matchbyte:=false).offset(0,1)
A = Columns("a").Find(what:=kensaku, matchbyte:=False).Offset(0, 1)

890 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 11:33:15.71
【1 OSの種類    vista     】
【2 Excelのバージョン 2007  】

サイト上の数値データをダウンロードして開いて表示していたのですが、
急にC:\Users.......が見つかりません。名前ファイルが正しく入力
されたか確認してくださいというメッセージが出て表示できなくなりました。

アンインストールして再インストールしてもダメでした。

今までは問題なくダウンロードして表示できていたのですが、
解決方法を知っておられる方よろしくお願いします。

891 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 11:51:25.69
>>890
エクセルの問題じゃなくて、ダウンロードしたデータの方に問題があるんじゃねの?それ。

892 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 12:10:20.26
>>891
どんなデータでも同様のエラーが出てしまいます

893 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 12:29:55.68
>>890
エラーの内容を嫁
C:\Users.......が見つかりません。
ようするにファイルが見つからないんだよ。その見つからないファイルは何なのかどこにあるのか、どうやって開こうと
してるのかの説明がなければ他人には解決できん。

894 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 13:03:55.83
>>889
仕様に関する疑問・質問はメーカーサポートへどうぞ

895 :889:2012/12/29(土) 14:16:25.21
仕様ならしようがねえなあ・・・

896 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 14:28:04.75
仕様もないシャレはやめなしゃれ

897 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 15:06:00.51
Excelで関数やマクロ・VBAを書いて様々な統計分析をやる人の年収は大体いくらぐらいですか?

898 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 15:15:07.19
>>897
アンケートはご自身のブログ等でお願いしますね

899 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 15:15:44.47
統計分析を専門にやるひとはExcelでそんなことしません

900 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 15:30:15.08
Excel2003〜2010
新規でファイルを開くと同じウインドウ内に重なって表示されますが必ず新規ウインドウで立ち上がってくるように強制することは出来ないのでしょうか??!
今は毎回アプリを開く数分立ち上げて1個ずつオープンしてますが回数が多いともの凄く骨の折れる作業と化しています、、
宜しくお願い致します。

901 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 16:05:15.41
>>900
更にファイルサーバ経由だと開くのに数秒待たされます間違えて開いて開き直すのに数十秒
もう極悪です・・・・・・

902 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 18:19:09.05
>>900
「excel 新しいウィンドウで開く」でググってみるといいかも

>>901
間違えるのはあなたの問題であってExcelの問題ではありません

903 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 19:21:33.27
>>895
でもしゃれになってないよ。
「しようがない」を漢字で書くと、本当に「仕様がない」だから。

実は、昔は俺も知らなかったんだけど・・・・

904 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 22:00:24.22
数式の質問とかばっかのところ申し訳ないのですが、
エクセルファイルを印刷して紙の右端にパンチで穴を開けたいのですが、右詰めとかに簡単に出来る方法はないでしょうか?
いまのところ、Aの列を空白にしてココのサイズ調整で右詰めっぽくしてますが

905 :名無しさん@そうだ選挙にいこう:2012/12/29(土) 22:01:46.00
>>904
余白を好きなサイズに設定してください

906 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 01:58:50.03
プリントアウトした時点で時間と資源の無駄遣いです。

907 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 02:13:22.32
プリントアウトした時点で老害

908 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 06:53:17.47
意味不明なプリント→作成者印→確認者印→承認者印→保管・・とかなんだろうなああ。

909 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 09:48:55.94
>>908
クッソワロタwwwwww
俺のところだorz

910 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 11:36:29.13
マジレス希望なんだが印刷無しで上長承認ってどうやってるの?

911 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 11:48:04.88
電子判子。

お値段次第で、ただ〜数百万まで。それ以上もあるかも。
まあ、どこかで割り切りは必要。

912 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 11:57:17.34
なるほどありがとう

913 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 12:41:22.85
>>889
普通は名前付き引数は大文字になったりはしない
LookInやMatchCaseなどが大文字になるのはたまたま同名の予約語(ちょっと違うかもしれないが)があるから

914 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 12:55:27.85
電子判子は法的に無力
だから紙に印刷して朱肉印を押すんだよ
馬鹿ども

915 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 12:57:49.15
>>914
なるほど、勉強になります!
いや〜>>914さんがいなければ取引先との契約書を電子印章ですますところでした!
本当に助かりました!!

916 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 13:01:54.80
内部決裁に法的有効も何もないとおもうが

917 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 13:11:49.26
>>906-907
現場ではまだまだ紙が必要…
と思ったけど、セブンイレブンとか大手のスーパーじゃふつーにバイトが端末で発注してるもんなぁ
インターフェイスしだいなんかね

>>908
あるあるwww
しかも、書類によっては署名だけでなく全部手書きじゃないとダメとかイミフ過ぎるよ
パソコンでタイプするのとどれだけ差があるのかと

>>916
あとで言った言わないがあるんだよなぁ
そのためにメールとかキッチリとっとかなきゃだし、社内SNSなんて夢のまた夢だぜぃ…
社員数が増えてきたから、今のシステムをどうにかしたほうがいいと思うんだけどねぇ

918 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 13:27:52.59
>>915
 お前、アタマ、おかしいじゃねーの?

904から読むと、印刷しない話かと思うのだが。
契約書は、さすがに印刷しないトコはないと思うぞ。

919 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 13:47:11.19
取引先との契約書を電子印章ですますところでした!ってwwwww

社印を電子印章にする会社なんてあるのかよwwwww

腹イテーwwwwww

920 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 13:54:27.00
そろそろスレ違いなのでよそへいってらっしゃい

921 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 13:54:35.44
無職につっこむのは野暮ですな

922 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 14:28:51.03
印刷ネタで思い出したw

プレビューのアイコンをクリックしたとき、
ブックによってはプレビュー画面が出たり
下のようなマークが出るときがあるんだけど
何が原因なんでしょうか?
OSはXPと7、Excel2010です。

        ┌─┐
        |  ○
        |  |ヾ
        └─┘
        印刷プレ
      ビューの表示

923 :名無しさん@そうだ選挙にいこう:2012/12/30(日) 15:45:53.81
>>922
なるね。機嫌が悪いと思ってるんだが。

924 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 11:22:16.48
登山家や冒険家と呼ばれる人は
ふだんどういう経路で収入を得て生活費(食べる、住む、など)をかせいでいるのでしょうか?

925 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 11:32:50.30
>>924
VBAなら可能です

926 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 11:37:25.87
=SUM(スポンサー収入、著作権収入、商品開発協力、その他)

927 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 13:01:31.26
>>925
具体的にはどうすればいいですか?

>>926
#NAME?になってしましました。

928 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 13:35:02.72
>>927
セルに名前をつける
A1にスポンサー収入、B1に著作権収入、C1商品開発協力、D1その他
そしてそれぞれの収入を入力し、SUMで出すとok

929 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 19:59:44.78
「夢に向かう姿カコイイ」って一生懸命貢いでくれる嫁の支えが一番大きい

930 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 22:22:15.22
【1 OSの種類         .】 Window7SP1
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 VBA関係なし
【4 VBAでの回答の可否】 VBA関係なし
index関数なんですが、
    A    B   C   D   E   F
1      青森 徳島 沖縄 愛媛 和歌山
2 りんご  100  150  160 
3 みかん  180      190  80   90
4 パイン      500  390
5 オレンジ 200  160  180  120  190
6 ぶどう      150          270
7 XXXX←ここに商品
8 YYYY←ここに県名
B2〜F6に「出荷」と名前を付けて、
=index(出荷,match(A7,A2:A5),match(A8,B1:F1))と間違って入力した場合、
(本来はmatch(A7,A2:A5)はmatch(A7,A2:A「6」)でないといけない)
A7とA8を「ぶどう、和歌山」としてもきちんと270とでてしまうのですが、
Excelのバグでしょうか?
これは放置してそのまま使っていい物なんでしょうか?

931 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:07:06.52
>>930
2010だけど
http://www.dotup.org/uploda/www.dotup.org3795191.png
エラーになるよ

932 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:08:46.28
>>931
index(B2:F6 じゃなくて、
B2〜F6に名前を付けて
index(名前
です。

933 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:09:27.22
>>932
試したけど同じだったよ

934 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:10:31.82
2007のバグだったらすまんが、
個人的には>>930さんの打ち間違い、見間違いと思うので
もう一度>>930を参考にして作りなおしてみては

935 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:11:42.81
>>933
2007だと何故か270と出てしまって、そのまま気付かず、
あとで計算式ミスに気づいたとき愕然としたんですが。
2010だと直ってるのかなぁ・・・

936 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:13:52.69
>>934
もちろん今は、match(A7,A2:A「6」)に直してます。
不特定多数にシートを配っちゃったんで、
仮にミス修正・アップデートしましたと告知したとしても、
間違った計算式のバージョン使ってる人がいると思うとガクブルなんです。

937 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:33:20.27
>>936
その5行か6行かのミス以前に、MATCHで文字列を検索するのに照合の種類で0を指定してないのが問題かと。
省略したら照合の種類は1になるけど知ってて省略してるんかな。
そもそも>>930のそのまま作ったらぶどう・和歌山だけじゃなく他の文字列入れてもまともな結果が出てこないけど。


つーかその程度の関数ならバグ疑う前に自分疑った方がいいよ。そんな簡単に見つかるようなバグなんて
ありえないと思っててもいいぐらいかと。

938 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:36:16.90
>>937
了解です
ありがとうございました

939 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:38:59.27
>>937
ありがとう、完全に見落としてた。

940 :名無しさん@そうだ選挙にいこう:2012/12/31(月) 23:50:07.75
>>937
あ、matchの,0は最初から入れてました。
質問する時、さすがにオリジナルの計算式だと何のシートか特定されるんで
りんご、みかんに平打ちで直したんですが
その時、入れ忘れてたみたいです。

ちなみに元の計算式は(名前は変えますが)
=IF(OR(ISERROR(MATCH(FP3,$GT$113:$HH$113,0)),ISERROR(MATCH(FQ3,$GS$114:$GS$150,0))),0,INDEX(名前,MATCH(FQ3,$GS$114:$GS$150,0),MATCH(FP3,$GT$113:$HH$113,0)))
で、$GS$150ってのが、本来$GS$151まで入れないとダメだったって奴です。
ちなみに”名前”はGT114からHH151までの範囲で、「挿入>名前>指定」で指定する奴です。
何故か式は$GS$150までなのに、正常動作してindexで$HH$113と$GS$151の値を返してくれたので。

941 :名無しさん@そうだ選挙にいこう:2013/01/01(火) 00:12:52.57
そんなこと言われてもわからんのでファイルまるごとアップロードするか式を可能な限り短縮してくれ

942 :名無しさん@そうだ選挙にいこう:2013/01/01(火) 00:21:19.64
>>941
一応、$GS$151に直して問題点自体は解決済みなので、とりあえず次回以降気をつけます。
何で間違ってる式で正常動作したんだろう?ってのが「質問本体」だったので。
ちょっと恥ずかしいシートなので丸上げは勘弁。
あと、あけおめです。

943 :名無しさん@そうだ選挙にいこう:2013/01/01(火) 00:27:01.50
まあバグ疑う前に数式の検証ぐらいはした方がいいわな。

944 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 11:02:29.13
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい 【4 VBAでの回答の可否】 可
点数により判定を行いたいのですが、下記のコードが標準モジュールでは動くのに、
イベントプロシージャにしようとすると動きません。Callでよんでもダメでした。
また、エクセルも不安定になりリボンの切り替えもできなくなりました。
尚シートは1枚だけです。改善できるのであればどうしたいいか…、
よろしくお願いします。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim 第一賞名, 第二賞名As String
Dim 第一点数, 第二点数,数 As Integer
第一賞名 = Range("W2")
第二賞名 = Range("X2")
第一点数 = Range("W1")
第二点数 = Range("X1")
Range("T1:T100") = ClearContents
For 数 = 1 To 100
If Cells(数, 19).Value >= 第二点数 Then
Cells(数, 20).Value = 第二賞名
End If
If Cells(数, 19).Value >= 第一点数 Then
Cells(数, 20).Value = 第一賞名
End If
Next
Application.ScreenUpdating = True
End Sub

945 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 11:33:39.37
>>944
Worksheet_Changeとはシート内のセルが変化した場合などに呼び出されるもの
Worksheet_Changeの中でセルを変化させるとそこでまたWorksheet_Changeが呼び出され、そしてまた・・・
と無限ループに陥っている

Private Sub Worksheet_Change(ByVal Target As Range)
cells(1,1)="処理中"
if cells(1,1)<>"処理中" then
//処理内容
end if
cells(1,1)=""
end Sub

こんな感じで処理中のフラグを持たせてやれば、一度だけの処理で済む

946 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 11:49:31.87
If Intersect(Target, Range("s1:s100")) Is Nothing Then Exit Sub
Application.EnableEvents = False
処理
Application.EnableEvents = True

947 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 12:01:09.79
>>945
ありがとうございます。なんとなくですが、動かなくなったかがわかりました。
コードを下記のようにしてみたらエクセルは安定したのですが、まだ動きません。
よろしければお教えください。
Sub 賞名設定()
Application.ScreenUpdating = False
Dim 第一賞名, 第二賞名As String
Dim 第一点数, 第二点数, 児童数 As Integer
第一賞名 = Range("W2")
第二賞名 = Range("X2")
第一点数 = Range("W1")
第二点数 = Range("X1")
Range("T1:T100") = ClearContents
For 児童数 = 1 To 100
Cells(児童数, 1) = "処理中"
If Cells(児童数, 1) <> "処理中" Then
If Cells(児童数, 19).Value >= 第三点数 Then
Cells(児童数, 20).Value = 第三賞名
End If
If Cells(児童数, 19).Value >= 第二点数 Then
Cells(児童数, 20).Value = 第二賞名
End If
If Cells(児童数, 19).Value >= 第一点数 Then
Cells(児童数, 20).Value = 第一賞名
End If
Next
End If
Cells(児童数, 1) = ""
Application.ScreenUpdating = True
End Sub

948 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 12:22:50.76
>>947
最後
End If
Next
この二行が逆

949 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 12:24:45.62
だいたい こんなのVBAつかってやることじゃない。関数でやれ

950 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 12:27:54.71
Excelでセルを正方形にして
簡単なゲームを作りたいんだが
「キー入力」はVBAでどうコードで実現させますか?

951 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 12:39:22.28
directinputかsenkeyか
素直にvb.netかC#.netを使ったほうがいいよ

952 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 12:45:04.46
>>948
できました。感謝です。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim syou1, syou2 String
Dim ten1, ten2, kazu As Integer
syou1 = Range("W2")
syou2 = Range("X2")
ten1 = Range("W1")
ten2 = Range("X1")
Range("T1:T100") = ClearContents
For kazu = 1 To 100
Cells(kazu, 1) = "処理中"
Next
For kazu = 1 To 100
Cells(kazu, 1) = ClearContents
If Cells(kazu, 1) <> "処理中" Then
If Cells(kazu, 19).Value >= ten2 Then
Cells(kazu, 20).Value = syou2
End If
If Cells(kazu, 19).Value >= ten1 Then
Cells(kazu, 20).Value = syou1
End If
Cells(kazu, 1) = ""
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

953 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 13:05:55.64
Application.EnableEvents = False
↑これだけでいいんだよ "処理中"とか意味ないから

954 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 13:33:47.08
>>952
初歩的過ぎて誰も指摘してないけど、変数の宣言部分もおかしいよ。
Dim a,b As Integer
だと
a はVariant型、b はInteger型になる
面倒でも
Dim a As Integer,b As Integer
って書かないと両方Integer型にはならない

もちろん、Variant型のまま使っても問題ないけど、
もっと大規模なソースコードだと
全体の見通しが悪くなるから
変数の型をきちんと宣言しておいたほうが
何か不具合が会ったときのデバッグ作業が楽になる。

955 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 13:59:06.53
Range("T1:T100") = ClearContents

956 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 14:21:18.34
>>954
ありがとうございます。
ご指摘のところを直したらスムーズに動くようになりました。

957 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 22:29:53.22
>>950
簡単なゲームを具体的に書いてくれ
何のキーをどんなふうに入力させたいんだ?

958 :950:2013/01/02(水) 22:47:00.99
>>957
例えばセルで壁(■)と通路(空欄)を作り、
自分は通路を↑↓←→(あるいは2、4、6、8)ボタンで自由に行き来でき、宝を探したりする。
モンスターが何匹かいて動き回っており、主人公を見つけると追いかけてくる。
武器はたとえは光線銃で、メータがあってそれが残ってるかぎりモンスターを攻撃できる。
みたいなゲーム。

959 :名無しさん@そうだ選挙にいこう:2013/01/02(水) 22:53:54.29
なんでそれをエクセルでやろうと思ったんだろう

960 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 00:16:19.21
>>958
例えばカーソルキーの入力だけでいいならSelectionChangeで代用できるけど
Windows API使うのが一般的だと思うよ
↓こっち池ボケ
http://toro.2ch.net/test/read.cgi/tech/1342087380/

961 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 01:08:26.08
>>959
単純に、本当に何も知らないんだろう
たまたま目の前にあったvbaでプログラムを組みたくなる気持ちは、俺も結構分かる

962 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 01:16:59.22
>>959
Excel VBAで作るのが手っ取り早い気がするけど?
もっと簡単な手段を知ってるなら隠さず書いてくれればいいのに役に立たないヤツだな

963 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 02:50:40.01
>>962
手っ取り早くねぇだろOfficeは有料だしゲーム用のライブラリも何もないし
HSPとかJavaとかフリーのもんもいくらでもあるだろ

964 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 08:55:59.76
むしろゲームには一番不向きな言語であろう・・・

965 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 09:38:47.03
VBAでゲーム開発する時に困ること
・入出力が面倒
→画像、動画、音声の出力、キー入力。USBデバイスとかになると死ぬ
・重い
→ゲームは一秒に60回の計算、描画がある。
・バージョン差が激しい
→色やセル幅など、見た目のズレが起こる可能性アリ

VBAが使えるなら最初はHSPの方が絶対に楽。
今更HSPというのもナンだが。確かクラスが使えないんだっけか。
慣れてきたらC#.NETがオススメ。無料であり、ユーザーが多い。ライブラリもサンプルも死ぬほどある。

966 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 11:08:52.87
新年早々VBAの話題かよw

967 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 11:56:56.88
【1 OSの種類         .】 WindowXP
【2 Excelのバージョン   】 Excel2010

マクロのボタンをクリックして印刷のプレビュー画面を出したいのですが、
マクロの自動記録をやっても何も書かれていません。
どう書けばいいですか?

それから、1ページ43行の文書フォーマットがあり、43行までなら拡大/縮小100%、
44〜48行なら横×1縦×2に収め、フッターに1/?ページを設定するには
どう書けばいいですか?

968 :967:2013/01/03(木) 12:02:50.63
訂正です

【誤】
それから、1ページ43行の文書フォーマットがあり、43行までなら拡大/縮小100%、
44〜48行なら横×1縦×2に収め、フッターに1/?ページを設定するには
どう書けばいいですか?

【正】
それから、1ページ43行の文書フォーマットがあり、43行までなら拡大/縮小100%、
44〜47行なら横×1縦×1に収め、48行以上なら拡大/縮小100%で2ページにまたがり、
フッターに1/?ページを設定するにはどう書けばいいですか?
最大70行程度なので、3ページになることはありません。

969 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 13:28:16.07
Sub test()
Dim r As Long

With ActiveSheet.UsedRange
r = .Row + .Rows.Count - 1
With ActiveSheet.PageSetup
Select Case r
Case Is < 43
.Zoom = 100
.CenterFooter = ""
Case Is < 47
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterFooter = ""
Case Is >= 48
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 2
.CenterFooter = "&P/&N"
End Select
End With
End With

ActiveSheet.PrintPreview

End Sub

970 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 13:52:49.27
修正

Sub test()
Dim r As Long

With ActiveSheet.UsedRange
r = .Row + .Rows.Count - 1
End With
With ActiveSheet.PageSetup
Select Case r
Case Is < 43
.Zoom = 100
.CenterFooter = ""
Case Is < 47
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterFooter = ""
Case Is >= 48
.Zoom = 100
.CenterFooter = "&P/&N"
End Select
End With

ActiveSheet.PrintPreview

End Sub

971 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 14:06:55.87
>>963-965
>>958程度のもん作るなら別にExcelでも困らんだろ
HSPとかJavaとかC#とか知らない言語を一から覚えて作るほうがめんどくさい

972 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 14:16:02.17
Excelでテトリスつくったひとがいるんじゃなかったか
それ見れば参考になるんじゃね

973 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 14:26:44.46
>>971
エクセルVBA知ってる前提ならな…
その前提がないんだからどれでもいいってことになる

974 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 14:47:49.75
そもそもExcel VBAを知ってるなら>>950>>958みたいなアホな聞き方しないしな

975 :967:2013/01/03(木) 20:16:20.42
>>970
ありがとうございます。

うまくいかなかったので、分解してみました。
With ActiveSheet.UsedRange
 r1 = .Row
 r2 = .Rows.Count - 1
End With
r = r1 + r2
MsgBox r1=" & r1 & ", r2=" & r2: Exit Sub

r1が1、r2が69でした。
しかし、データがある行数は43で、44〜70は空白セルです。

♪なんでだろ〜ぉなんでだろ〜 なんでだなんでだろ〜〜〜

976 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:18:05.41
VBA知っててもキー入力なんて必要にならないからそういう聞き方になっても不思議じゃないと思うが。
>>974
んでキー入力はどうやってかけばいいの?

977 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:28:04.88
>>976
Excelのマクロでは無理API使え

978 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:29:53.82
>>975
最終行の求め方は、いろいろあるので、調べてみてらどうですか

979 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:33:25.90
>>952
コードは動けばいいってもんじゃねーぞ
>>955も指摘してるが ClearContentsは未宣言の変数として扱われてる
未宣言の変数の値はEmptyだからRange("T1:T100") = Emptyって書いてるのと結果的に同じでたまたまうまくいってるだけ
Range("T1:T100").ClearContentsってしないとな

980 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:40:37.47
エクセルの資格を取ろうかと思い質問なのですが、
自分のwindows 7のノートPCには最初からエクセルが入っていなくて、
父親の古いXPのノートPCにはエクセル2003が入っています。
なのでエクセルの学習をする時は父親のノートPCを借りようかと思いユーキャンでエクセル2003のゲーム感覚で学習できるソフト付き教材と本がセットのを数ヶ月前に購入しました。
学習ソフトは2003はXPにしか対応していなく、2007、2010はvistaと7だけしか対応していませんでした。
ですが自分のノートPCがあるのにわざわざ父親にノートPCをいちいち借りなきゃ学習できないのがめんどくさくてあまり勉強していませんでした。
ですが、最近エクセル2010を購入して自分のPCからでもエクセルを使えるようにしようかと考えています。
ユーキャンでエクセル2003の教材を買ってしまったのですが、2003の内容書でもエクセル2010で学習できるのでしょうか?

981 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:43:05.06
出来ないこともないけど2003〜2007で大分仕様が変わって
2010は2007を引き継いでるからな。分かりづらい部分もあるだろう。でも基本は覚えられるとおも。
ちなみに2010→2013でもかなりインターフェイスが変わってるぞ
今更2003の教材なんか使うより、その辺の1000円2000円の本買ってきて2010か2013覚えたほうがいい

982 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:43:38.15
hoge=Columns.Countとか斬新だな

983 :967:2013/01/03(木) 20:44:33.28
>>978

With ActiveSheet.UsedRange
 r = .Row + .Rows.Count - 1
End With

これ↑を、こっち↓に変えてみました。

For j = 1 To ActiveSheet.UsedRange.Columns.Count
 rx = ActiveSheet.Cells(ActiveSheet.Rows.Count, j).End(xlUp).Row
 If rx > r Then
  r = rx
 End If
Next

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

984 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 20:49:43.98
Sub a()
Dim x As Long
For col = 1 To Columns.Count
xnew = Cells(Rows.Count, col).End(xlUp).Row
x = Application.WorksheetFunction.Max(x, xnew)
Next
MsgBox (x)
End Sub
オワテタ

985 :名無しさん@そうだ選挙にいこう:2013/01/03(木) 23:17:09.69
>>981
2013ってもう発売されていたんですか?
通販サイトで教本は2010、2007あたりが多いみたいなので2010にしてみようかと思います!
教えていただきありがとうございました。

986 :名無しさん@そうだ選挙にいこう:2013/01/04(金) 07:09:08.45


987 :名無しさん@そうだ選挙にいこう:2013/01/04(金) 07:44:31.27
Excel総合相談所 107
http://toro.2ch.net/test/read.cgi/bsoft/1357252928/
次スレ

988 :名無しさん@そうだ選挙にいこう:2013/01/04(金) 12:03:15.67


989 :名無しさん@そうだ選挙にいこう:2013/01/04(金) 19:09:44.64
>>987
おつ

990 :名無しさん@そうだ選挙にいこう:2013/01/04(金) 19:12:33.64
うめ

991 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 06:29:01.18
>>987
おつ

992 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 10:31:17.05
うめ

993 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 15:05:00.40
うめ

994 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 15:46:23.03


995 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 16:42:46.75
うめるのはやくね?

996 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 18:22:18.26
うめ

997 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 18:25:49.80
うね

998 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 18:28:00.98
うべ

999 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 18:53:31.82


1000 :名無しさん@そうだ選挙にいこう:2013/01/05(土) 18:54:42.05
今だ!1000ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
                  ∧∧       (´⌒(´
            ⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
        ⊆⊂´ ̄ ⊂ソ  (´⌒(´⌒;;
           ̄ ̄ ̄   ズザーーーーーッ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

318 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)