Excel総合相談所 86

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
Excelに関する質問は、ここで!

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

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

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

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

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

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

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

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


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
4名無しさん@そうだ選挙にいこう:2009/08/29(土) 05:12:01
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA)
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)
5名無しさん@そうだ選挙にいこう:2009/08/29(土) 05:12:42
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||
6名無しさん@そうだ選挙にいこう:2009/08/29(土) 05:13:30
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

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

以上でテンプレ終わり
7名無しさん@そうだ選挙にいこう:2009/08/29(土) 10:04:57
             , ―------ 、
            /        ` ヽ、__
           /      /^l      `ヽ、
           /     <  >       \
          〉------ 、 レヽ|          ヽ
 ぉぃιぃ…   /: : : : : : : : :` ー 、_          }
 ぉぃιぃ… /: : : : : : /ヽ:,イ! :: : ` ー 、_      /
          /: :./: i: : /    |: : : : : : :: : ` ー 、__ _ノ
        {: :{ i: :.|;ノ     | :.\: : : : : : : : : : i: ヽ
   / |O  ヽ:.:,.イ/      !: :∧\: : : : : : : :.i : :}
   /  |     }        V  V^\.;イ: : : :.i : :|
          o /O⌒ヽ    - 、    |ノ} : : :.i : :.|
    / 7   ≠=            \    レ : :.i : : | ポ
   。 / 。  ゙、    r- 、   ニ=O   { : }⌒ヽ : | ロ
 / ヽ / ヽ o ヽ , -、|   \    ̄   /:: :.) ノ: : :|
  /7 /7  /⌒)  \.  }    Oノ: : /__/:i: : : |  
   /  / / _ノ  ,. -、〉-'    ,.イo ): :):: :i :i : : :',  ポ
       ./ / ⌒ヽ(  \ ̄  ̄  |ヘ(: :(: :: :i :.i: : : ヘ  ロ
  / |゚  {  l     ヽ   ヽ__ノ  〉: ::): :.i:: :i : : ::ヘ
   /7  ) \___ノ }    ト、    ./: : (: : : i:: ::i :: : ::ヘ
    /  |  /    |   | L___/(.: : ): : :i:: : i : : : :ヘ

>>1
8名無しさん@そうだ選挙にいこう:2009/08/29(土) 20:24:40
listviewに値を設定したいのですが
1個1個ではなく、セルの範囲
たとえばA1からA5を追加したいです。
RowSourceを使うのかなとは思うのですが
型の不一致でコンパイルが通りません。
アドバイスお願い致します
9名無しさん@そうだ選挙にいこう:2009/08/29(土) 20:34:40
範囲に名前を設定して名前の範囲を変える
10名無しさん@そうだ選挙にいこう:2009/08/29(土) 20:35:06
>>8
まずは日本語の勉強から始めてください。
11名無しさん@そうだ選挙にいこう:2009/08/30(日) 03:15:12
Excel2000ですが、オートフィルタで抽出した件数を得には、どうすればいいですか?
(関数でもVBAでもいいです)
12名無しさん@そうだ選挙に行こう:2009/08/30(日) 06:04:59
>>11
SUBTOTAL
13名無しさん@そうだ選挙に行こう:2009/08/30(日) 12:56:26
【1 OSの種類         .】 Windows XPSP3
【2 Excelのバージョン   】 Excel2004
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel関数 serach find
B列に
ほげ1ABごにょ
ほげ2ABごにょ
ほげ5ABごにょ
ほげ1BCごにょ
ほげ3BCごにょ
ほげ2DEごにょ
ほげ6DEごにょ

というような感じで入っていて
ABという単語がB列のセルに入っていたら隣のC列にAB
BCという単語が入っていたらBC
DEという単語が入っていたらDE
と行った感じに出力したいと思っています。
=if(search("AB",B1)>0,"AB",if(serach("BC",B1)>0,"BC",DE))
とやったらABの部分は思った通りに出力してくれるのですがserach関数に検索したい単語が入っていない場合は!valueを
返してしまって続かないということまでわかりました。
なにかsearchにかわる関数かもしくはいい方法があれば教えてください。
1413:2009/08/30(日) 12:57:18
!valueではなくて#value!でした。すみません。
15名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:09:38
>>13
字数が一定であれば下の式でいいかと。

=MID(B1,4,2)
16名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:14:13
ウインドウズXPに2004ですか・・・
1713:2009/08/30(日) 13:17:59
>15
字数一定ではありません。
すみません。


>16
すみません。2003でしたね。
18名無しさん@そうだ選挙に行こう:2009/08/30(日) 13:43:26
>13

ISERR
1913:2009/08/30(日) 14:31:36
>18
ありがとうございます。
ISERRでできるようになりました。
=IS(ISERR(SEARCH("AB",B1)>0,IF(ISERR(SEARCH("BC",B1)>0),"DE","BC"),"BC")
という感じになりました。
2013:2009/08/30(日) 14:33:02
最後のBCはABです。
毎回誤植があってすみません。
21名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:47:49
それだけの修正で動いていれば、
まあ、それでもいいけど。
22名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:54:39
=IF(ISERR(SEARCH("AB",B1)>0),IF(ISERR(SEARCH("BC",B1)>0),"DE","BC"),"AB")

ちなみにSEARCHをFINDに変えてもいいよな。
23名無しさん@そうだ選挙に行こう:2009/08/30(日) 15:14:39
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000

エクセルで重要なデータを管理していて、日々更新されています。
そのエクセルを入れている共有フォルダのメモリが逼迫しており、
ファイルが保存できずに終了したり、フォルダから急になくなるということが
たびたび起こります。

その為、上司から自分のデスクトップにバックアップを毎日とるよう言われたのですが、
A.xlsという元ファイルをそのまま毎日コピーしデスクトップにおけばいいのでしょうか?

それともバックアップファイルの作成でファイルを作りそれをデスクトップにおけばいいのでしょうか?
2413:2009/08/30(日) 15:23:08
>21
本当だ。恥ずかしいOTL
25名無しさん@そうだ選挙に行こう:2009/08/30(日) 16:28:35
>23
スレ違い
26名無しさん@そうだ選挙に行こう:2009/08/30(日) 16:43:20
>23 ファイル管理のことなので、ここ↓で聞いてみたら?(Windows板です)
【マジレス】超初心者の質問に答えるスレ118【エスパー】
http://pc12.2ch.net/test/read.cgi/win/1251520704/l50
27名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:02:26
IF、VLOOKUPなどの関数を使用したときの、最後の閉じるカッコというのでしょうか?
 ) ←これのことがイマイチわかりません。
数がどうしても何で2個必要なんだろう? などと疑問に思えてしまいます。
何か覚えやすい方法や、考え方があるのでしょうか?

例えば、
=IF(B1="A",VLOOKUP(Sheet7!A1,テストデータ!A2:E95,4,FALSE),IF(B1="B",VLOOKUP(Sheet7!A1,テストデータ!A2:E95,5,FALSE),""))
で、うまくできているんですが、なぜ最後の)は2つ何でしょう?
1個でいいような気がしてなりません。もちろん1個だとエラーになります。
28名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:15:08
>>27
数学で習わなかった?
括弧は必ず対(つい)になってる。
(1+1)
((1+1)*2)
(3+(10-5*1))

これが分からないと・・・
2927:2009/08/30(日) 19:18:29
>>28
もちろんもちろん。習いました。覚えていますよ。
(つい)>>27で書いたのは、ついになってないと思うんですが?!
1個多いでしょ? とじるかっこが。
3027:2009/08/30(日) 19:22:17
>>28
あ゛ー違う...(つい)になってました。
何でこれだけ1個多いんだろーって、ずっと悩んでました。
お騒がせしました。

最後の ) をよく忘れやすいみたいなんです。
みなさんどうやって、カウントしてるんでしょうか?
入力しているうちに、カッコ忘れちゃうんです。
31名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:32:19
>>30
エクセルのいつくのバージョンか知らないけれど、対応するカッコに色がつかない?
3227:2009/08/30(日) 19:48:37
>>31
ありがとうございます。
付きます。それ見て確認したんですが、それ以外に確認方法ないんでしょうか?
セルを選択しているときや、入力しているときには、色が出ないと思うんです。
数式入ってるところに、カーソル持って行けば出るんですけど。
これも、エンターで確定させてからしか出ないような。
みんなこうやって確認しているんでしょうか?
33名無しさん@そうだ選挙に行こう:2009/08/30(日) 20:03:13
無ければ無いでチェックマーククリックすれば親切機能が”数式にエラーが〜”
って出るからそれを見て”はい”か”いいえ”を押せばいいんじゃね?
3427:2009/08/30(日) 20:27:06
>>33
ありがとうございます。
バージョン2002なんですが、”数式にエラーが〜”は出るたびに
”あ〜もう...”と思いながら見直してます。
チェックマーククリック って何でしょう??
35名無しさん@そうだ選挙にいこう:2009/08/30(日) 20:31:25
シート上の赤いXの隣の緑色の”レ”のマークをクリック。
36名無しさん@そうだ選挙にいこう:2009/08/30(日) 21:14:08
>27

()数が分からないならば分かる程度に作業列で
分けて書けばいい。

いつまでも続けるような話題ではない。
37名無しさん@そうだ選挙にいこう:2009/08/30(日) 21:18:19
>>36
他の話題で盛り上がってるわけでもなく
親切に教えてやってる奴もいるわけだし
いいじゃんよ
3827:2009/08/30(日) 21:24:25
>>35
すみません、赤いXは閉じるボタンしかありません。
ヘルプみるなり、ぐぐってみます。


>>36
長くなればなるほど、わかりにくくて困ってました。
わけて書けばいい そうですね。
TXTにでもまずわけて書いてみます。


みなさんありがとうございました。
39名無しさん@そうだ選挙にいこう:2009/08/31(月) 07:35:03
>>38
セルの編集状態にして
=IF
(B1="A",VLOOKUP
(Sheet7!A1,テストデータ!A2:E95,4,FALSE
),IF
(B1="B",VLOOKUP
(Sheet7!A1,テストデータ!A2:E95,5,FALSE
),""
)
)
こんな感じで貼り付けてみるとか
40名無しさん@そうだ選挙にいこう:2009/08/31(月) 10:09:45
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否・否
【5 検索キーワード     】 excel 印刷

すみません、質問です。

エクセルで印刷をするとき、「プレビュー」ではうまく表示されているのですが、実際に印刷するときはうまく印刷できません。

具体的には、棒グラフのグラフ自体が印刷されなかったり、グラフの項目(身長、体重など)が印刷できません。

どなたかお願いします。。
41名無しさん@そうだ選挙にいこう:2009/08/31(月) 12:48:53
>40
プリンタドライバの異常のおそれがあります。
1 別のプリンタ(同機種じゃなくて別メーカーが好ましい)で印刷できるか
2 仮想プリンタソフト(FinePrintやpdfファイル化のソフト)を使ってみたらどうなるか
このほか、
3 ページ設定の倍率を変えたらどうなるか
4 グラフの大きさとグラフが占有するセル範囲、印刷範囲の関係で矛盾はないか
あたりを試してみたらいかがですか?
42名無しさん@そうだ選挙にいこう:2009/08/31(月) 13:20:04
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 あんましできない
【4 VBAでの回答の可否】ほぼ否
【5 検索キーワード     】 countif

複数の条件に合った数を数えたいんだけど
具体的にはWEBのログ解析

=COUNTIF(A:A,"*/donation/*")
かつ
=COUNTIF(A:A,"*.htm*")
みたいなかんじ

同じセル内でアンド指定したいんだけど
どうすればいのかな
いったんhtmで抽出するしかないのかな
どうすればいいのでしょうか
よろしくお願いします。
43名無しさん@そうだ選挙にいこう:2009/08/31(月) 13:29:50
>>42
COUNTIFSでよいのでは無いだろうか
44名無しさん@そうだ選挙にいこう:2009/08/31(月) 14:19:31
>>43
サンクス
2007でしか使えませんか
SUMPRODUCT
も試してみます。
45名無しさん@そうだ選挙にいこう:2009/08/31(月) 17:40:40
WindowsでExcel2002を使っています。

長いこと使っていて今更の質問なのですが、
メニューバーからのプルダウンが、折りたたまれて出てきてしまいます。
(使用頻度の低いものを隠してるってことでしょうか)

これが非常にうっとうしいので解除したいのですが、
方法を教えていただけますでしょうか。
よろしくおねがいします!
46名無しさん@そうだ選挙にいこう:2009/08/31(月) 18:28:43
>>45
ツール→ユーザー設定→オプションタブ→”□常にすべてのメニューを表示する”
の□にチェックを入れる。
47名無しさん@そうだ選挙にいこう:2009/08/31(月) 20:43:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

数量と三種類(3社の価格)の価格が100行程度あります。
最低価格を提示している会社に数量を振り分け、合計金額を求めたいのですが、
「各社ごとに決められた最低合計数量を上回りつつ合計金額を最小にする」という条件の設定が思いつきません。
ご教示願います。
48名無しさん@そうだ選挙にいこう:2009/08/31(月) 21:02:02
一度で全てを計算しようとするんじゃなく、
作業列を作ってゆっくりかんがえてみなよ。
49名無しさん@そうだ選挙にいこう:2009/08/31(月) 21:14:07
>>48
お前あほか?
どうやってやるんだ。説明してみろ。
5013:2009/08/31(月) 21:28:17
【1 OSの種類         .】 Windows XPSP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】
昨日はありがとうございました。VBAで質問です。
Sub test()
Worksheets("Sheet1").Cells(1, 1).Value = "=1+1"
End Sub

はうまく行くのに
Sub test()
Dim tmp As String
tmp = """= 1+1"""
Worksheets("Sheet1").Cells(1, 1).Value = tmp
End Sub
ではうまく行かないのはなぜでしょうか。
最終的にはExcelのセルを参照した関数をVBAで代入させていきたいのですが。
51名無しさん@そうだ選挙にいこう:2009/08/31(月) 21:38:29
Sub test()
Dim tmp As String
tmp = "= 1+1"
Worksheets("Sheet1").Cells(1, 1).formula = tmp
End Sub
52名無しさん@そうだ選挙にいこう:2009/08/31(月) 21:41:51
>>47
条件の意味が分からない。例を出してみて
>>50
Sub test()
Dim tmp As String
tmp = "= 1+1"
Worksheets("Sheet1").Cells(1, 1).Value = tmp
End Sub

左右外側の"は文字列の引用符だな
そして真ん中4つの""は"となる。こういう決まりなんです。覚えましょう。
結果としてtmpの中身は"=1+1"という文字列になる(ダブルコーテーション含む)
53名無しさん@そうだ選挙にいこう:2009/08/31(月) 21:44:25
>47
情報少なすぎ。以下の質問に答えられますか?
100行というから品目がひとつってことはないんだろうから、
「品目」「品目毎の必要数量」と「品目・会社(3種類)・見積り単価」から
「品目毎の合計金額」と「総合計」と「会社毎の数量(最低数量を満たす必要あり)」を
求めるということですか?
「数量を振り分ける」っていうことは、ひとつの品目につき複数の会社に振り分けて
「会社毎の数量(いろんな品目の計)」の最低値をクリアする場合があるということですか?
最低値を満たすというのは数量で間違いないですか?金額ではありませんね?
それから、品目・会社毎の納入可能数量(最大値)っていうのはありませんね?
5413:2009/08/31(月) 21:49:56
>51, 52
ありがとうございます。
"をStringで代入するときは何個かつけなきゃいけないと思い込んでいました。
55名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:23:15
>>47
もう少し具体的に質問してもらわないと
答えようが無いわ。

例示して...
56名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:25:54
>>52>>53>>55
問題の意味がわからないのはお前らが無知なのだ。
57名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:29:07
>>56
じゃ、おまいが答えてやれ矢。池沼。
58名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:31:30
>>57
安い煽りに乗るんじゃないよ
59名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:34:38
>>53
ずいぶんいろんな条件を制限しようとがんばっているが、
その程度の条件くらい統一的に記述できなくては実務の役に立たないよ。
60名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:37:00
どうせ役にたたんだろ
61名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:45:16
>>60
やはり無知なんだな。
この問題を解けることの価値がわからないとは。
62名無しさん@そうだ選挙にいこう:2009/08/31(月) 22:59:22
>>61
>>この問題を解けることの価値

www
63名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:07:34
いやだから例を示してくれないとまるでどういうことか分からないんだが
64名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:09:14
皆さんすみません。情報が不足していました。

「合計数量(A社,B社,C社)」のセルが三つと、
それとは別に各行ごとに「数量」、「単価」3つ(A社,B社,C社)、の4列があり、
各行ごとに単価3つから選択し、その行の数量を選択された合計数量(Aの合計数量, Bの合計数量, Cの合計数量)に足していきます。
「Aの合計数量>100、Bの合計数量>200、Cの合計数量>300を満たす中で、最も小さくなる合計金額」を求めたいのです。
出来れば各行ごとに、どの価格が選択されたかもチェックしたいです。
各社ごとの上限数量はありません。一つの行の数量は二社以上に振り分けられることはありません。

相変わらず言葉足らずで申し訳ないです。簡単な例としては
数  A B C
200 1 2 3
100 1 2 3
条件「Aの数量>=0、Bの数量>=100、Cの数量>=100」
だとしたら1列目はBに与えられ2列目はCに与えられ、最小金額700が導き出される。

というようなことをしたいのです。
65名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:10:12
>>63
様々な制約条件を同時に満たしながら、ある量を最大化(または最小化)したい。
ということだよ。
66名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:11:41
無理してバカに付き合う必要は無いんだゼ?
67名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:17:25
>>64

提示額が大きい順にA・B・C社とし、それぞれの
提示額を□1、最低数量を□2とした場合、

=A1*A2+B1*B2+C1*(必要数-A2-B2)

っていう理解でいいのか?
68名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:19:14
>>66
ここの回答者はバカばっかりだということは前からわかってる。
バカをからかうのは楽しいんだよ。

>>64
線形計画法、整数計画法について調べてみるといい。
Excelのソルバー機能を使えば目的に近いことができる。
ただし200変数までの制限があるから100商品は扱えない。
6967:2009/08/31(月) 23:23:30
変なのが徘徊してるみたいだから消えるわノシ
7047=64:2009/08/31(月) 23:31:30
自分の説明力不足からスレを荒れさせてしまってすみません。

線形計画法、整数計画法、ソルバー機能少し調べてみましたが、これで出来ないことはなさそうなので試してみます。
ありがとうございました。
71名無しさん@そうだ選挙にいこう:2009/08/31(月) 23:35:01
>>70
いや。君の説明力は不足していない。
ここの回答者は無知なんだ。昔からそうだ。
7245:2009/09/01(火) 09:38:13
>>46
一晩明けて遅くなってしまいましたが、どうもありがとう!助かりました。
73名無しさん@そうだ選挙にいこう:2009/09/01(火) 11:26:19
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 時刻切り上げ

1/1 01:05
1/1 01:10
1/1 01:15
1/1 01:20
1/1 01:25
1/1 01:30
のような5分刻みの時刻を
1/1 01:15
1/1 01:15
1/1 01:15
1/1 01:30
1/1 01:30
1/1 01:30
のように15分刻みのデーターに変えるにはどうすれば良いでしょうか?
よろしくお願いします。
74名無しさん@そうだ選挙にいこう:2009/09/01(火) 11:55:56
>>73
=CEILING(B1,"0:15")
ただ小数誤差起きる可能性を考えると、
=TIME(HOUR(B1),CEILING(MINUTE(B1),15),SECOND(B1))
としたほうがいいかもしれない
7573:2009/09/01(火) 12:27:29
ありがとうございます。
もうひとつ、
1/1 01:15 を
1/1 01:00 とするにはどうすれば良いでしょうか?
たびたびすみません。
76名無しさん@そうだ選挙にいこう:2009/09/01(火) 12:57:03
>>75

これはひどいw
77名無しさん@そうだ選挙にいこう:2009/09/01(火) 13:37:09
=TIME(HOUR(B1),CEILING(MINUTE(B1)+1,15),SECOND(B1))
でいけるんじやないかなぁクソが
78名無しさん@そうだ選挙にいこう:2009/09/02(水) 00:26:50
ピボット使えよ、バカども。

そもそもデータはピボットで集計できるように作っておくべきもの。
79名無しさん@そうだ選挙にいこう:2009/09/02(水) 00:37:24
釣れますかぁ〜?
80名無しさん@そうだ選挙にいこう:2009/09/02(水) 11:13:31
学生乙

理想と現実は違うんだよ
そういうことは社会に出てから言おうね
81名無しさん@そうだ選挙にいこう:2009/09/02(水) 19:51:25
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほとんど使えない
【4 VBAでの回答の可否】 否

50行あるセルの中で
値がAだったセルの同行右隣のセルの値が100だった場合だけ
カウントをしたいと思っていますが
条件式が思いつきません。

例えば
| A | 100 |
| B | 100 |
| A | 200 |
| A | 300 |
| A | 100 |
:   :     :
だった時は2というカウントをしたいのです。
説明が上手く出来なくて申し訳ありませんが、解決策をご存知の方
宜しくお願いします。
8213:2009/09/02(水) 20:16:52
あんまりかっこいい策ではないと思うけど
さらにその右に(セルA1から埋まってるとして)
=if(AND(A1 = "A",B1 = 100), 1 ,0)
これを続けて
C列の一番下に=sum(C1:C○)
でどうですか?
83名無しさん@そうだ選挙にいこう:2009/09/02(水) 20:36:20
>>81
2というカウントはどこに出すんじゃい?
84名無しさん@そうだ選挙にいこう:2009/09/02(水) 20:53:07
A3セルに結果を出力しますぜ
"A"と"A"とか"100"と"100"とかの処理はいれてねえ

Sub カウントする()
Dim WS1 As Worksheet
Dim AVal As String
Dim BVal As String
Dim Cnt As Long

Set WS1 = Worksheets("Sheet1")

AVal = "A"
BVal = "100"


With WS1

For h = 1 To 50

If .Cells(h, 1).Value = AVal And .Cells(h, 2).Value = BVal Then
Cnt = Cnt + 1
.Cells(1, 3).Value = Cnt
End If
Next

End With
End Sub
85名無しさん@そうだ選挙にいこう:2009/09/02(水) 20:58:58
>>81
=SUMPRODUCT((A1:A50="A")*(B1:B50=100))
86名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:05:18
教えて下さい 初心者です

Excel2007を使って営業日誌をつけています
8月の日誌をファイル(ブック)ごとコピーして9月のを作りたい
コピーしてから内容を一発削除する方法を教えて下さい
シートで日付を変えています
なんか他のいい方法があれば教えて下さい
87名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:08:43
>>86
君の要望に答えたら「ついでに」とか「また、教えてほしい」とか
次から次へと出てくるのが目に見えるので教えない。
88名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:11:34
(´・ω・`)
89名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:17:55
(・ω・`)
90名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:18:36
(´・ω・)
91名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:21:22
>>86
紙で作る場合もそうだが、”原紙”を作っておけ。
92名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:31:12
>>91
それを「雛型」って言うのでは
93名無しさん@そうだ選挙にいこう:2009/09/02(水) 21:36:46
>>82-85
みなさん回答ありがとうございます。
>85の式により解決しました。

>>83
カウント結果は別のシートに出しています。
説明漏れがあり、すいませんでした。
94名無しさん@そうだ選挙にいこう:2009/09/02(水) 23:17:50
(´o _ o`)
95名無しさん@そうだ選挙にいこう:2009/09/03(木) 05:54:11
グループ別集計の質問にIF+SUMとSUMPRODUCTとVBAの回答者全員集合。>>82>>84>>85
SUMPRODUCTが気に入った様子の質問者。>>93
追加質問を異常に嫌がる病気>>87
わざわざ「原紙」を「雛型」に言い換えるやつ>>92



典型的なこのスレらしい流れだね。
96名無しさん@そうだ選挙にいこう:2009/09/03(木) 07:18:49
このスレらしい
このスレらしい
このスレらしい
97名無しさん@そうだ選挙にいこう:2009/09/03(木) 16:19:43
【1 OSの種類       】 WindowsXP Home Edition SP3
【2 Excelのバージョン    】 Excel 2007 (12.0.6504.5001) SP2 MSO (12.0.6425.1000)
【3 VBAが使えるか     】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Exsel 複数選択
Ctrlを押しながらの複数選択において
2000のように、複数選択したセルの枠線を単独選択したセルと同じように太いままにしたいです
これはどのようにすれば設定出来るのでしょうか
98名無しさん@そうだ選挙にいこう:2009/09/03(木) 19:34:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000 ただし、2007で可能ならそれでもOK
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 自動入力 手動入力 EXCEL

別シートに以下のような会員名簿があります
氏名     住所 
田中太郎 東京都〜
鈴木健一 東京都〜


で、これとは別に、同じような構成である会合の参加者名簿を作成するとします。
氏名 住所


このとき、もし会員名簿に載っている人の氏名を書き込んだ場合は
自動的に住所の入力を行い、
非会員の名前が入力された場合は手動で住所欄を記入するようにしたいのですが
VBAを使わずに可能でしょうか?

とりあえず住所の欄にVLOOKUP辺りを書いておいて、
非会員の場合はそれを消して手動で書き込めばいいかなとは思ったのですが、
同一カラムに数式が入ってたりただの文字列が入ってたりするのはどうかと思いまして
自分だけが使うわけでもないですし
99名無しさん@そうだ選挙にいこう:2009/09/03(木) 20:55:31
>>98

御所望の機能はVBAで可能です。
んがExcelは表計算であってデータベースぢゃないんだけどね。
100名無しさん@そうだ選挙にいこう:2009/09/03(木) 21:51:58
【1 OSの種類         .】 Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】Excel セル 分ける 下線付き文字

AAAAAA(半角空き)BBBBBB
        (下線付き)

ひとつのセルに
下線なしのAAAAAA
下線付きのBBBBBB
が並んで入っています。
AAAAAAとBBBBBBは両方英文字で文字数は一定ではないです。

AAAAAAとBBBBBBを別のセルに分けたいのですが、
どうすればいいのでしょうか?

よろしくお願い致します。
101名無しさん@そうだ選挙にいこう:2009/09/03(木) 22:06:08
A1に入っているとして、
=LEFT(A1,FIND(" ",A1,1)-1)
=RIGHT(A1,LEN(A1)-FIND(" ",A1,1))
下線は自分で付けてくれ
102名無しさん@そうだ選挙にいこう:2009/09/03(木) 22:07:02
>>97
VBAを使って間もないけど、分からない
選択したときにイベントを起こしてオートシェイプを描画して、最後に消す・・という手は思いつくけど絶対にオススメできない
>>98
更にもう一行追加する
指名がA列、住所がB列とする
住所列がvlookupで参照されていると、別の列(C列)に値が杯っていなければD列にB列を出力する。
C列になにか値が入っていればC列を出力
もしくはフラグを作り、F列が1ならE列の値、0ならB列の値・・・など
>>100
VBAじゃないと ムリだなぁ
AAAAAAが決まってるか入力していいなら、SUBSTITUTEが使える。AAAAAAを""に置き換える、って形でね

酒がうめええす
10397:2009/09/03(木) 22:18:52
>>102
有り難う御座います
該当の機能は完全に廃止されてしまったのですね
2000との共存を試してみます
104名無しさん@そうだ選挙にいこう:2009/09/03(木) 22:20:23
>>103
ちょ、ちょっと待って!
俺がVBA初心者だから分からないんだ。街頭の機能はあるかもしれない。プログラム板にVBAスレがあるから言ってみるといい
105名無しさん@そうだ選挙にいこう:2009/09/03(木) 22:59:43
106名無しさん@そうだ選挙にいこう:2009/09/03(木) 23:04:13
>>100
Sub 切り分ける()
Dim WS1 As Worksheet
Dim Lst As Long
Dim MyStr As String, FirStr As String, LasStr As String
Dim MyArray() As String

Set WS1 = Worksheets("Sheet1")
With WS1
Lst = .Range("$A$65536").End(xlUp).Row

For h = 1 To Lst
With .Cells(h, 1)
MyStr = .Value
MyArray = Split(MyStr, " ")
FirStr = MyArray(0)
LasStr = MyArray(1)
With .Offset(, 1)
.Value = ""
.Offset(, 1).Value = ""
.Value = FirStr
End With
With .Offset(, 2)
.Value = LasStr
.Font.Underline = xlUnderlineStyleSingle
End With
End With
Next
End With
End Sub
107名無しさん@そうだ選挙にいこう:2009/09/03(木) 23:06:13
>>105
下線付きを分けるにはどうすれば良いのでしょうか?
108名無しさん@そうだ選挙にいこう:2009/09/03(木) 23:11:34
>>107
下線付き云々とかでなく半角スペースを区切り位置として捉えて考えてみてください。
109名無しさん@そうだ選挙にいこう:2009/09/03(木) 23:14:52
106
ごめん、VBA否だったのね
11097:2009/09/03(木) 23:54:41
>>104
VBAは名前しかわからないので諦めます
お気遣い有り難う御座いました
111名無しさん@そうだ選挙にいこう:2009/09/04(金) 08:29:34
【1 OSの種類         .】 Windows*XP
【2 Excelのバージョン   】 Excel*2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

日数計算の質問です。
A〜B、C〜Dの2つの期間の合計日数を求めます。
ただし、重複した日数があれば、合計から差し引いて実日数を求めます。
9/1〜9/5と9/10〜9/15
なら、計10日
9/1〜9/5と9/3〜9/15
なら、計15日
という具合です。
どうぞ宜しくご教示ください。
112100:2009/09/04(金) 08:32:06
ありがとうございます。
AAAAAAとBBBBBBは人名と作品名で
AAAA AAAAAAAA(半角空き)BBBB BBBB BB BBBBBB
このように半角空きがいくつか入っているんです。
>>105さん指定の頁のやり方でコンマを入力してやりました。
時間はかかりまりたが解決しました。
お礼が遅れましてすみませんでした。


113名無しさん@そうだ選挙にいこう:2009/09/04(金) 08:53:59
>>111
データの数は?
114名無しさん@そうだ選挙にいこう:2009/09/04(金) 08:55:51
>>113
単純に2期間の日数計算えすので、ABCDの4つの日付データだけです。
115名無しさん@そうだ選挙にいこう:2009/09/04(金) 09:00:11
>>114
と言いますか、ABCDは別の計算から導きだしてきますので、計算結果によって全く任意の日付になります。
116名無しさん@そうだ選挙にいこう:2009/09/04(金) 09:52:40
>>111
べたで書くと
=B1-A1+1+D1-IF(C1<=B1,B1+1)+1
まとめて
=B1-A1+D1-IF(C1<=B1,B1+1)+2
かな?
他にも色々方法はあるだろうけど。

ただ9/1〜9/5と9/10〜9/15なら計11日じゃないのか?
117名無しさん@そうだ選挙にいこう:2009/09/04(金) 09:57:16
まつがった。
=B1-A1+1+D1-IF(C1<=B1,B1+1,C1)+1だな。
118名無しさん@そうだ選挙にいこう:2009/09/04(金) 10:08:42
>>117
早速にありがとうございます。
使わせて戴きます。
119名無しさん@そうだ選挙にいこう:2009/09/04(金) 10:23:20
>>117
説明不足だったかもしれません。
日付は、
CDAB
CADB
CABD
ACDB
ACBD
ABCD
と並ぶ可能性があります。
逆に、重複した日数を数える方策はありませんでしょうか。
どうぞ宜しくお願いいたします。
120名無しさん@そうだ選挙にいこう:2009/09/04(金) 10:44:24
>>119
並びがABCDの9/1 9/3 9/5 9/15とACBDの9/1 9/3 9/5 9/15を
どう見分ける基準は何ですか?
121名無しさん@そうだ選挙にいこう:2009/09/04(金) 11:12:12
>>119
計算のためにソート可能ですか?
122名無しさん@そうだ選挙にいこう:2009/09/04(金) 11:14:54
>>119です。自己解決しました。
別シートに、
基準日 期間1 期間2
9/1 1
9/2 1 1
9/3 1
・・・


という表を作り、期間1+期間2−重複日数を計算させました。
演算式で考えると、IF文の嵐になりそうでしたので。
皆様には、大変お騒がせいたしました。
123名無しさん@そうだ選挙にいこう:2009/09/04(金) 11:18:07
話が変わってるw
回答した人可哀そう・・・

124名無しさん@そうだ選挙にいこう:2009/09/04(金) 12:22:57
>>119です。
本当に、説明不足でご迷惑をお掛しました。
回答を戴いた方や、その他の方にも。申し訳ありませんでした。
125名無しさん@そうだ選挙にいこう:2009/09/04(金) 20:41:46
>>112もそうだけど、こういう奴って腹が立つ。
126名無しさん@そうだ選挙にいこう:2009/09/04(金) 23:00:47
腹立ててまで見なくてもいいんじゃないかな?
お前に回答は求めてないよwww
127名無しさん@そうだ選挙にいこう:2009/09/04(金) 23:21:09
またまた
128名無しさん@そうだ選挙にいこう:2009/09/05(土) 05:03:33
例えば、ABの期間に内装工事、CDの期間に外装工事をしてた場合、工事の実日数を数える。
各々の工事は前後するかも知れないし、重複する場合もある。
って感じか。
イメージが伝わらなかったようだね。
読解力もなかっ(ry
129名無しさん@そうだ選挙にいこう:2009/09/05(土) 07:13:00
>>128
質問を読んだ瞬間に工程管理の問題だと気付いて、ガントチャートのイメージがわいてくるね。
最初からそれを想定していれば>>123のような気持ちにはならないと思うな。
まあ>>123はイメージできなかったんだろうな。
130名無しさん@そうだ選挙にいこう:2009/09/05(土) 07:23:40
>>123
ABCDに勝手な順序を仮定したのは回答者であって、質問のどこにもA<Cとは書いていないんだぞ。
話は変わっちゃいないんだよ。回答が間違っていたんだ。質問者が回答者に失礼がないよう優しく指摘してくれてるんだよ。
わかったか?バーカ。
131名無しさん@そうだ選挙にいこう:2009/09/05(土) 07:57:22
またか
132名無しさん@そうだ選挙にいこう:2009/09/05(土) 08:24:32
関数を使って日付を自動表示させるときに、日付が変わる時間を
調整することは可能ですか。
例えば、今日の21:59までは、9月5日の表示で、22:00からは、
9月6日の表示になるような。
PC自体の時計はいじらない方向でお願いします。
エクセル2007だと思います。
133名無しさん@そうだ選挙にいこう:2009/09/05(土) 08:45:13
セルの書式設定→日付→”○月○日”で設定。
セルへ入力する式↓
=NOW()+(2/24)
134133:2009/09/05(土) 08:56:46
”○月○日”って書いたけどExcel2002の私の場合、”3月14日”を選択って
ことで。
135名無しさん@そうだ選挙にいこう:2009/09/05(土) 11:15:29
>>126>>128>>129>>130
基地外が沸いてるね
136名無しさん@そうだ選挙にいこう:2009/09/05(土) 11:34:08
>>135
ここにも一匹w
137名無しさん@そうだ選挙にいこう:2009/09/05(土) 12:29:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 重複データ

A列に上から名前を入力していきます。
それと同時にB列に重複しないように自動的に
表示されるようにしたい。
(初めて出てくる名前のみ表示され、2回目以降は表示されないように)

  A    B
1 山田  山田
2 田中  田中
3 井上  井上
4 山田  鈴木
5 鈴木
6 井上 


よろしくお願いいたします。
138名無しさん@そうだ選挙にいこう:2009/09/05(土) 12:56:09
>>137
b1=VLOOKUP(ROW(),C:D,2,0)
c1=1
c2=IF(D2<>"",MAX($C$1:C1)+1,"")
d1=IF(COUNTIF($A$1:A1,A1)<=1,A1,"")
139137:2009/09/05(土) 13:06:58
>>138
こんなに早く答えていただいて助かりました。
ありがとうございました。
140137:2009/09/05(土) 14:07:35
再び、すみません。
基本は>>137と同じです。

  A    B
1 山田  山田
2 田中  田中
3 井上  井上
4 山田  鈴木
5 鈴木
6 井上 

この続きに同じように


11 山本  山本
12 山本  木村
13 木村  鈴木
14 山本  佐藤
15 鈴木  井上
16 井上
17 佐藤


と、表示させる為にはどうしたらよいでしょうか?
一度に質問できずにすみません。
b11がポイントだと思うのですが…

よろしくお願いいたします。
141名無しさん@そうだ選挙にいこう:2009/09/05(土) 14:21:30
どんどん追加で質問しそうなヤツだなw

各関数の意味をそれぞれ調べてみろよ。
142名無しさん@そうだ選挙にいこう:2009/09/05(土) 14:30:19
家計簿をエクセルで付けています。
現金出納帳と、口座別の預金出納帳、証券の口座とシート別に分けて
BSとPLはSUMIFで集計しています。

例えば食費などは
=SUMIF(現金出納帳!$A:$D,"食費",現金出納帳!$C:$C)+SUMIF(銀行!$A:$D,"食費",銀行!$C:$C)-SUMIF(現金出納帳!$A:$D,"食費",現金出納帳!$B:$B)-SUMIF(銀行!$A:$D,"食費",銀行!$B:$B)
というようにして、集計しています。

出納帳にはA列に日付、B列に科目、C列に収入、D列に支出をしています。↑の数式だと集計場所がズレていますが何故か上手くいっています。

日付は1/1と入力すれば表示は1月1日で、セルを見たら2009.1.1となっています。

IFの条件を追加して、月別のPLを作りたいのですが、日付の集計はどうすれば良いでしょうか?
143142:2009/09/05(土) 15:08:18
すいません、テンプレで条件追記です。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
144名無しさん@そうだ選挙にいこう:2009/09/05(土) 15:36:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エラー処理
@ A B
1, N/A ,空白
1, N/A ,空白
1, 3 ,1
1, N/A ,空白
1, 2 ,1
のようにA列目がエラーでない時に、
B列目に@列目のデーターを返すには
どうすれば良いでしょうか?
イメージ的には、B1を「IF(A1<>NA(),@1,"")」
という感じにしたいのですが、
これでは上手くいきません。
よろしくお願いします。
145名無しさん@そうだ選挙にいこう:2009/09/05(土) 16:03:42
@→A、A→B、B→Cである場合、A(B)のエラーがエクセルの計算上のエラー(#N/A)なら
=IF(ISERROR(B1)=TRUE,"",A1)
で良いと思うけど。
146144:2009/09/05(土) 16:28:25
145さん
ありがとうございます。助かりました。
147142:2009/09/05(土) 18:13:56
SUMPRODUCT関数使って、自己解決しました。
148名無しさん@そうだ選挙にいこう:2009/09/05(土) 20:06:48
Windows XP SP2 + Excel 2007 で、日ごろ使っている .xlsm ファイルを開いた状態で F3押下すると、
[名前の貼り付け(N)] の中に4つの名前が表示されるんだが、そのうち3つは使っていないものなので、
それを削除して、F3押しても [名前の貼り付け(N)] の中に使っている1つだけが表示されるようにしたい。
どうやれば削除できる?
149名無しさん@そうだ選挙にいこう:2009/09/05(土) 21:22:20
>>148
タブンムリあとセンテンス長すぎ
150名無しさん@そうだ選挙にいこう:2009/09/06(日) 04:08:38
Excel VBAを習得したいのですが、一般的に何年くらいかかりますか?

目的は、Excelで株の自動売買システムを作ることです。

151名無しさん@そうだ選挙にいこう:2009/09/06(日) 07:29:07
わ か り ま せ ん
152名無しさん@そうだ選挙にいこう:2009/09/06(日) 07:30:04
マルチだキニスルナ(`・ω・´)
153名無しさん@そうだ選挙にいこう:2009/09/06(日) 13:55:58
セルへのペースト時に文をトリムするVBAを組みたいです
例えば
ああ いい→ああいい
11 33 22 →113322
みたいものです。
やるとすれば、セルのイベントで文字列操作の関数使うのでしょうか?
154名無しさん@そうだ選挙にいこう:2009/09/06(日) 14:42:43
>>153
スペースを何もない文字列に置換すればいいだけなんでワークシート関数でもできるけど
VBAでやるなら (変数sに元の文字列が入っていた場合)
s = Replace(s, " ", "")
155名無しさん@そうだ選挙にいこう:2009/09/06(日) 14:43:15
>>153

まず発想がアホ。
156名無しさん@そうだ選挙にいこう:2009/09/06(日) 20:27:22
そう言うなって
157名無しさん@そうだ選挙にいこう:2009/09/07(月) 15:25:34
セルに入れた関数をオートフィルで数百行コピーしたいのですが、
参照先の引数を1行おきに指定することは可能ですか?

例としては、元のセルがSUM(A1:A4)であれば、
通常オートフィルだと次のセルは(A2:A5)になりますが、
それを(A3:A6)にし、その次のセルは(A5:A8)というふうに
指定先を1行おきにしたいのです。
何かよいやり方があれば教えてください。 
158名無しさん@そうだ選挙にいこう:2009/09/07(月) 15:53:23
>>157
1行置きになるようにオートフィルすることはできないので
コピペできるように数式を工夫するのが正攻法。その例だと
=SUM(OFFSET(A$1,ROW()*2-2,0):OFFSET(A$1,ROW()*2+1,0))
みたいな感じにする
ほかには文字列でオートフィルしてから数式に変換するとか、VBAでやるとか色々な方法がある。
159名無しさん@そうだ選挙にいこう:2009/09/07(月) 16:04:54
>>157
文字列でオートフィルしてみた例。
最初の2行を手作業で入れれば、Excelがオートフィルのパターンを自動的に判別してくれる。
これを最後に結合して数式を組み立てる。
ttp://windyakin.if.land.to/src/up38_1598.png
160名無しさん@そうだ選挙にいこう:2009/09/07(月) 19:01:34
>>133
ありがとうございます。
今まで手書きで手直ししていたので、かなり手間が省けました。
161名無しさん@そうだ選挙にいこう:2009/09/07(月) 20:03:08
日本語入力してて、変換を確定させないと
tabでセル移動できないの何とかならん?
162名無しさん@そうだ選挙にいこう:2009/09/07(月) 20:07:04
ごめんなさい・・・
>>161ですが、余裕で解決できる質問でした・・・スレ汚しごめんなさい。
163名無しさん@そうだ選挙にいこう:2009/09/07(月) 21:01:26
セルに入力した日付の1ヶ月後の月末って出せますか?
A1に2009/09/30と入力すると
B1に2009/10/31と表示されるような
関数でもVBAでもいいのですが・・・
164名無しさん@そうだ選挙にいこう:2009/09/07(月) 21:18:59
>>163
=DATE(YEAR(a1),MONTH(a1)+2,1)-1
でいけないかな
165名無しさん@そうだ選挙にいこう:2009/09/07(月) 21:19:15
>>163
こういうこと?
=DATE(YEAR(A1),MONTH(A1)+2,0)
166名無しさん@そうだ選挙にいこう:2009/09/07(月) 22:04:32
165>>164
167名無しさん@そうだ選挙にいこう:2009/09/07(月) 22:08:16
>>166

もっと差はあるだろw
>>164はテクニックとして知ってるだけみたい。
何でわざわざ+1-1するのかと。
168名無しさん@そうだ選挙にいこう:2009/09/07(月) 22:30:50
月の末日は翌月の初日の前日というロジックが目で見てわかりやすい
おれなら>>165より>>164をつかう
169名無しさん@そうだ選挙にいこう:2009/09/07(月) 22:55:50
自演は空しいのうw
170名無しさん@そうだ選挙にいこう:2009/09/07(月) 23:02:06
それをVBAでやってみたんだが...
Sub 次月末検索()
Dim WS1_Name As String
Dim WS1 As Worksheet
Dim FirstDay As Date, LastDay As Date, TmpDate As Date
Dim DateStr As String
Dim LstRow As Long
Dim h As Integer
WS1_Name = ActiveSheet.Name
Set WS1 = Worksheets(WS1_Name)
With WS1
LstRow = .Range("$A$65536").End(xlUp).Row
For h = 1 To LstRow
FirstDay = Worksheets(WS1_Name).Cells(h, 1).Value
Debug.Print h & "行目入力は、" & FirstDay
DateStr = (Month(FirstDay) + 1)
DateStr = (Year(FirstDay) & "/" & DateStr + 1 & "/" & "01")
TmpDate = CDate(DateStr) - 1
Debug.Print h & "行目月末は、" & TmpDate
.Cells(h, 2).Value = TmpDate
Next
End With
End Sub
かなり荒削りだが勘弁してくれ。
171名無しさん@そうだ選挙にいこう:2009/09/07(月) 23:06:42
書き忘れた...
書き込むシートのコードに以下を貼り付けすると
A列の値が更新されたらB列も更新される。と、

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call 次月末検索
End Sub
172名無しさん@そうだ選挙にいこう:2009/09/07(月) 23:21:46
173名無しさん@そうだ選挙にいこう:2009/09/07(月) 23:40:03
つDateStr = DateSerial(Year(FirstDay), Month(FirstDay) + 1, 0)
174名無しさん@そうだ選挙にいこう:2009/09/08(火) 07:17:44
>>173
170だが、それでは当月末を返すんじゃないかと...
175名無しさん@そうだ選挙にいこう:2009/09/08(火) 07:22:43
>>173
これならOKかと思われ...

つ TmpDate = DateSerial(Year(FirstDay), Month(FirstDay) + 2, 0)
176名無しさん@そうだ選挙にいこう:2009/09/08(火) 09:21:03
年またぐ事考えたら素直にDateAdd使うのがいいんじゃ?
177173:2009/09/08(火) 09:33:29
>174

こまけぇこたぁいいんだよ!(AA略

>176

???
DateSerialでも年はまたげる。
DateAddの場合はDayの端数切りが必要になる。
178名無しさん@そうだ選挙にいこう:2009/09/08(火) 10:08:45
会社で2007を使っているのですが、社内に2000、2003を使ってる人が混在しています。
このような状態で私がVBAマクロを組んで社内LANの共有フォルダに保存し、他の人にも使えるようにするにはどうすれば良いですか?
マクロ初心者で、一応自分のPCでは問題なく動くものが作れましたが、他のPCでは動かず困っています。
179名無しさん@そうだ選挙にいこう:2009/09/08(火) 10:19:49
>>178
まず2000でマクロは使える設定になっている?
それで動かないなら、マクロの内容が仕様制限に引っかかっている可能性がある

ディレクトリを取得するようなマクロだとPCごとに違うだろうし、
sortだとdataoptionは2003以降でしか使えない(2000だったかな?忘れたけど)
後はピボットテーブルの名前も、ばーじょんによってセミコロンとバックスラッシュで分かれるんだったかな

手っ取り早いのは2000と2003、2007でそれぞれマクロの記録を行い、
差を比べればほぼ大丈夫だと思う。
後はexcelやOSのバージョンを取得し、そのバージョンごとに条件分岐させるとか

マクロをあげてもらえればどういう問題があるか分かるかも
180名無しさん@そうだ選挙にいこう:2009/09/08(火) 10:27:22
どんだけひどい会社なんだ??

先のことを考えればバージョンの統一が不可欠。
仕事ならなおさらだ。
181名無しさん@そうだ選挙にいこう:2009/09/08(火) 11:10:21
中小零細はそうも言ってられないよ
それにエクセルじゃなくアクセスか専用システム使うでしょ

個人的にはバージョンが変わるごとに微妙にマクロが使えなくなるのは勘弁して欲しい
機能追加はまぁ仕方ないとしても、ピボットテーブルの名前が変わるのとかね
182170:2009/09/08(火) 11:30:51
>>177
>>163の要求仕様を満たしていないんで
こまけぇこたぁ...って話ではないすね。

できなきゃぁ意味がねえんだよ!(AA略
183名無しさん@そうだ選挙にいこう:2009/09/08(火) 22:33:15
質問させていただきます。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 表示だけ 、 式 削除されない


    A    B
1  001   リンゴ
2  002   バナナ
3  001   リンゴ
4  ---   手入力

B列にお決まりのVlookupが入っている状態でB4の項目がデータベースに無かったので手入力すると
B4にもともと入っていたVlookupが削除されてしまいます。
あとで間違いに気づいてA4にコードを入れなおした時にVlookupの効果を出す方法を探しています。
Vlookupの結果を他のセルに表示させてB列に反映させることも考えているのですがB列になんらかの式を
入れなければいけないので結果的には同じになってしまって困っています。
マクロでコピーするようなものを作ればいいのですが、入力ごとにボタンを押すのもどうかと思いますし・・・
なにか良い方法はないものでしょうか?

184名無しさん@そうだ選挙にいこう:2009/09/08(火) 22:35:57
質問です。

excelで複数のシートを扱っているのですが、
シートを切り替えるタブの表示がシート内を左右にスクロールさせる奴と
の境目が動いたり、横幅が小さくなったりと困っています。

このタブの表示位置を左右のスクロールと別の高さで表示できないでしょうか?
185名無しさん@そうだ選挙にいこう:2009/09/08(火) 22:46:36
>>183
セルを編集できなくする
ttp://q.hatena.ne.jp/1125050110

VBAのコードは書けないけどセルを変更するたびにB列にオートフィル使うのがいいんじゃないかな
186名無しさん@そうだ選挙にいこう:2009/09/08(火) 22:47:42
>>183
よくわかんないけど、
B列を手入力列にして、=if(b1="",vlookup〜,b1)っていうのは?
187名無しさん@そうだ選挙にいこう:2009/09/08(火) 23:30:27
>>186
手入力用の場所と表示用を分けるといったイメージですね。
出来ればそのままいけると嬉しいのですが・・・・
188名無しさん@そうだ選挙にいこう:2009/09/09(水) 04:09:40
MOD(ROW(),2)=1
の式なんですが、行番号を2でわってあまりが1の行とのことなのですが、
1行目、3行目を2で割った場合、0.5、1.5とあまりは1とでないで
割り切れると思うのですが詳しく説明していただけるかたいませんか?
189名無しさん@そうだ選挙にいこう:2009/09/09(水) 06:21:02
>>188
整数では割り切れないでしょ
3/2=1あまり1
190名無しさん@そうだ選挙にいこう:2009/09/09(水) 07:04:43
ふいた
191名無しさん@そうだ選挙にいこう:2009/09/09(水) 07:49:06
>>188は商と徐が分ってないな。
192名無しさん@そうだ選挙にいこう:2009/09/09(水) 07:52:04
>>188
小数が登場しなかったころの小学校の算数を思い出せ!
193名無しさん@そうだ選挙にいこう:2009/09/09(水) 07:52:38
ちなみにMOD(ROW(),2)はROW()-INT(ROW()/2)*2と同じだ
194名無しさん@そうだ選挙にいこう:2009/09/09(水) 08:26:18
>>191
除ってなんだよ。
195名無しさん@そうだ選挙にいこう:2009/09/09(水) 11:03:24
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィル

Excel2007でオートフィルが同一シートで
2つ同時に使えたはずですが
2003以前でもする方法はあるのでしょうか?
196名無しさん@そうだ選挙にいこう:2009/09/09(水) 11:51:50
関数に使う範囲を、関数で指定することはできますか?

たとえば、A1:B7という範囲のうち、
A1を関数1で、B7を関数2で、指定するといった感じです。

環境はwindowsXP、office2000です。
197名無しさん@そうだ選挙にいこう:2009/09/09(水) 12:28:31
>>196
indirectまたはoffset
E1に「A1」、F1に「B7」と入れた後、sumに使いたければこんな感じ
=SUM(INDIRECT(E1&":"&F1))
198名無しさん@そうだ選挙にいこう:2009/09/09(水) 12:30:12
>>195
オートフイルタ な
範囲選択してオートフイルタじゃダメ?
横に複数出ると思うけど
199名無しさん@そうだ選挙にいこう:2009/09/09(水) 13:02:38
>>197
ありがとうございます!
参考にさせていただきます。
200名無しさん@そうだ選挙にいこう:2009/09/09(水) 16:22:18
2種類のデータの変化を去年と今年で
棒グラフで比較したいんですが、
データAとデータBの値に差がありすぎて小さい方がほとんどグラフに反映されません。
2軸について調べてみたんですが
ひとつを折れ線にするなどグラフの種類を変えてしまう例が多いようです。
ボウグラフのまま2軸選択すると
なぜかAとBが縦に重なって一本の棒になってしまいます。
軸の値の範囲だけ第2軸で変更させるにはどうしたらよいですか???
201名無しさん@そうだ選挙にいこう:2009/09/09(水) 16:56:00
>>183
・Sheet1のA列にコードを入力してB列に表示させると仮定
・Sheet2のA列にコード、B列に品名をもつ値リストデータベースを作ると仮定
'標準モジュールに以下を貼り付け
Sub 垂直照合関数挿入()
Dim WS1_Name As String, WS2_Name As String
Dim WS1 As Worksheet, WS2 As Worksheet
Dim LstRow1 As Long, LstRow2 As Long
Dim h As Integer
WS1_Name = "Sheet1"
WS2_Name = "Sheet2"
Set WS1 = Worksheets(WS1_Name)
Set WS2 = Worksheets(WS2_Name)
With WS1
LstRow1 = .Range("$A$65536").End(xlUp).Row
LstRow2 = WS2.Range("$A$65536").End(xlUp).Row
For h = 1 To LstRow1 + 1
With .Cells(h, 2)
.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-1]," & WS2_Name & "!R1C1:R" & LstRow2 & "C,2,FALSE)),"""",VLOOKUP(RC[-1]," & WS2_Name & "!R1C1:R" & LstRow2 & "C,2,FALSE))"
End With
Next
End With
End Sub
'Bookのオープン時イベントに以下を貼り付け
Private Sub Workbook_Open()
Sheets(1).Columns("A:A").NumberFormatLocal = "@"
Sheets(2).Columns("A:A").NumberFormatLocal = "@"
End Sub
'Sheet1の変更時イベントに以下を貼り付け
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call 垂直照合関数挿入
End Sub
202名無しさん@そうだ選挙にいこう:2009/09/09(水) 17:30:59
すいません質問です。使用しているのはexcel2000です

合格 不合格 M鈴木 K佐藤 E福田 S田中

第1回 100 69 49 65 45 55
第2回 100 69 55 54 50 60
第3回 100 69 78 67 60 70

上のデータから、「2軸状の折れ線グラフ」を作成したいのですが、Y軸上の69以上(合格)とそれ以下(不合格)で
プロットエリアの色が2分しているのですが、これはどのようにしたらいいのでしょうか?凡例に「合格」「不合格」の項目があります。

よろしくお願いします
203名無しさん@そうだ選挙にいこう:2009/09/09(水) 18:44:52
>>202はマルチなので以後無視で
204名無しさん@そうだ選挙にいこう:2009/09/09(水) 19:35:45
マルチ嫌うやつはマルチの何が気に入らないの?
質問者がよそのお友達と仲良くするのが許せないの?
205名無しさん@そうだ選挙にいこう:2009/09/09(水) 19:38:19
それどこのコピペ?
206名無しさん@そうだ選挙にいこう:2009/09/09(水) 20:00:05
真剣に答えてくれる人に失礼でしょ。
207名無しさん@そうだ選挙にいこう:2009/09/09(水) 20:02:51
あちこちで聞いた方が答えてもらう確率高くなるじゃないか
208名無しさん@そうだ選挙にいこう:2009/09/09(水) 20:08:23
エクセルのアカデミック版って、通常版と比べて何か機能制限あるんですか?
決算書が作れないとか・・・

209名無しさん@そうだ選挙にいこう:2009/09/09(水) 20:17:48
>>208 まったくない 値段が安いだけ
210名無しさん@そうだ選挙にいこう:2009/09/09(水) 20:20:28
無いんでないの。がっこの生徒とかが安いだけでないの。
211名無しさん@そうだ選挙にいこう:2009/09/09(水) 20:36:51
>>209
ご回答ありがとうございます!!!!
212名無しさん@そうだ選挙にいこう:2009/09/09(水) 23:27:02
>>207
残念。マルチ嫌いな人が多くいれば逆に回答率は低くなる
そして2chは多い
>>208
確か商用に流用してはいけないとかあったはず
まぁ練習用なら何も問題は無い
213名無しさん@そうだ選挙にいこう:2009/09/09(水) 23:35:47
マルチがどうのこうのって昔のnetnewsの頃の名残だろ 資源の無駄だとかなんとか
いまどき嫌う理由なんかなにもない
214名無しさん@そうだ選挙にいこう:2009/09/09(水) 23:52:23
いや普通に仕事でも
>>213は部下を持ったことが無いのか、それとも心が余程広いのか
自分の部下が別の同期に聞いて、そっちの言うことを聞いてたらどう思う?
答えは聞いてない。一般的に、そいつは嫌われるんだよ
それを防ぐために「こいつはマルチ」と忌み嫌われる
別になんとも思わないなら勝手に答えていればいいと思う
215名無しさん@そうだ選挙にいこう:2009/09/10(木) 00:10:54
>>212
ありがとうございます。
216名無しさん@そうだ選挙にいこう:2009/09/10(木) 00:11:49
だれが部下だw なんか根本的に勘違いしてるな
217名無しさん@そうだ選挙にいこう:2009/09/10(木) 00:20:14
板違い
PC初心者にいけ
218名無しさん@そうだ選挙にいこう:2009/09/10(木) 00:39:02
項目軸「第1回」を「軸の書式設定ー配置」で縦書きにすると、



のように、数字が横になってしまいます。



のようにするにはどうしたらいいのでしょうか?
219名無しさん@そうだ選挙にいこう:2009/09/10(木) 00:51:09
>>218
1を全角数字にする
220名無しさん@そうだ選挙にいこう:2009/09/10(木) 01:00:29
>>219
ありがとうございました。無事できました
221名無しさん@そうだ選挙にいこう:2009/09/10(木) 06:46:09
このスレの回答者根本的に勘違い野郎が多いと思っていたが、確信に変わった。
>>214みたいなやつっているんだな。

>>213
私もそう思う。
NetNews時代は技術的な理由でマルチポストはだめだった。
その時の名残りの迷信だろうな。初心者のころに「マルチはダメ」と怒られて
刷り込まれているんだろう。
222名無しさん@そうだ選挙にいこう:2009/09/10(木) 06:57:37
どっちにしてもマルチすると回答率が減りそうだしやらないほうがいいんじゃナイノ?
223名無しさん@そうだ選挙にいこう:2009/09/10(木) 07:16:20
>>222
なら質問者の自主性にまかせるべきじゃないのか?
今まで回答率が下がることを理由にダメ出ししていたのか?
そうじゃないだろう。>>214みたいに上司気分でダメ出ししていたんだろ?
224名無しさん@そうだ選挙にいこう:2009/09/10(木) 07:20:40
マルチダメ出しって
Sorry. This HP is Japanese only.的な気持ち悪さを感じる。
「このホームページはリンクフリーです。」にも似ているな。
225名無しさん@そうだ選挙にいこう:2009/09/10(木) 09:09:40
実際まだまだ、多くの人がネット上で、
オーバーラップして活動してるだろ。
事実、マルチは、何度も見る。
少なくとも、同類と思われるのネットないでの
マルチは、迷惑だろうね。 そうじゃなきゃ、
コピペなんて、いくらやっても関係ない
ことにならんか?

226名無しさん@そうだ選挙にいこう:2009/09/10(木) 09:47:37
その議論は、他でやって下さい。
はい、つぎの方どうぞ。
227名無しさん@そうだ選挙にいこう:2009/09/10(木) 12:24:40
流れ読まずに続ける俺カコイイ

マルチといってるからには荒らしではないと自ら認めてるわけじゃん。
2ちゃんねるの荒らしの定義は明らかではないが、規制されるような
ものではないことははっきりしてる。だいたい質問がマルチだというなら
同趣旨のスレが複数あることがそもそもマルチじゃないか?

ttp://2ch.net/accuse2.html
228名無しさん@そうだ選挙にいこう:2009/09/10(木) 12:28:45
>>225
何がいいたいんだ?
一言にまとめられない?
229名無しさん@そうだ選挙にいこう:2009/09/10(木) 13:09:52
解決した質問の答えを探して楽しい?
質問したとき、別に知ってる人が答えればいいから探してくれなくてもいいっていうならスレ汚し。ネット以外で訊け
230名無しさん@そうだ選挙にいこう:2009/09/10(木) 13:13:39
てかググったらそんなもんすぐ出てくるだろ。検索までひと任せな初心者には、確かに理解できんかもしれんな
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88
231名無しさん@そうだ選挙にいこう:2009/09/10(木) 13:29:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(あまり複雑なのは無理です)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 コンボボックス

ワークシート上でコンボボックスを使用したい場合はどうすればいいですか?
ツールボックスからコンボボックスを持ってきましたが、
VBAでどう入力すればいいのかがわかりません。
「入力規則」が使うことができない状況なので、ご教授お願いします。
232名無しさん@そうだ選挙にいこう:2009/09/10(木) 14:54:53
>>231
ttp://excelvba.pc-users.net/fol10/10_2.html
ぐぐる時は「vba コンボボックス」とすれば良い。「エクセル」と付けるといい場合もある。
後はchangeイベントの時にコードを書けば良い。
分からなかったらまたどうぞ
233名無しさん@そうだ選挙にいこう:2009/09/10(木) 15:19:00
>>232
ご丁寧にありがとうございます。
けれどすみません。ユーザーフォームでなく、
ワークシート上でコンボボックスを使用したいのです。

けれど、教えていただいた通りに「vba コンボボックス」に「ワークシート」
もつけて検索をかけたところ
www.serpress.co.jp/excel/vba011.html
こちらのページが引っかかり、試してみたのですが上手く起動しませんでした。
上の例でいきますと、コンボボックスの▼を押して「文字列1」を選択しても
ボックス内は空っぽのままです。
何か間違えている部分があるのでしょうか?続けてご教授お願いいたします。
234名無しさん@そうだ選挙にいこう:2009/09/10(木) 15:35:01
>>233
ああ、ごめんなさい
ttp://www.asahi-net.or.jp/~zn3y-ngi/YNxv98316.html
ここ参考にするとよろし
235名無しさん@そうだ選挙にいこう:2009/09/10(木) 16:03:59
>>234
ありがとうございます!
ちょっと複雑になるみたいですので、今から教えていただいたサイトで
じっくり勉強してこようと思います!
236名無しさん@そうだ選挙にいこう:2009/09/10(木) 18:47:05
よろしくお願いします

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(簡単なものなら)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 DMAX関数

                    
    車    売上    車   売上
1  100   10000    100  15000 ←DMAX関数
2  105   50000
3  110   20000
4  100   15000

A列に車の番号が重複込みであり、B列に一回当りの車の売上が入力されています
車ごとに一回当りの売上の最大を抽出する方法を調べたところ、DMAX関数があって試してみて
上の図のようにまではできましたが、他の車の売上を抽出しようとするとまた

車   売上
105  

みたいに条件を入力せねばならず、車の数が200ぐらいあるので大変です
何か関数の上手な使い方はないでしょうか?
もしくは関数以外でもできる方法がありましたら教えてください
237名無しさん@そうだ選挙にいこう:2009/09/10(木) 19:49:59
>>236
ピボットテーブルおすすめ。
238名無しさん@そうだ選挙にいこう:2009/09/10(木) 19:57:32
>>229
なんだそりゃ。ネット以外で聞いたらマルチじゃないのかよ。
それに何で答えを「探して」んの?知らないなら回答しなくてもいいんだよ。
239名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:00:22
>>230
で、何?
Wikipediaに書いてあるからマルチはダメと言いたいわけ?
240名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:12:07
内容も読めないの?
241名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:22:57
>>236
全ての車の最大の売り上げをいっぺんにみたいのなら
車の数だけ並べてDMAXでみたら。

242名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:25:39
こいつマルチだぜ〜と大騒ぎするやつは、そもそもどうしてマルチを発見できたのだろうか。
それは、こいつらが一生懸命答えをググるからである。
知らないなら無理に回答しなければいいのに。迷惑なやつらだ。
243名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:30:34
>>241
条件を列挙するのが大変だっていう質問だ。「列挙しろ」では答えになってない。
よく読め。
244名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:33:52
>>242

空気嫁
245名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:43:51
>>243
だからさ、最初っから昇順列挙しておけばいいんジャマイカとな。
してその隣にでもDMAXの結果を出すというのはどうなのかな?
246名無しさん@そうだ選挙にいこう:2009/09/10(木) 20:57:53
>>245
そうだな。その具体的方法を回答しろ。
247名無しさん@そうだ選挙にいこう:2009/09/10(木) 21:00:03
>>244
ダッチワイフですね。
わかります。

でも何でドイツ人の嫁さんなんでしょうね。
248名無しさん@そうだ選挙にいこう:2009/09/10(木) 21:02:43
>>242
ぐぐればわかるようなことを書きこむなカス
249名無しさん@そうだ選挙にいこう:2009/09/10(木) 21:41:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 変換/置換/SUBSTITUTE

一つのセル内の複数のキーワードを指定した文字列へ置換させたいのですが、中々上手くいきません
セルAにりんごなしキウイぶどうと入力→セルBへ100+150+90+190と自動置換
セルAにいちごバナナりんごなしぶどうと入力→セルBへ100+90+100+150+190と自動置換
このように全体で40ほどのキーワードから、1つのセルで1〜10個ほど同時に置換させたいのですが上手くいきません。何か良い方法はありますでしょうか?
250名無しさん@そうだ選挙にいこう:2009/09/10(木) 22:14:13
>249

数式はやめとけ。
VBAを少しかじれば簡単に出来る。
251名無しさん@そうだ選挙にいこう:2009/09/10(木) 22:26:05
>>250
やはりVBA使わずに書くのは難しいですか。ちょっと勉強してみます
ちなみに数式で表すことも可能ではあるんでしょうか
252名無しさん@そうだ選挙にいこう:2009/09/10(木) 22:38:53
>251

数式で一回に変換できるのは1個。
対象キーワードの40個分REPLACEを並べれば可能かな?

キーワードのセル範囲が固定されているならVBAでFunction
(ユーザー関数)作った方がいいと思う。
253252:2009/09/10(木) 22:41:46
REPLACEぢゃ無理だな。
IFとFINDの塊を作れば一応出来るかな?
254名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:17:07
B1に
=IF(A3*A4 < 100, 10, A3*A4)
みたいな関数を入れるとして
同じ数式を二回書く以外の方法ってないでしょうか
なんかカッコ悪いと思いつつ使ってしまいます・・・
255名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:18:12
>>236
>>243
めんどいからVBAで。>>243の掲示したのを基本に。
面倒でも列Dに全車分のリストを作ってくれ。E列に売上げの最大を書きこむVBAだ。
Sub 最大値取得()
Dim WS1_Name As String
Dim WS1 As Worksheet
Dim ValRow As Long, LstRow As Long, TmpVal As Long, MyVal As Long, h As Long, i As Long, j As Long
WS1_Name = "Sheet1"
Set WS1 = Worksheets(WS1_Name)
With WS1
ValRow = .Range("$A$65536").End(xlUp).Row
LstRow = .Range("$D$65536").End(xlUp).Row
For h = 2 To LstRow
j = 1
For i = 2 To ValRow
If .Cells(h, 4).Value = .Cells(i, 2).Value Then
If j <= 1 Then
MyVal = .Cells(i, 3).Value
.Cells(h, 5).Value = MyVal
ElseIf j > 1 Then
TmpVal = .Cells(i, 3).Value
  If MyVal <= TmpVal Then
   .Cells(h, 5).Value = TmpVal
  End If
End If
j = j + 1
End If
Next i
Next h
End With
End Sub
256名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:21:13
>>236
車    売上
100   15000
105   50000
110   20000



こういう表作りたいならピボットテーブルのウィザードに従って、
行に「車」、データに「売上」の最大値にすればよろし。
257名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:23:28
>254

作業列を使うしかないと思う。
258名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:49:15
>>257
わしもそう思う
259名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:53:06
>>230
>マルチポスト(Multi-post、Multiple posting、Multiposting)とは、同じ内容の記事を複数のニューズグループに別の記事として投稿すること。
この時点で既に定義が違っているわけだが
260名無しさん@そうだ選挙にいこう:2009/09/10(木) 23:56:01
でっていう
261名無しさん@そうだ選挙にいこう:2009/09/11(金) 00:14:55
>>254
=((A3*A4)<100)*10+((A3*A4)>=100)*(A3*A4)
論理演算和とでも言うのかねぇ
((A3*A4)>=100)=TRUE、TRUE=1、逆もまた然り
という性質を利用したものなんだけど、低級言語になるとTRUE=-1になる場合もある。ごくまれだけどねー
まぁTRUEとFALSEのTRUEを掛け算して足せばif使わなくても計算できる
ただ文字列では特殊なことをしない限り流用できないのが難点だね

こういうのに興味をもてるならC言語を覚えるといい。ビット演算とか面白いよー
262名無しさん@そうだ選挙にいこう:2009/09/11(金) 00:17:15
失礼、vbaもTRUE=-1だったか
ワークシート関数だけだね、TRUE=1なのは

ちなみに何故true=-1なのかは、ビット演算を覚えると自然にたどり着く
263名無しさん@そうだ選挙にいこう:2009/09/11(金) 04:39:07
>>255
うわ。めんどくさそう。
車種別の次に車種別年度別を調べたくなったらどうするの?
264名無しさん@そうだ選挙にいこう:2009/09/11(金) 04:53:11
>>255
>面倒でも列Dに全車分のリストを作ってくれ。

VBAまで使っておいてそこを解決してないのかよ。
一度>>256をよく読んでみろ。
265名無しさん@そうだ選挙にいこう:2009/09/11(金) 04:55:54
>>255
>面倒でも列Dに全車分のリストを作ってくれ。

もう一度言おう。
条件を列挙するのが大変だっていう質問だ。「列挙しろ」では答えになってない。
よく読め。
266名無しさん@そうだ選挙にいこう:2009/09/11(金) 06:24:05
>>259
残念、ハズレ

それはマルチポストの定義の内のひとつに過ぎない
267名無しさん@そうだ選挙にいこう:2009/09/11(金) 07:15:08
>>263
>>264
>>265
粘着キター
268名無しさん@そうだ選挙にいこう:2009/09/11(金) 07:35:32
>>267
まあ好きに言えばいいさ。
>>255はDMAXをVBAで実装しただけだろ。
質問>>236を読んでみろ。どうしてVBAでDMAXを作ろうなんて思ったんだ?
269名無しさん@そうだ選挙にいこう:2009/09/11(金) 07:53:58
マルチについて語るのに、Wikipediaではどう書いてあるかなんてどうでもいいとは思わないか?
単純にそいつのことが好きか嫌いか、各自が判断したらいいんだ。

私はマルチ本人より、マルチ指摘厨の方が嫌い。
「みんな〜!こいつはマルチだ。回答するなよ。」←こんなやつ気持ち悪いよ。
270名無しさん@そうだ選挙にいこう:2009/09/11(金) 07:54:37
お前ら・・もちっとまともな回答してやれよw
>>236
C2=IF(COUNTIF($A$2:A2,A2)>1,"",A2)
D2=MAX(IF($A$2:$A$1000=C2,$B$2:$B$1000,0))
下にオートフィル。D列は配列数式
後は値でコピーして並び替え
全部マクロに登録すればいいんじゃないかな
>>249
B1=SUBSTITUTE(A1,"りんご","100+")
C1=SUBSTITUTE(B1,"なし","150+")
D1=SUBSTITUTE(C1,"キウイ","190+")
E1=SUBSTITUTE(D1,"ぶどう","150+")
F1=LEFT(E1,LEN(E1)-1)
この果物の名前と値段はどこかに登録しておいたほうがいいと思うけど40個ぐらいなら手作業でもいいんじゃないかな
271名無しさん@そうだ選挙にいこう:2009/09/11(金) 07:55:10

くどいぞ クズ
272名無しさん@そうだ選挙にいこう:2009/09/11(金) 07:56:39
>>271
自己紹介お疲れ様でしたw
273名無しさん@そうだ選挙にいこう:2009/09/11(金) 09:41:05
>>236
MS Queryを使ったらどうか。
274名無しさん@そうだ選挙にいこう:2009/09/11(金) 11:05:03
>>236をExcelの一般機能でやるならピボットって答えが出てるなぁ。
並び変えてフィルタオプションでも簡単だけどな。
A列を最優先キー、B列を次に優先するキーで降り順で並び変えて、A列が一つ上と異なるものを抽出すりゃよい。
275名無しさん@そうだ選挙にいこう:2009/09/11(金) 11:10:23
なんだ、>>270なんて馬鹿回答があったのかよw
配列数式を覚えると馬鹿になるの典型だなw
276名無しさん@そうだ選挙にいこう:2009/09/11(金) 12:25:47
>>275
>>270は釣りだろ?
ピボットテーブルで最大値ってごくまともな回答がすでに上がってるのに、わざわざ糞みたいな式で「もちっとまともな回答してやれ」ってネタとしか思えん。
277名無しさん@そうだ選挙にいこう:2009/09/11(金) 12:28:52
ピボットで即解決してるのに、的外れなVBA書いてバカみたい。
278名無しさん@そうだ選挙にいこう:2009/09/11(金) 12:32:43
もう手遅れだな
279名無しさん@そうだ選挙にいこう:2009/09/11(金) 12:38:14
色々な答えが出るのは良い事だと思うけどな
ピボ厨VBA厨問わず、なんで批判しかできないんだろう?
280名無しさん@そうだ選挙にいこう:2009/09/11(金) 12:47:20
自分で質問して自分で回答してるんだから仕方がないよ
281名無しさん@そうだ選挙にいこう:2009/09/11(金) 12:50:11
.妄想おつ
いつもの気違いかな?
282名無しさん@そうだ選挙にいこう:2009/09/11(金) 13:15:32
>>279
ここは2chです
これ以上の理由はなかろう
283名無しさん@そうだ選挙にいこう:2009/09/11(金) 18:35:14
>>279
VBA厨が一方的にバカさらしているだけだろ。
やつらの羞恥プレイだな。
284名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:07:56
このスレ先頭から読んでくとひどいな。バカだらけ。
質問>>47なんか典型的な制約条件付き最適化問題なのにバカどもが「情報少ない」とか抜かしてやがる。
質問>>111も条件勝手に解釈したバカにつきまとわれてかわいそう。
車種別最大売上で何回指摘されても問題の意味さえ理解できないVBA厨。

こいつらおバカタレントか?
285名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:12:32
おバカタレントって言葉、使ってる人いるんだ
286名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:21:48
>>284
俺は>>111にたいして>>116-117を答えたが、俺は馬鹿の仲間?
287名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:29:00
>>286
回答を間違えただけなら問題ない。おバカタレントはスターなのだ。
288名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:39:05
なんだ、あとのやり取り読んだら>>117がまずいのはすぐ分ったよ。
あのあとしばらくこのスレ読んでなかったんでね。
1/1〜1/4と1/2〜1/3なら4が欲しいということね。
馬鹿ですまんかった。
289名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:52:40
>>282
すまんかった、俺が悪かった
290名無しさん@そうだ選挙にいこう:2009/09/11(金) 19:57:43
自演基地外が沸いてるな
291236:2009/09/11(金) 20:00:25
自分なりに答えて頂いた方法を試した結果
確かに一番簡単で早かったのはピボットテーブルですね。
これまで使ったことなかったので、こんな簡単にできるとは知りませんでした。
あとVBAはこんな単純なケースだとかえって使いにくいですが
他の似たような例に応用してみようかと思ってます

ともかく、答えて頂いた皆様どうもありがとうございました
292名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:05:17
xp、エクセル2003でvba×です教えください
エクセルで作った表が保存できなくなってしまいました。どうしてでしょうか?
上書き保存も新規保存もダメです
保存しようとすると「保存できません」とウィンドウが出ます
293名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:18:41
自演基地外が沸いてるな
自演基地外が沸いてるな
自演基地外が沸いてるな
294名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:20:10
もうやめようぜ せっかくの良スレだ
295名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:23:34
「自演基地外が沸いてるな 」と言ってるやつが自演してたりしてw
296名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:31:48
2ch初心者の頃はよくやってたなw
名無し同士だと全く意味はないがw
297名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:38:33
いい加減他人のふりしてないでちゃんと「ごめんなさい」くらい言えるようになれ
くだらねー
298名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:41:41



















ごめんなさい すみませんでしたm(__)m
299名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:55:45
今更ですまんが、>>111って数式でどうやりゃいいんだ?
頭悪いので>>119が理解できなくて怪しいんだが、A<B、C<Dが担保されてりゃユーザー定義関数ででけた。
Function 日数(a, b, c, d) As Long
Dim i As Long
With WorksheetFunction
ReDim e(.Min(a, c) To .Max(b, d))
End With
For i = a To b
e(i) = 1
Next
For i = c To d
e(i) = 1
Next
日数 = WorksheetFunction.Sum(e)
End Function

数式だとIFばっかで俺には難しいな。
簡単な式はないんだろうか?
300名無しさん@そうだ選挙にいこう:2009/09/11(金) 20:57:21
A<=B、C<=Dが担保されてりゃの間違いだった。
301名無しさん@そうだ選挙にいこう:2009/09/11(金) 21:16:32
>>300
イメージは>>128のとおり。
日付はランダムだから、前後関係は全く担保されない条件ですね。
>>122で自己解決済み。
式でやろうとすると、IFの嵐になるね。
302名無しさん@そうだ選挙にいこう:2009/09/11(金) 21:19:09
>>300
>>301です。
最低限、A<=B、C<=Dは担保されてるんでしょう。
303名無しさん@そうだ選挙にいこう:2009/09/11(金) 21:28:10
>>302
じゃぁ俺のユーザー定義関数はあってるんだな。
>>122のような作業列作らない式だとやっぱIFの嵐は仕方ないのかな?
304名無しさん@そうだ選挙にいこう:2009/09/11(金) 21:29:59
誰か>>184を頼む・・・。rz
305名無しさん@そうだ選挙にいこう:2009/09/11(金) 21:35:43
>>304
自分は読解力がないので>>184の言いたいことが分からない。
誰か読解力のある人お願いします。
306名無しさん@そうだ選挙にいこう:2009/09/11(金) 21:55:55
>>304
>このタブの表示位置を左右のスクロールと別の高さで表示できないでしょうか?

できないかも知れないとは思わなかったの?
307名無しさん@そうだ選挙にいこう:2009/09/11(金) 22:25:22
思わなかったかな
308名無しさん@そうだ選挙にいこう:2009/09/12(土) 00:10:39
Web(HTML)とどちらに聞いた方がいいのか迷いましたが、
こちらでどうかご助言お願いいたします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 本を読みながらなら
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 IE ハイパーリンク シート エクセル
IEでシートを指定してエクセルのシートを開きたいのですが可能であれば
方法をご教示お願いいたします。
検索をかけても同じ悩みの方は一番最初に見つけましたが解決方法が
わかりませんでした。(IEの設定を変えるとかはなしで)

↓こんな感じのを作りたいです
エクセルで作ったHTMLファイルを作成しました。
ある1つのエクセルファイルのシート(たくさん)内容を目次にしたもので
目次項目はリンク付け。
該当リンクをクリックするとそのシートが表示される。

ファイルそのものはリンク付けできますが、シートを指定することができません。
IEで開く(表示)方法が知りたいのですが、
それとクリックするとエクセルが起動して表示される方法とかもあるのでしょうか。
意味が伝わらない点などあるかもしれませんがどうかご助言お願いいたします。
309名無しさん@そうだ選挙にいこう:2009/09/12(土) 01:47:33
返信遅くなりましたが
>>252
検索系関数でなんとか出来ないかと思ったが自分の知識では無理だったんだ、済まない
>>270
そうかただSUBSTITUTEを並べてもダメだが1個1個順番に処理すればよかったのか・・・

初歩の初歩の質問に答えてくれてありがとう。おかげでなんとかなりそうだ
310名無しさん@そうだ選挙にいこう:2009/09/12(土) 06:53:53
>>308
とりあえず
ツール→マクロ→Microsoft Script Editor立ち上げて試行錯誤してみては?
そこならHTML構文で確認出来るから。
311名無しさん@そうだ選挙にいこう:2009/09/13(日) 05:02:17
質問させてください。

自分は社会人なのですが、Office Excel 2007 アカデミックを買おうとしています。

マイクロソフトへユーザー登録(認証など)する場合、何か証明証は必要ですか?

312名無しさん@そうだ選挙に行こう:2009/09/13(日) 07:05:47
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000

http://uproda11.2ch-library.com/1986080PH/11198608.png
上図のような区切り線(B列の次がL列で表示)を出すにはどうしたら良いでしょうか?
313名無しさん@そうだ選挙にいこう:2009/09/13(日) 07:35:47
>>312
ウインドウ→ウインドウ枠の固定
ウインドウ→分割
どっちでも使いやすいほうで
>>311
ttp://www.sofmap.com/product_detail/exec/_/sku=10697382/-/gid=SW10010000
学生証。ってか、これ以外に無いでしょ
314名無しさん@そうだ選挙にいこう:2009/09/13(日) 07:53:33
>>313
教員とかもおkじゃなかった?
315名無しさん@そうだ選挙にいこう:2009/09/13(日) 08:18:16
316名無しさん@そうだ選挙にいこう:2009/09/13(日) 08:37:02
>>311
板違い
317名無しさん@そうだ選挙にいこう:2009/09/13(日) 10:28:56
professionalが18000円弱で買えるもんね。おれも買っちゃったよ。
318名無しさん@そうだ選挙にいこう:2009/09/13(日) 11:11:32
>>317
どこで?
319名無しさん@そうだ選挙にいこう:2009/09/13(日) 11:13:53
>>119, >>111
A1 期間1スタート
B1 期間1エンド
C1 期間2スタート
D1 期間2エンド
とすると

MIN(B1-A1+D1-C1+2,MAX(B1,D1)-MIN(A1,C1)+1)

期間1の日数と、期間2の日数を単純に足した延べ日数と
期間1と期間2の初日から最終日までの日数を比べて
小さな数字が実日数

つまり、基本的に期間1+期間2の日数だけど、範囲日数はみ出たらそこまで、って考え。
320名無しさん@そうだ選挙にいこう:2009/09/13(日) 12:31:09
=MIN(B1,C1)-A1 + D1-MIN(B1,C1) +1
これでいいんじゃないの
321名無しさん@そうだ選挙にいこう:2009/09/13(日) 12:50:35
結局VBA厨はMAXとMINを必死で実装していたわけだ。
322名無しさん@そうだ選挙にいこう:2009/09/13(日) 12:56:08
>>320
期間がだぶってるときはいいが、離れてると正しい結果にならない
離れてる時とだぶってるときとIF(B1>C1,……で分ければいいか
323名無しさん@そうだ選挙にいこう:2009/09/13(日) 13:02:15
>>320
全然駄目っぽいぞ?
9月1日 9月5日 10月1日 10月5日
これが35日になる。
ぱっと見10日だもんな。
324名無しさん@そうだ選挙にいこう:2009/09/13(日) 13:02:57
すでに指摘が入ってたか。
325名無しさん@そうだ選挙にいこう:2009/09/13(日) 13:09:27
>>319
なるほど、うまいね。

>>321
>>299なら全然必死じゃない。
ごく単純な考え方だから、考えるてコード書くのに1分もかかってない。
326名無しさん@そうだ選挙にいこう:2009/09/13(日) 13:44:46
>>325
>>321にかまうなって、自分はできないもんだから僻んでるんだから。
327名無しさん@そうだ選挙にいこう:2009/09/13(日) 13:45:45
以降、>>321みたいのはスルーで
328名無しさん@そうだ選挙にいこう:2009/09/13(日) 13:55:47
なんでスルーなんだよw
vba使ってる連中はvba使うことが目的になりがちだからいい薬になっていいんじゃねーの
329名無しさん@そうだ選挙にいこう:2009/09/13(日) 15:02:00
批判するのはいいんだけど、別の方法書いてから言って欲しい
330名無しさん@そうだ選挙にいこう:2009/09/13(日) 15:10:21
>>313
>>315
ありがとうございます。
331名無しさん@そうだ選挙にいこう:2009/09/13(日) 15:44:23
>>329
そのとおりです。
332名無しさん@そうだ選挙にいこう:2009/09/13(日) 15:45:43
VBA厨には基礎的な学力や経験が足りない。だから質問の意味さえ理解できないのだ。
もっと勉強しなさい。過去の偉大な発見、発明に敬意を払うべき。
他人からの批判に謙虚に耳を傾けることだ。おまえらはバカなんだぞ。
333名無しさん@そうだ選挙にいこう:2009/09/13(日) 16:07:48
はいはい。
偉大なる>>332に敬意を払います。
334名無しさん@そうだ選挙にいこう:2009/09/13(日) 18:13:33
>>111です。
厄介な質問をしてしまい、申し訳ないです。
m(__)m
335名無しさん@そうだ選挙にいこう:2009/09/13(日) 18:32:00
>>334
ここの回答者はカスが多い。
厄介な質問ではないよ。この程度の質問を理解できないやつに回答する資格などない。
336名無しさん@そうだ選挙にいこう:2009/09/13(日) 19:46:53
>>335
はて?
おまえさんの回答はどれだい?
おまえは質問を理解することだけ得意なんじゃねーの?
質問を理解出来ても答えはだせなかったりしてw
337名無しさん@そうだ選挙にいこう:2009/09/13(日) 19:58:36
>>336
まあ例えば
>>68
>>129
>>243

あたりが私だ。
質問を理解できないお前がどうやって回答できるのだ?
338名無しさん@そうだ選挙にいこう:2009/09/13(日) 20:08:14
>>337
だから>>111に対するお前の回答はどれなんだよ。
ここで>>111を満たす回答は>>319しか出てねーんだが。
おまえは>>319かい?
339名無しさん@そうだ選挙にいこう:2009/09/13(日) 20:12:06
>>111
【4 VBAでの回答の可否】 否
となっている件
340名無しさん@そうだ選挙にいこう:2009/09/13(日) 20:15:53
319はVBA使ってないよなぁ。
341337:2009/09/13(日) 20:19:42
>>338
私は>>111に対して回答はしていない。
それがどうかしたか?
342名無しさん@そうだ選挙にいこう:2009/09/13(日) 20:22:06
なんだ、質問理解のエキスパートなだけで、回答のエキスパートじゃなかったのかw
343名無しさん@そうだ選挙にいこう:2009/09/13(日) 20:23:42
>>342
安心したか?
これからもおバカタレント級の回答を期待しているぞ。
どんどん回答しろ。
344名無しさん@そうだ選挙にいこう:2009/09/13(日) 21:35:49
>>111に対する回答じゃなくて・・
一般的に「悪」といわれてる手法でも、それが質問者にとって最も早く確実に仕事が終わるなら、ならそれが「最良」の回答なんだよ
配列数式、ピボット、vba。どれを選ぶかは質問者が決めることだし、最良の手法は私たちには分からない

関数厨である私はそのことを踏まえて、あえてピボットで回答が出た後でも関数での回答を出す
それは「ピボットが再計算をしないことがある」という最大の欠点があるから
せめてピボット厨はピボットテーブルの回答を出すたびに、常に「再計算には要注意」と一言添えて欲しい
再計算さえ自動にしてくれるなら最も手軽で最高の計算方法だと言うことは俺でも分かる
そこまで質問者のことは考えてる?>>180とか本当に最低の回答だよ

長文失礼。でももう少し回答者のこと、背景も踏まえて考えてあげて欲しい
345名無しさん@そうだ選挙にいこう:2009/09/13(日) 21:46:26
ようしゅがここにいない?
346名無しさん@そうだ選挙にいこう:2009/09/13(日) 21:48:32
「ピボットが再計算をしないことがある」
VBAでピボットを再計算させればいいじゃないか
347名無しさん@そうだ選挙にいこう:2009/09/13(日) 21:50:47
ピボットは自動再計算をしないことがある、は間違い。
ピボットは自動再計算をしない、が正しい。
しないことがわかってれば何の問題もない。

質問者の意図は最適でないことがある。
2つの重複することがある期間の日数を求めるなんて問題は
関数で解決するのが当然。VBAなんて使う必要はない。
348名無しさん@そうだ選挙にいこう:2009/09/13(日) 21:51:20
>>344は抽出も関数でやりそうだなw
349名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:03:19
俺も>>344と同じ考えだ。
違うのはVBA厨と言うことだけだ。だからあえて>>111への回答をVBAで書く。
もう一度言っておくが”これは一つの回答に過ぎないと言うことだ”

・Sheet1にこのように表示させると仮定
A B C D 日数
1 9月1日 9月5日 9月10日 9月15日 10
2 9月1日 9月5日 9月3日 9月15日 15
3 9月1日 9月5日 10月1日 10月5日 9

350名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:05:29
とにかく>>344がどうしようもない馬鹿なのはわかった。
351名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:06:04
>>349つづき
'標準モジュールに以下を貼り付け
Sub 期間取得()
Dim WS1_Name As String
Dim WS1 As Worksheet
Dim LstRow As Long, Jitsu As Long, Nobe As Long, i As Long
Dim A As Date, B As Date, C As Date, D As Date
Application.ScreenUpdating = False
WS1_Name = "Sheet1"
Set WS1 = Worksheets(WS1_Name)
With WS1
LstRow = .Range("$A$65536").End(xlUp).Row
.Range("F:F").ClearContents
.Cells(1, 6).Value = "日数"
For i = 2 To LstRow
With .Cells(i, 2)
A = .Value
B = .Offset(, 1).Value
C = .Offset(, 2).Value
D = .Offset(, 3).Value
352名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:06:48
>>349つづき
If (B - A) > 0 And (D - C) > 0 Then
Jitsu = (((B - A) + 1) + (D - C))
Nobe = ((D - A) + 1)
If Jitsu > Nobe Then
.Offset(, 4).Value = Nobe
Else
.Offset(, 4).Value = Jitsu
End If
Else
Jitsu = 0
Nobe = 0
End If
End With
Next i
End With
Application.ScreenUpdating = True
End Sub
353名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:07:29
>>349つづき
'Sheet1の変更時イベントに以下を貼り付け
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WS1_Name As String
Dim WS1 As Worksheet
Dim LstRow As Long
Dim i As Integer
WS1_Name = ActiveSheet.Name
Set WS1 = Worksheets(WS1_Name)
With WS1
LstRow = .Range("$A$65536").End(xlUp).Row
For i = 1 To LstRow + 1
With ActiveCell
If .Row <= i And .Column <= 5 Then
Call 期間取得
End If
End With
Next
End With
End Sub
354名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:09:09
>>346
たまに言ってるよ。ピボットは最高のクロス集計ツールなのは間違いないからね。再計算を除けば
ただVBA×なら言えない
>>347
>関数で解決するのが当然。VBAなんて使う必要はない。
がそうでもないというお話
全てのやり方を回答者が提示して、質問者が好きなやり方を採用すればいい
そこに「一般的」という問題は、無い。質問者自身が「異端」という可能性があるからね
逆に「異端」な質問者から見れば>>347は「異端」な回答ということになる
>>348
さすがにそこはオートフィルタ使うわな
355名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:12:36
オートフィルターは自動じゃないしw
356名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:16:47
そうだな
357名無しさん@そうだ選挙にいこう:2009/09/13(日) 22:23:10
>>351-353
MAXとMINの実装ごくろうさん。
358名無しさん@そうだ選挙に行こう:2009/09/13(日) 22:29:14
>>313
さんきゅう
359名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:22:32
>>354
ピボットがクロス集計ツールだと言うことにVBA厨が気付いたのはごく最近だろ。
それまでクロス集計のサブセットばかり再実装していたんだろうが。
360名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:29:23
くだらん、いつまでやってんだ。寝る。
361名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:29:46
>>344
>>関数厨である私はそのことを踏まえて、あえてピボットで回答が出た後でも関数での回答を出す

公開オナニーですかw

362名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:41:58
○○房など、手法にこだわるヤツにろくなのはいない。
363名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:48:45
>>361
羞恥プレイだよ。
364名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:52:51
形式に拘ってる奴ほど仕事が遅いんだよな
本当にアホじゃないかと思うよ
365名無しさん@そうだ選挙にいこう:2009/09/13(日) 23:56:20
>>359
そんなこと、とうの昔に知ってるんだが
誰と勘違いしてるんだ?
366名無しさん@そうだ選挙にいこう:2009/09/14(月) 00:00:37
連投ご苦労様。早く寝ろ。池沼。
367名無しさん@そうだ選挙にいこう:2009/09/14(月) 00:02:30
今晩夜勤なんだ。多分朝までいるよ
368名無しさん@そうだ選挙にいこう:2009/09/14(月) 00:05:08
>>365
もしくは問題をクロス集計へ抽象化できない低脳の集まりだな。
具体的にFORループを回しながらでないと考えられないんだ。
369名無しさん@そうだ選挙にいこう:2009/09/14(月) 00:08:18
そうだな
370名無しさん@そうだ選挙にいこう:2009/09/14(月) 00:51:04
そうだな
371名無しさん@そうだ選挙にいこう:2009/09/14(月) 00:52:39
また、いじめられ単だね。わかります。
372名無しさん@そうだ選挙にいこう:2009/09/14(月) 01:42:06
>>351-353
おまえわざと突っ込みどころ入れてるのか?
WS1_Name = ActiveSheet.Name
Set WS1 = Worksheets(WS1_Name)
これはなんでつか?
373名無しさん@そうだ選挙にいこう:2009/09/14(月) 02:03:34
おれさまはピボットをお前らより先に使ってたんだぜ。
おまいらまいったか。
374名無しさん@そうだ選挙にいこう:2009/09/14(月) 03:35:04
まいったな
375名無しさん@そうだ選挙にいこう:2009/09/14(月) 04:57:52
【1 OSの種類         .】 WindowsXP・2000・98
【2 Excelのバージョン   】 Excel2003か2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 置換
複数ファイル、複数シートに記述されているマクロの内容を一度に変更する方法は出来ますか?
マクロの内容は「プリンタを変更→印刷→プリンタを戻す」というマクロなのですが
PCを変えるとプリンタの場所に関する記述が変わるようで、それを一度に置換したいのです
よろしくお願いします
376名無しさん@そうだ選挙にいこう:2009/09/14(月) 07:17:38
あのね、一気に変更する方法は有るには有るけど、
そもそも、そういうものを個別のブック、シートに記述するのが間違い。
そういうのは個人用マクロブック(personal.xls)やアドインに記述するものだ。

個人用マクロブックやアドインに記述したマクロは、全てのブックやシートから呼び出せる。
というか、開いているブックやシートに関わりなく呼び出せるし、修正も一カ所。
「一気に変更する方法」より遙かに楽なので、この機会に正しい方法へ変更しな。

更に言えば、修正する際も、コードを直接弄るのではなく、変更先および戻し元となる
プリンタを選択するダイアログをユーザーフォームで作り、個人用マクロブックやアドインの
非表示シートにそれを保持するなどの方法が良い。

個人で使っているうちはまだいいが、業務で使うようになるとこんなのは当然の手法と配慮だ。

因みに「一気に変更する方法」は、VBAの分野ではなくVBの分野なのでここでの解説は出来ない。
377名無しさん@そうだ選挙にいこう:2009/09/14(月) 08:21:37
>>372

良く読む気になるねw
変数名からしていつもの子だと思って読まなかったよ。

この子はマクロの記録出身らしく、自動生成されるコード
のそれぞれの意味をあまり理解していない傾向がある。
だからそんな突っ込みしてもきっと何が問題なのか分か
らないよ。

スルー推奨だよ。
378名無しさん@そうだ選挙にいこう:2009/09/14(月) 09:02:06
VBA否にVBAで回答するような人ですから・・・
379名無しさん@そうだ選挙にいこう:2009/09/14(月) 09:13:31
改めて読むと、突っ込み所満載だな。
これでVBA厨を名乗られても困るんで
誰か建作してやれよ。
380名無しさん@そうだ選挙にいこう:2009/09/14(月) 09:48:11
添削(健作w)以前にこれ作るくらいなら自作関数作るだろ。
381名無しさん@そうだ選挙にいこう:2009/09/14(月) 10:16:34
>>376
ありがとうございました
VBで調べてみます
382名無しさん@そうだ選挙にいこう:2009/09/14(月) 12:38:04
>>379
VBA厨のダメなところは、コードの良し悪しではない。そこを勘違いするなよ。
383名無しさん@そうだ選挙にいこう:2009/09/14(月) 12:40:49
頭と顔と性格だよな
384名無しさん@そうだ選挙にいこう:2009/09/14(月) 13:38:13
年収もね!
385名無しさん@そうだ選挙にいこう:2009/09/14(月) 14:12:11
体型も悪そう
386名無しさん@そうだ選挙にいこう:2009/09/14(月) 15:35:45
俺は185の75Kgのスポーツマン。
おまいらパソコンの前にばっかりいるんじゃねーぞ。
387名無しさん@そうだ選挙にいこう:2009/09/14(月) 17:10:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 リスト ドロップダウン 塗りつぶし 網掛け

海外の取引先から送られてきたファイルで
入力規則でリスト、ドロップダウンリストから選択にした時
例えばAとBの選択肢からAを選んだ場合、特定の別なセルに色がつき
Bを選ぶと色が消える、という処理がされていました。
これをどうやってやるのか教えてください。
388名無しさん@そうだ選挙にいこう:2009/09/14(月) 17:47:59
>>387
条件付書式で
数式が=$A$1="a"
これでA1がaと入力されている時に設定しているセルの色を変えたり出来る
リストとはあまり関係が無い
389名無しさん@そうだ選挙にいこう:2009/09/14(月) 18:10:12
>>388
素早い回答ありがとうございます
他のセルの内容を条件にする事が出来るんですね
色々と応用できそうで大変勉強になりました。
390180:2009/09/14(月) 18:49:22
>>344
>>一般的に「悪」といわれてる手法でも、それが質問者にとって最も早く
>>確実に仕事が終わるなら、ならそれが「最良」の回答なんだよ

こうやって糞シートが量産されていくのね・・・

>>回答が出た後でも関数での回答を出す

そういうことはチラシの裏でやれってお母さんがゆってただろ?

>>そこまで質問者のことは考えてる?

考えてませんし考える気もありません。

>>180とか本当に最低の回答だよ

まっとうで最良な正論だと思うんだがな。
むしろ初心者の質問者が決めるなら選択肢にあるべき回答だと思うがな。

>>でももう少し回答者のこと、背景も踏まえて考えてあげて欲しい

お断りします(AA略
391名無しさん@そうだ選挙にいこう:2009/09/14(月) 19:28:04
うわうざ
392名無しさん@そうだ選挙にいこう:2009/09/14(月) 19:34:31
180本人じゃないだろ
393名無しさん@そうだ選挙にいこう:2009/09/14(月) 20:28:08
>>390は執拗に追い回す奴。
394名無しさん@そうだ選挙にいこう:2009/09/14(月) 20:32:21
うざすぎだろ
395名無しさん@そうだ選挙にいこう:2009/09/14(月) 21:19:34
>>379
どうせ自分じゃできないからな。
396名無しさん@そうだ選挙にいこう:2009/09/14(月) 21:49:58
>>395

こらこらVBA厨どうしでケンカしてどうする。
いいか?コードの良し悪しなんぞ大したことじゃない。おまえらの抱えている問題はもっと深刻なんだぞ。
397名無しさん@そうだ選挙にいこう:2009/09/14(月) 21:52:18
×おまえら ○俺たち
398名無しさん@そうだ選挙にいこう:2009/09/14(月) 22:26:59
>>396
で、どんな問題よ。具体的にどうぞ。
399名無しさん@そうだ選挙にいこう:2009/09/14(月) 22:44:58
>>398
生意気にコーディングなんか語る前にもっとお勉強が必要だよ。
君たち実はピボットテーブルの使い方わからないんでしょ?
400名無しさん@そうだ選挙にいこう:2009/09/14(月) 22:52:20
だから、どんな問題よ。具体的にどうぞ。
いえねんだろうが、面かせこら。
401名無しさん@そうだ選挙にいこう:2009/09/14(月) 22:57:50
>>400
具体的に例を挙げると、まず>>47でケチがついたよね。


47 :名無しさん@そうだ選挙にいこう :2009/08/31(月) 20:43:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

数量と三種類(3社の価格)の価格が100行程度あります。
最低価格を提示している会社に数量を振り分け、合計金額を求めたいのですが、
「各社ごとに決められた最低合計数量を上回りつつ合計金額を最小にする」という条件の設定が思いつきません。
ご教示願います。

48 :名無しさん@そうだ選挙にいこう :2009/08/31(月) 21:02:02
一度で全てを計算しようとするんじゃなく、
作業列を作ってゆっくりかんがえてみなよ。

49 :名無しさん@そうだ選挙にいこう :2009/08/31(月) 21:14:07
>>48
お前あほか?
どうやってやるんだ。説明してみろ。
402名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:06:41
>>401
で?ケチがついたことってのとの関連を説明してみろや。
403名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:10:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel シート 1/2 プリント

Excel2003であるファイルにある全シートを
すべて1/2(一枚で二ページ)にして一括して印刷したいのですが
1/2の設定をしてもそのシートのみしか反映されずに
他のシートは反映されません
数シートなら手でもできるのですが
数百シートある場合さすがにきついので
できる方法があれば教えてください
404名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:14:01
>403

ファイル→印刷→印刷対象で「ブック全体」
(プリンタ)プロパティ→レイアウト→割り付け

>402

雑談はよそでどうぞ。
405名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:19:13
>>402
具体的な例をあげてほしいといったからあげてやったのにね。
質問>>236に対する回答>>255はどうかな?
406名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:25:38
XPで2003なのですが、A3に100と入力するとA1の
数が100減りA2に50と入力するとA1が50減る
にはどうすれば良いでしょうか?
407名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:31:45
>>405
具体的な例とは誰も言ってないし、結局「どこがマズイのか」を答えられないのは、だれだ?結局、恥ずかしくないのかな。
408名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:33:59
>>407
> 具体的な例とは誰も言ってないし

よくそんなウソがはけるもんだねえ。
409名無しさん@そうだ選挙にいこう:2009/09/14(月) 23:37:47
>406

A1自体に演算元の数値を入力するならVBA使わないと不可能。
あとA2=50,A3=100のときは両方引くのか?

>407-408

そろそろどっちか引いてくれませんかね?
どうせIDもなく誰が誰だか分かんないんだし・・・
410406:2009/09/14(月) 23:48:32
演算元の数値を入力するって何?
A2とA3に数が入力されてれば合計した数を減らし
たいです。
411名無しさん@そうだ選挙にいこう:2009/09/15(火) 00:02:23
>410
>合計した数を減らしたいです。 。

どこから減らすの?
A1に入力した値からA2/A3を引くことはVBA使わないと無理。
A1-A2-A3をA4に表示したいというならA4に「=A1-A2-A3」

あとはgoogleででも検索してExcelで四則演算くらいは覚えて
から質問してください。
あとテンプレも使ってください。


ノシ
412名無しさん@そうだ選挙にいこう:2009/09/15(火) 03:38:45
質問です。
自分はエクセル2003までしか使ったことがありません。
エクセル2007の機能について教えて頂きたいです。
エクセル2007では「セル内の文字列の一部を上(下)付き文字にする機能」が追加
されたりしていないでしょうか?
あと、縦に並んだ複数セルに小数点タブを設定できたりしないでしょうか?

これらの機能がエクセル2003にないが為に、現状だと、表形式のデータをワード文書にするという
馬鹿なことをやっています。
413名無しさん@そうだ選挙にいこう:2009/09/15(火) 04:31:38
>>412
2003でもセル中の一部だけ上付き、下付にすることは可能です
サンプル↓
ttp://windyakin.if.land.to/src/up38_1620.png

後者は質問の意味がわかりません。小数点タブとは何だ?
414名無しさん@そうだ選挙にいこう:2009/09/15(火) 06:36:28
>>413
小数点で揃えるってことじゃないかな
>>412
表示形式で小数点第何桁までか指定すれば
415名無しさん@そうだ選挙にいこう:2009/09/15(火) 07:12:26
>>408
>>398>>400のどこで「具体的な例」っていった?
例をあげろなんてひと言も言ってないぞこのうそつき。

結局、エラそーに言ってっても何一つ答えを出さないんじゃねーかよ。

416名無しさん@そうだ選挙にいこう:2009/09/15(火) 07:37:18
>>415
おや?例は具体的じゃないのかい?
君にとって具体的とはどういうことなんだろうね。
417名無しさん@そうだ選挙にいこう:2009/09/15(火) 07:44:15
VBA厨てほんまにあほやったんや。
418名無しさん@そうだ選挙にいこう:2009/09/15(火) 08:59:56
くどいな
419名無しさん@そうだ選挙にいこう:2009/09/15(火) 09:49:36
粘着
420名無しさん@そうだ選挙にいこう:2009/09/15(火) 09:53:10
VBAを馬鹿にしてるやつら、いくらなんでもVBAはバリバリ出来るんだろうな。
出来なくて馬鹿にしてるなら単なる僻みだ。
クロス集計にしてもピボットテーブルだけでいつも解決するわけじゃないからな。
excel2007なら別だが。
421名無しさん@そうだ選挙にいこう:2009/09/15(火) 09:58:24
vba馬鹿にしてねーよ
vbaが好きすぎてちょっとした事にも過剰反応して切れたうえに
粘着するキモいおっさんを馬鹿にしてるだけだから
それを僻みと思えるところが終わってるなあw
422名無しさん@そうだ選挙にいこう:2009/09/15(火) 10:11:31
>>420
VBAをバカにしているわけではないのだがな。

おもしろいからもう一度言っておこう。
VBA厨のダメなところは、コードの良し悪しではない。そこを勘違いするなよ。
繰り返す。いいか?コードの良し悪しなんぞ大したことじゃない。おまえらの抱えている問題はもっと深刻なんだ。 生意気にコーディングなんか語る前にもっとお勉強が必要だよ。

「具体」の意味さえしらないなんて重症だぞ。お前。
423名無しさん@そうだ選挙にいこう:2009/09/15(火) 10:17:22
思い込みも甚だしい奴だな。氏ね。
424名無しさん@そうだ選挙にいこう:2009/09/15(火) 10:53:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 できれば不可
【5 検索キーワード     】 Excel 合計 検索

以下のような元データがあり、

  A    B
1 3    鈴木
2 2    佐藤
3 5    鈴木
4 2    長島
5 1    佐藤
6 :    :

これを、別の場所に人物ごとに回数の数値の合計をまとめたいのです。
下記のように。

鈴木 8
佐藤 3
長島 2

どのような関数を使ったらいいか分からないので
よろしくお願いします。
425名無しさん@そうだ選挙にいこう:2009/09/15(火) 11:00:42
426名無しさん@そうだ選挙にいこう:2009/09/15(火) 11:33:23
>>424
そういう集計はピボットテーブルで一発でできる
427名無しさん@そうだ選挙にいこう:2009/09/15(火) 12:20:53
>>425
ピボットテーブルで
428名無しさん@そうだ選挙にいこう:2009/09/15(火) 12:25:26
>>424 VBA厨がもちろんVBAでつくります はりきってどうぞ↓
429名無しさん@そうだ選挙にいこう:2009/09/15(火) 12:46:03
どうしても関数でやりたいならSUMIF
430名無しさん@そうだ選挙にいこう:2009/09/15(火) 12:58:44
>>422
俺は別にVBA厨じゃねーよ。
それに俺は「具体」なんてどこにも書いてねーよ。
誰と闘ってるんだ?
妄想が激しいから病院逝った方がいいなお前。
431名無しさん@そうだ選挙にいこう:2009/09/15(火) 13:00:44
>>424
ピボットテーブルでできるよ
関数でやりたいならsumifとかかな
432424:2009/09/15(火) 13:01:22
>>426-429
ありがとうございました。
ピボットテーブルは何となく難しそうというイメージがあって
今まで使ったことがなかったのですが、これを機会に勉強してみます。
433名無しさん@そうだ選挙にいこう:2009/09/15(火) 13:06:53
>>431
おまいは書き込む前にリロードしろ
434名無しさん@そうだ選挙にいこう:2009/09/15(火) 13:08:55
基地外>>422が誰と闘ってるかさかのぼって読んでみたら、>>400と勘違いされたみたいだな。
俺も>>400と同じ疑問を持ったが、基地外の意見はスルーだな。
馬鹿にはかまわないが吉。
435名無しさん@そうだ選挙にいこう:2009/09/15(火) 13:19:58
なんかすげーなこの人
436名無しさん@そうだ選挙にいこう:2009/09/15(火) 13:21:20
お前もすごいなW
437名無しさん@そうだ選挙にいこう:2009/09/15(火) 13:23:59
おまいら会って喧嘩しろよ。
何度も書いたけど、喧嘩勝った方が正しんだから。
438名無しさん@そうだ選挙にいこう:2009/09/15(火) 14:03:36
>>434
学生さん?
バイトしたこと無いね。
そういうのは普通中学生で卒業なんだけどな
悪法も法だからなんて寝言いってたら社会じゃ通用しないよ
439名無しさん@そうだ選挙にいこう:2009/09/15(火) 15:00:41
>>436
どこと誤爆してるんだよ。
440名無しさん@そうだ選挙にいこう:2009/09/15(火) 16:29:06
古臭い
441名無しさん@そうだ選挙にいこう:2009/09/15(火) 16:32:40
鰈臭
442名無しさん@そうだ選挙にいこう:2009/09/15(火) 18:14:38
スレが異様に進んでるときの内容、リロードしなくても分かるようになってしまった
どうしてこうなった♪どうしてこうなった♪
443名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:02:49
今日は公開オナニーをみたぜ。
444名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:27:41
>>420

> VBAを馬鹿にしてるやつら、いくらなんでもVBAはバリバリ出来るんだろうな。
> 出来なくて馬鹿にしてるなら単なる僻みだ。

こいつおもしろいな。
VBA厨はきっと
「自分たちの使っているのはすごく難しい技術で、使いこなしてるオレすごい。」
という気持ちが根底にあるのだろうな。
VBAは彼らにとって、ちょっぴり難しい。そのことがちっぽけな自尊心をくすぐるのだろう。

445名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:32:03
そしてVBAは彼らにとって、やはりちょっぴり難しいようだ。
その証拠がこのスレだ。
446名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:51:55
>>424 'VBAで書くよ
・Sheet1にこのように表示させると仮定
列A 列B  列C
番号 A B
1 3 鈴木
2 2 佐藤
3 5 鈴木
4 2 長島
5 1 佐藤

・Sheet2にこのように表示させると仮定
列A 列B  列C
番号 B A
1 佐藤 3
2 鈴木 8
3 長島 2
447名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:52:35
>>446 'つづき
'標準モジュールに以下を貼り付け
Sub 集計値取得()
Dim WS1_Name As String, WS2_Name As String
Dim WS1 As Worksheet, WS2 As Worksheet
Dim ValRow As Long, LstRow As Long, TmpVal As Long, MyVal As String, h As Long, i As Long, j As Long
Dim maxval As Variant, x As Variant
WS1_Name = "Sheet1"
WS2_Name = "Sheet2"
Set WS1 = Worksheets(WS1_Name)
Set WS2 = Worksheets(WS2_Name)
With WS2
ValRow = WS1.Range("$A$65536").End(xlUp).Row
LstRow = .Range("$B$65536").End(xlUp).Row
i = 1
For h = 2 To LstRow
MyVal = .Cells(2, 2).Value
.Cells(h, 1).Value = i
.Cells(2, 2).Value = .Cells(h, 2).Value
.Cells(h, 4).Formula = "=DSUM(Sheet1!$B$1:$C$" & ValRow & ",1,(B1:B2))"
.Cells(h, 3).Value = .Cells(h, 4).Value
.Cells(h, 4).Value = ""
.Cells(2, 2).Value = MyVal
i = i + 1
Next h
End With
End Sub
448名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:53:16
>>446 'つづき
Sub リスト作成()
Dim WS1_Name As String, WS2_Name As String
Dim WS1 As Worksheet, WS2 As Worksheet
Dim ValRow As Long, LstRow As Long
WS1_Name = "Sheet1"
WS2_Name = "Sheet2"
Set WS1 = Worksheets(WS1_Name)
Set WS2 = Worksheets(WS2_Name)
Application.ScreenUpdating = False
With WS1
ValRow = .Range("$A$65536").End(xlUp).Row
LstRow = WS2.Range("$B$65536").End(xlUp).Row
With WS2
.Cells(1, 2).Value = "B"
.Cells(1, 3).Value = "A"
.Range("A2:C" & LstRow).ClearContents
End With
.Range("C1:" & "C" & ValRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=WS2.Range("B1"), Unique:=True
WS2.Columns("B:B").Sort Key1:=WS2.Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
End With
Call 集計値取得
Application.ScreenUpdating = True
End Sub
449名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:53:57
>>446 'つづき
'Sheet1の変更時イベントに以下を貼り付け
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WS1_Name As String
Dim WS1 As Worksheet
Dim LstRow As Long
Dim h As Long
WS1_Name = "Sheet1"
Set WS1 = Worksheets(WS1_Name)
With WS1
LstRow = .Range("$A$65536").End(xlUp).Row
For h = 1 To LstRow + 1
With ActiveCell
If .Row <= h And .Column <= 3 Then
Call リスト作成
End If
End With
Next
End With
End Sub
450名無しさん@そうだ選挙にいこう:2009/09/15(火) 20:54:29
VBAなんてちっとも難しくないよな。
そりゃ極めようと思えば底なしだけどさ。
451名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:01:20
>446
>WS□_Name = "Sheet□"
>Set WS□ = Worksheets(WS□_Name)
>With WS□

お前はWS□をどうしたいんだ?
とりあえずWithの使い方をもっと勉強しなさい。
452名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:04:09
ピボットテーブルの偉大さがあらためて思い知らされる素晴らしいサンプルだな
453名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:06:55
>>452
まったく同感だ。
454名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:08:25
>>451
そして厨どうしでコードの品評会。
ギャグか?
455名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:26:34
>>451
これはそれほどひどくはないんじゃね?
With Worksheets("Sheet□")だと実行時バインドで入力候補出ないしさ。

ただ前みたのはひどかった。
WS□_Name = ActiveSheet.Name
Set WS□ = Worksheets(WS□_Name)
With WS□

これは
Set WS□ = ActiveSheet
With WS□
とした方がいいけどさ。
With ActiveSheetは実行時バインドだ。
456名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:28:16
>>450
VBAは極めてもあんまり意味ないよなぁ
マクロの記録、改変ができればとんでもなく便利だが、その先がイマイチ
さすがにloopやifは覚えといた方がいいけど
457>>446:2009/09/15(火) 21:32:01
>>455
ご指摘ありがとうございます。
458名無しさん@そうだ選挙にいこう:2009/09/15(火) 21:42:57
>>457
分ってくれたか。まぁがんがれ。
アルゴリズムも勉強した方がいいと思うけどな。
アルゴリズムをすっ飛ばしてピボットやらクエリでも生きてはいけるけどね。
459412:2009/09/15(火) 21:59:12
>>413
上付き、下付き文字の件は失礼しました。情けない質問をしてしまいました。

もうひとつの質問の小数点桁タブ(>>412では小数点タブと略して書いてました)についてですが、
>>414
ワードだと、たとえば[100, 50, 0.4, 0]に小数点桁タブを設定すると、
(等幅フォントでご覧下さい)
100
50
0.4
0
となりますけど、これと同じ表示をエクセルの書式でほんとに可能でしょうか?
せいぜい頑張っても、
(等幅フォントでご覧下さい)
100.0
50.0
0.4
0.0
これくらいしかできないんじゃないでしょうか?
条件付き書式で可能でしょうか?
460名無しさん@そうだ選挙にいこう:2009/09/15(火) 22:00:40
文字列関数で後ろに半角スペースつけて調整すればいいんだよ
461名無しさん@そうだ選挙にいこう:2009/09/15(火) 22:09:14
>>459
条件付き書式で桁を揃えて小数点を消すのは2007なら可能
ただし、そのものズバリの機能が追加されたわけじゃないからちょっと工夫が必要
でも2003でも作業列を使ったりVBAを使ったりすれば同じことはデキルヨ
462412:2009/09/15(火) 22:10:52
>>459
すみません。(等幅フォントでご覧下さい)と書いたけど無駄でした。
レス投稿時に行頭のスペースは自動的に削除されてしまうんですね。
投稿前の元々の状態では
100は左にスペース0個
50は左にスペース1個
0.4と0は左にスペース2個
です。
463412:2009/09/15(火) 22:21:03
>>460,461
VBAとか作業列とか文字列関数とかだと
見えるセルの値にスペースが追加されてしまうわけで、
出来る限り避けたいです。
でもエクセル2007だと望む表現ができるようですね。
みなさんありがとうございました。
464名無しさん@そうだ選挙にいこう:2009/09/15(火) 22:25:32
>>459
"Excel 2ch 桁揃え"でぐぐってみろ。
VBA厨に絡まれて大変だったよ。
465名無しさん@そうだ選挙にいこう:2009/09/15(火) 22:58:00
>>463
VBAでやる場合は文字列をいじるんじゃなくてセルの書式を数値に応じて1つずつ変更する
そうすれば余分なスペースは追加されない
466412:2009/09/16(水) 00:05:50
>>465
そうですね。VBAだとそれが可能ですね
467名無しさん@そうだ選挙にいこう:2009/09/16(水) 03:39:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 方法が無いのでしたらがんばってみます
【5 検索キーワード     】エクセル 座標 方眼紙 offset LOOKUP を組み合わせて
  A
1 -10,8
2 -8,8
3 5,0
4 0,0
5 12,2
  :
以上のような座標データがあって、方眼紙状にした別シートに
この座標を色つき枠で囲ったりセルを塗りつぶしたりしたいのですが
どのような方法を用いたらよろしいでしょうか、ご教授お願いいたします
468名無しさん@そうだ選挙にいこう:2009/09/16(水) 07:16:34
>>467
VBAでなら思いつく。関数他では分からん。
一つ頂点を決めて三角形に分ける。この場合は三つ。
そしてその三角形の内側に当るところのセルを塗りつぶすわけだが、
行の高さや列幅、座標がどういう風になってるか分からないと答えようが無い

何をしたいのか見当も付かないけど、素直にグラフ作るか、他の方法を考えてみては?


469名無しさん@そうだ選挙にいこう:2009/09/16(水) 08:07:37
>>467
算数+条件付書式
470名無しさん@そうだ選挙にいこう:2009/09/16(水) 08:08:59
補足

やろうとしていることが間違ってる。
471名無しさん@そうだ選挙にいこう:2009/09/16(水) 08:46:17
>>467ではありませんが、
>>469
具体的にどうやればいいんでしょうか?
「算数」の部分が分かりません。
純粋にこの問題の解き方を知識として知りたいので、>>470はナシでお願いします。
座標はY軸を9行目が-1、10行目が0、11行目が1、12行目が2・・
X軸はI列が-1、J列が0、K列が1、L列が2・・
という前提でお願いしたいのですが、座標軸の開始位置などは変わってもかまいません
(解き方を知りたいだけですので)
宜しくお願いします。
472名無しさん@そうだ選挙にいこう:2009/09/16(水) 09:48:07
>>471

方眼紙(w)状の1セルの重みに応じて結果を条件付書式で参照する。

-10.8が何セル目に相当するかは普通に算数で計算すればいい。
仮に該当セルが結果を0/1で返すならがそれを条件付書式の条件にすればいい。


くだらねぇ〜
473名無しさん@そうだ選挙にいこう:2009/09/16(水) 10:38:31
>>471
小数点以下はどう解釈するの?
セル単位じゃなくて中途半端な場所に色を付けたりしたいんなら
VBAでオートシェイプを並べるしかないよ

それから平面座標は数値が2つずつ必要なんだけど、
1列目=X 、2列目=Yなの?
説明が足りなさすぎ
474名無しさん@そうだ選挙にいこう:2009/09/16(水) 10:39:56
>>472
無理だろ
475名無しさん@そうだ選挙にいこう:2009/09/16(水) 11:14:53
>>474
算数が出来ない、もしくは頭が非常に固い子
476名無しさん@そうだ選挙にいこう:2009/09/16(水) 12:18:30
>>473
-10,8とあればどっちかがXでどっちかがYだろ
わかんないならだまってればいいのに
477名無しさん@そうだ選挙にいこう:2009/09/16(水) 14:24:49
>>473

> 小数点以下はどう解釈するの?
> セル単位じゃなくて中途半端な場所に色を付けたりしたいんなら
> VBAでオートシェイプを並べるしかないよ

お前正気か?
大学で線形代数取らなかったのか?
478名無しさん@そうだ選挙にいこう:2009/09/16(水) 14:32:00
>>473

デジカメで撮った写真はどうやってパソコンのディスプレイに表示していると思っている?
アナログをデジタルに変換できないようなやつは回答者面しないでくださいね。
479名無しさん@そうだ選挙にいこう:2009/09/16(水) 15:02:10
エクセルすげえええええええええええええええええええええええええええ
考えた奴神!!!神すぎる!!!!!便利ってレベルじゃねえええええええええええええ
関数まじやべえええええええええええええええええええええ
480471:2009/09/16(水) 17:46:51
あの・・本当に分からないので数式お願いします。
481名無しさん@そうだ選挙にいこう:2009/09/16(水) 18:12:36
無能ってプライド高い割に何も出来ないからな
あんまりいじめてやるなよ、第二の加藤になるぞ
482名無しさん@そうだ選挙にいこう:2009/09/16(水) 18:25:39
>>480

Y=-10.8の時に塗りつぶしセルの条件付書式を
セルの値が/次の値に等しい/-10.8 と設定して
そのセルの数式を=B1にする。
483名無しさん@そうだ選挙にいこう:2009/09/16(水) 18:58:17
チィチィパッパが、せいぞろい( ´,_ゝ`)プッ
484名無しさん@そうだ選挙にいこう:2009/09/16(水) 18:59:56
>471,480
簡単にやってみました。(WindowsXp Excel2003)
条件として、座標はx、yとも0〜15の整数値、データと「方眼紙」は同じシート
にしています。(条件付書式の制限のため)
x(横方向)はA列、y(縦方向)はB列、「方眼紙」はE2:T17の範囲とします。
E1:T1は0〜15の目盛り、D2:D17も0〜15の目盛りとします。
※E2が0,0、T17が15,15の座標とします。

C1に計算式 =A1*100+B1 を設定してC列(座標データのある行まで)にコピーします。
E2:T17を選択して条件付書式として
数式 に =MATCH((COLUMN()-5)*100+(ROW()-2),$C$1:$C$256,0)
※$C$1:$C$256の部分はC列の計算式を設定した範囲にしてください。
書式 に セルの塗りつぶし を設定すると、座標に応じた位置のセルが塗りつぶしされます。

座標値に小数点がある場合はINT,ROUNDなどで調整します。
=(ROUND(A1,0)*100+ROUND(B1,0)など
座標にマイナス値があったり、y値を下の方が0やマイナスにするのであれば、C列の計算式を
工夫します。
=(A1+8)*100+(15-B1)
は、x座標が−8〜7で、y座標は0〜15かつ目盛りは下(17行目)が0で上(2行目)が15
になります。
485名無しさん@そうだ選挙にいこう:2009/09/16(水) 19:02:13
>>482
全ての条件でそれを設定するつもりか?
486484:2009/09/16(水) 19:03:13
ちょっと訂正 下から6行目の
=(ROUND(A1,0)*100+ROUND(B1,0)など

=ROUND(A1,0)*100+ROUND(B1,0)など
です。
487名無しさん@そうだ選挙にいこう:2009/09/16(水) 19:09:05
>>485

シラネーヨw

1セルの重みに合わせて範囲にする、あるいは作業セル
可ならどっかのセルで整数化して条件付書式のrow()と
組み合わせようがいくらでも適応できるだろ。
488名無しさん@そうだ選挙にいこう:2009/09/16(水) 19:30:46
VBA厨の俺はVBAでやるぜ
Sheet1 座標データ
Sheet2 塗りつぶす方眼シート
J10 原点のセル

Sub aaa()
  On Error Resume Next
  For Each c In Worksheets("Sheet1").UsedRange.Columns(1).Cells
    Worksheets("Sheet2").Range("J10").Offset(-Split(c, ",")(1), Split(c, ",")(0)).Interior.Color = vbRed
  Next
  On Error GoTo 0
End Sub
489名無しさん@そうだ選挙にいこう:2009/09/16(水) 19:52:57
関数じゃできないとか、少数はオートシェイプとか言ってる低学年もいるようだが、ただの線形変換に何を大騒ぎしているのか。バカか?
ただ、この問題(方眼紙セルへのデータプロット)にVBAを使ってもバカとは思わない。集計におけるピボットテーブルのように強力なツールが存在しないからな。

それよりもExcelでこんなことすること自体があほ。
490名無しさん@そうだ選挙にいこう:2009/09/16(水) 20:05:26
>>488
それで動けば最高なんだがな...
491名無しさん@そうだ選挙にいこう:2009/09/16(水) 20:10:07
まあExcelでやるなら普通は散布図にするわな
どうしてワークシートを塗りつぶす必要があるんだろう
492>>490:2009/09/16(水) 20:17:57
>>467
  A
1 -10,8
2 -8,8
3 5,0
4 0,0
5 12,2

なら、

Sub aaa()
On Error Resume Next
For Each c In Worksheets("Sheet1").UsedRange.Columns(2).Cells
Worksheets("Sheet2").Range("J10").Offset(-Split(c, ",")(1), Split(c, ",")(0)).Interior.Color = vbRed
Debug.Print Split(c, ",")(0)
Debug.Print Split(c, ",")(1)
Next
On Error GoTo 0
End Sub
493467:2009/09/16(水) 21:09:43
皆さん色々ありがとうございます、本来エクセルを使ってやるようなことではないのですね申し訳ないです
484さんの方法と488さん,492さんのVBAを用いた方法で挑戦してみます、ありがとうございました
494名無しさん@そうだ選挙にいこう:2009/09/16(水) 21:09:47
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数 重複 除外

項目
x
y
x
a
b
a
c

このようなデータから重複をカットして
項目
x
y
a
b
c
と取り出すにはどうしたらいいですか?
フィルターオプションで出来るのは知ってますが、関数でやりたいです。
検索しても希望に合うものがありませんでした。
495名無しさん@そうだ選挙にいこう:2009/09/16(水) 21:27:31
関数でできるならフィルターオプションに重複除去なんて機能はいらんのだよ
496名無しさん@そうだ選挙にいこう:2009/09/16(水) 21:49:25
>>494
COUNTIFでそれぞれの行より上に同じ物があるかどうかチェック
上に詰める方法は知らん
497名無しさん@そうだ選挙にいこう:2009/09/16(水) 22:43:55
>>494
関数だけでは実用的な方法はない。
関数オンリーじゃなく並び替え可ならなんとか関数でも使える方法がないこともないが、それじゃ最初からピボットの方が楽だわな。
498名無しさん@そうだ選挙にいこう:2009/09/16(水) 22:49:22
>494
こういう方法はいかが?
条件:元データはA1から始まっているものとする
   作業列をB、C列につかう
   取り出し先をE1からとする

B1セルには 1 を入力
B2セルには =IF(COUNTIF($A$1:A1,A2)>0,0,1) を入力して以下ドラッグコピー
C1セルには 1 を入力
C2セルには =B2*(SUM($B$1:B2)) を入力して以下ドラッグコピー
E1セルには =LOOKUP(ROW(),$C$1:$C$100,$A$1:$A$100) を入力して以下ドラッグコピー
注)$100の部分は実際の元データの最終行位置を指定してください

これで、B列には重複していないデータのセルなら1、重複(既出)セルなら0が表示され、
C列には重複していないセルのみ一連番号が、重複(既出)セルなら0が表示されます。
E列は当該行番号と同じ値をC列からさがし、A列のデータを表示します。
お断り:手元にExcelがなく、OOoでやってみたので関数のパラメータ順など異なっているかもしれません。
499名無しさん@そうだ選挙にいこう:2009/09/16(水) 22:53:17
>>497
実用的じゃない方法ってあるの?
500名無しさん@そうだ選挙にいこう:2009/09/16(水) 22:59:41
>>499
うん、たとえば>>498とかね。
COUNTIFやSUMをフィルコピーは実用的じゃないからね。
501名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:00:15
>>498は実用的な方法だと思うけど
502名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:04:42
そもそも>>498はCOUNTIFやSUMはおいといて、答がでるのか?
503名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:05:24
>>501
COUNTIFやSUMをフィルコピーしたらいかんだろ?
504名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:10:46
>503
範囲の始端は$1で絶対指定、終端は自分自身の行位置(B列はひとつ上の行)なので、これでいいのでは?
505501:2009/09/16(水) 23:12:02
>>498できねーじゃねーか・・・だから関数厨がバカにされるんだよ
E1=INDEX(A:A,MATCH(ROW(),C:C,0),1)
でオートフィル
まぁ、あくまで回答者が「関数で重複削除」を希望したからこたえるんだぞ。
重複削除に関数が適してるといってるわけじゃないぞと言って置く
>>502
出ません。代わりに謝罪します、申し訳ございませんでした
>>503
そうか?俺は問題解決するなら何でもいい派だぜ
仕事が嫌いだからな
506名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:12:27
Excelはピボットテーブルレポートを使うためのソフトだということをもっと知って欲しいね。
このスレの質問もほとんどがピボットで解決できるからな。

入門書やパソコン教室はカリキュラムの順番を間違っている。
関数よりも先にピボットを教えるべきなんだ。
507名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:14:34
LOOKUPはC列が昇り順じゃなきゃいけないのに昇り順になってないから>>498では答がでるわけねーな。
C2を=IF(B2,SUM($B$1:B2),"")とすりゃ答を出せないこともないが実用的じゃない。
508名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:16:10
>>504
君は分ってないね。
509名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:17:16
>>506
さすがにそれは無いけどwピボットはもう少し知名度上げた方がいいよなぁ
ただその前にデータの正規化の概念知らないと使えないというのも大きいかも
510名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:18:45
>>506
出たねw
511名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:41:09
>>506
ピボットだけで大丈夫?
VLOOKUPは?
512名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:48:12
>>511
そうそう。それも必要。
後は文字列操作や日付関係の関数を補助的に使えば便利。
513名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:56:41
で、書式設定や罫線も覚えて・・・
って全部じゃね?じゃね?
514名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:57:52
Excel2003とOOo、両方持っている自分が試してみました。
LOOKUPは働きが異なるようですね。
Excelで動くようにするためにE列の式はこのようになります。
=INDEX(A:A,MATCH(ROW(),C$1:C$100,0))
でいいようです。ただし、後の方には 0 がずらりとならびます。ゼロ非表示にしておくといいかも。
515名無しさん@そうだ選挙にいこう:2009/09/16(水) 23:59:02
>>513
覚えなくていいものもある。
SUMIF
COUNTIF
配列数式
VBA
516名無しさん@そうだ選挙にいこう:2009/09/17(木) 00:09:59
VBAは覚えた方がいいでしょ
マクロの記録と改変できれば作業効率が別次元で上がる
突っ込まれるから先に言っておくとVBAで集計は×ね(これ言ってる人ネタでしょうけど)
517名無しさん@そうだ選挙にいこう:2009/09/17(木) 00:13:47
>>513
ソルバーも覚えておくといい
本当にめったに使わないけど、知っておくと便利な時は便利。代用できる機能もほとんどない
使わない人は一生使わないんだけどね
知っておいて損は無いよ
518名無しさん@そうだ選挙にいこう:2009/09/17(木) 00:21:47
Excelを上達する上で、一番必要なスキルは余分な仕事を頼まれたときに
どうやって断るか、だ。
VBAを使えばどんなことでもやろうと思えばできちゃうけど、たとえば
ワークシートを方眼紙にするなんてやりたくない。
でもできないと思われるのはくやしい。

さあどうする?
519名無しさん@そうだ選挙にいこう:2009/09/17(木) 00:38:16
>>518
その通りだな。普段からまわりを教育しておくことが大事だ。
俺はこういうの嫌がるぞオーラを常に出しておかないと
つまらない仕事ばかりふられてしまう。
ワープロの代打ちとかな。
入社すぐのころ、手書きの原稿をワープロで清書させられた時は
こいつリストラされろと本気で願ったよ。
520名無しさん@そうだ選挙にいこう:2009/09/17(木) 00:44:26
>>517

質問>>47に対して
>>48
>>52
>>53
>>55
>>60
>>62
>>63
>>67

こいつら全員ソルバー知らない連中だね。
521名無しさん@そうだ選挙にいこう:2009/09/17(木) 01:08:51
>>494
上の回答と似たようなものだが

B1に =IF(COUNTIF($A$1:A1,A1)=1,ROW())
これを下にドラッグコピー
C1に =INDEX(A:A,MATCH(SMALL(B:B,ROW()),B:B,0))
これを下にコピー

B列は初出なら自分の行番号を、C列はそれを数字の小さい順に拾って、A列のその行番号の文字を表示
522名無しさん@そうだ選挙にいこう:2009/09/17(木) 07:12:04
>>521
全然駄目、SMALLを使った回答はとくに駄目だ。
523名無しさん@そうだ選挙にいこう:2009/09/17(木) 07:15:06
つまり関数だとこんだけ面倒くさいってことを実証するスレですね
524名無しさん@そうだ選挙にいこう:2009/09/17(木) 07:43:54
>>520
ソルバーを使う機会って本当に少ないからなぁ
非難するようなことでもないんじゃない?俺もこのスレで始めて知ったけど、回答以外で遣ったこと無いよ
>>523
オートフィルタ・ピボットだと手間は少ないが更新されない。動作は軽い
関数だと手間はかかるが一度入れれば更新され続ける。動作は一番重い
VBAだと非常に手間がかかるが好きなように出来る。腕次第だが基本的に軽い

好みとしか
525名無しさん@そうだ選挙にいこう:2009/09/17(木) 07:52:39
なんか全然だめとか言うやついじめすぎだよ。
作業列なしの配列数式じゃないんだから、そんなにひどくないじゃん。
500行くらいなら使えるんじゃね?
526名無しさん@そうだ選挙にいこう:2009/09/17(木) 08:06:29
>>514
>>498がOOoで動くのなら、の開発者はExcelのLOOKUPのアルゴリズムが分ってないということだな。
上から順に舐めて検索してるんだな。
527名無しさん@そうだ選挙にいこう:2009/09/17(木) 08:07:20
「の」が余計だった。
528名無しさん@そうだ選挙にいこう:2009/09/17(木) 08:32:56
>>524

>ソルバーを使う機会って本当に少ないからなぁ
>非難するようなことでもいんじゃない?

ソルバーは知らなくてもいいけど、やりたいことが明確に書かれた質問>>47に対して、質問者をバカにしたような回答者が多い。
こいつらが無知なのにな。
529名無しさん@そうだ選挙にいこう:2009/09/17(木) 08:39:10
>>518
同感。
>>498みたいなのを関数で作ってくれときいてきたら、「出来るけど作ってやんないよ」が正しい対応だな。
とくに配列数式で作ってやるやつは早く引退した方がいいぜ。
害悪を垂れ流してるだけだから。
530名無しさん@そうだ選挙にいこう:2009/09/17(木) 08:43:26
そんなこと書くと>>344が歯ぎしりするな。
531名無しさん@そうだ選挙にいこう:2009/09/17(木) 08:52:57
>普段からまわりを教育しておくことが大事だ。
これって・・
532名無しさん@そうだ選挙にいこう:2009/09/17(木) 09:50:08
まわりを教育するって大事だな。
たとえば結合セルは自己責任だから人に聞いてくるなってね。
533名無しさん@そうだ選挙にいこう:2009/09/17(木) 11:04:13
XPでExcel2000です。

セルに日付をいれておいて、そのセルの日付から今日までが何日か表示できる数式はありますか?
534名無しさん@そうだ選挙にいこう:2009/09/17(木) 12:17:18
引き算
535名無しさん@そうだ選挙にいこう:2009/09/17(木) 12:47:49
>>533
DATADIF関数とNOW関数
>>534
は間違い
536名無しさん@そうだ選挙にいこう:2009/09/17(木) 12:49:04
×DATADIF
○DATEDIF
537名無しさん@そうだ選挙にいこう:2009/09/17(木) 13:58:39
>>535
わざわざDDATIDIF使うのかよ。
お前はアホだな。
>>534がよりベターな解だ。
538名無しさん@そうだ選挙にいこう:2009/09/17(木) 14:02:18
補足するTODAY()と日付を入れたセルとの引き算な。
NOW()ではない。
539名無しさん@そうだ選挙にいこう:2009/09/17(木) 14:10:47
>>535はTODAY()を知らなかったんじゃね?

=TODAY()-A1
=DATEDIF(A1,TODAY(),"Y")
同じ答えだから前者がいいに決まってるわ。

NOW()しか知らないのでDATEDIFじゃないとまずいと思った可能性が大だな。
=NOW()-A1
=DATEDIF(A1,NOW(),"Y")
これは答が違うもんな。
540名無しさん@そうだ選挙にいこう:2009/09/17(木) 14:14:04
すまん"Y"じゃなくて"D"だったわ
541名無しさん@そうだ選挙にいこう:2009/09/17(木) 14:20:10
535だが正直すまんかった。534に謝る。
ごめん。
542名無しさん@そうだ選挙にいこう:2009/09/17(木) 15:03:39
全員落着けwww
543名無しさん@そうだ選挙にいこう:2009/09/17(木) 15:18:53
まぁ、いいんジャマイカ?
各人の考えから、最善のものを導けば。
互いに切磋琢磨ってことですね。
全員が100%のことを知っている訳じゃないから。
544名無しさん@そうだ選挙にいこう:2009/09/17(木) 15:43:40
正解の人にむけて間違いはまずいよなぁ。
謝ったからいいけどね。
545名無しさん@そうだ選挙にいこう:2009/09/17(木) 16:24:35
excel2007、OS=XPで、セルに色をつける作業で困っています。

次のルールで色をつけたいです。
A列 → 上から降順に数字が並んでいるので、同じ行のB列(要は隣のセル)に、B列最大の数字が出てくるひとつ前までグレーに
B列 → B列最大の数字から降順で、同じ行のC列で、C列最大の数字が出てくる一つ前の行までグレーに

文章で説明しづらいのですが・・・

A B C
1 0.844 0.101 0.133
2 0.823 0.132 0.089
3 0.820 0.080 0.048
4 0.811 0.107 0.166
5 0.224 0.737 0.129
6 0.236 0.690 0.125
7 0.216 0.661 0.211
8 0.200 0.658 0.113
9 0.151 0.118 0.682
10 0.054 0.120 0.665


上記のような並びで、A列はA1〜A4、B列はB5〜B8、C列はC9〜C10
をそれぞれ色をつけていきます。
120行×25列くらいのものが、30シートくらいあります。

関数や条件付き書式をつかって、効率よく塗りつぶしていく方法はありませんか?
(VBAは不慣れです)
目で見て手作業でやっているのですが途方に暮れてきました。
ちなみに、SPSSから出力した因子分析結果の表になります。
546名無しさん@そうだ選挙にいこう:2009/09/17(木) 16:33:55
>>545
全て条件付書式、「数式が」で式にはそれぞれ入れて下までオートフィル
A1=NOT(COUNTIF($B$1:B1,MAX(B:B)))
B1=COUNTIF($B$1:B1,MAX(B:B))*NOT(COUNTIF($B$1:C1,MAX(C:C)))
C1=COUNTIF($C$1:C1,MAX(C:C))
547名無しさん@そうだ選挙にいこう:2009/09/17(木) 18:25:50
>>546
ありがとうございます。
その式を上から順に条件1、2、3に設定して、全セルに適用するってことですよね?
やってみたのですが色がつかないです。。
548名無しさん@そうだ選挙にいこう:2009/09/17(木) 18:37:32
C列にはどういう条件で色つけるのか書いてないのに
どうして回答できてるんだろ……
549名無しさん@そうだ選挙にいこう:2009/09/17(木) 18:54:01
>>548
所謂、”えすぱー”ってやつじゃね?
550名無しさん@そうだ選挙にいこう:2009/09/17(木) 19:25:06
>>547
A列には一番上、B列には2番目、C列には3番目をそれぞれ適用する。
で、A1=〜って書いてあるけど、条件付書式に設定するのは=以降の部分ね。
で、C列の条件が、Cに最大値が出てきて以降全て色つくことになるけどそれでいいのかな?
あと>>546のB1=〜のNOTのところはNOT(COUNTIF($C$1:C1,MAX(C:C))) でいいと思うけどね。
自分は>>546じゃないので変なこと書いてたら>>546さん訂正よろしく。
551名無しさん@そうだ選挙にいこう:2009/09/17(木) 19:27:38
C列は分らないのでA列とB列なら下の方が軽い。

A1 数式が =ROW(A1)<MATCH(MAX(B:B),B:B,0)
B1 数式が =IF(ROW()>=MATCH(MAX(B:B),B:B,0),ROW()<MATCH(MAX(C:C),C:C,0))

これは簡易版の数式だ。
正確にはMATCH(MAX(B:B),B:B,0)とかMATCH(MAX(C:C),C:C,0)とかは作業セルで計算させてそこを参照させた方が良い。
120行×25列の30シートならなおさらだ。
何度も同じ計算をさせちゃいかん。
552名無しさん@そうだ選挙にいこう:2009/09/17(木) 19:29:43
なんか一貫性がなかったな。
間違いじゃないけど最初のは一貫性をもたせて=ROW()<MATCH(MAX(B:B),B:B,0)とでもしてくれ。
553名無しさん@そうだ選挙にいこう:2009/09/17(木) 19:30:06
>>458

> アルゴリズムも勉強した方がいいと思うけどな。

学生ならね。
そもそも学生がExcel使うなんて手抜きはけしからんと思う。
プログラミングなんてだいたい中学生くらいが夢中になって寝食忘れて没頭するもんだ。

本業を抱えた社会人がソートだの、集計だのいちいち書いていられるかよ。
この中のいったい何人がピボットやSQLより優れたツールを自作できる?
554名無しさん@そうだ選挙にいこう:2009/09/17(木) 20:48:53
>>545だけど何みんなまじめに答えてんのよ。
555名無しさん@そうだ選挙にいこう:2009/09/17(木) 21:42:50
>>553
何を今頃。
>>446-449がループ回しながらDSUMで各アイテムの合計を出してたから書いたまでだよ。
アルゴリズムを勉強した人ならソートしてブレイクするまで合計するだろ?
ソートも書けるにこしたことないけど、仮に書けなくてもExcelの並び替え使って同じことやればいいからね。
ピボットなんかは昔はよく制限で引っ掛かってたからみんなそうやってただろ?
10年前はDictionaryなんて知ってる人少なかったしね。
俺はもちろん知らなかった。
556名無しさん@そうだ選挙にいこう:2009/09/17(木) 21:59:58
俺は中学生からプログラミングやってたんだぞ!すごいだろ?
ってかw
557名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:09:58
>>556
普通だろ。
558名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:12:06
そりゃキモい根暗オタク君にとっては普通なんかもしれねーけどwwww
559名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:19:23
おれなんかPC-8001でアセンブラ書いてたけど
VBAよりピボットだなw
560名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:19:37
>>558
質問者に対して「VBAくらい覚えとけ。」とかほざいてたくせに、自分がかなわない相手はオタク呼ばわりか。
561名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:21:55
>>559
もう二度と「キャリーフラグが立ったら…」とかやりたくないよね。
VBAでループ書くのも面倒。やりたいことをコンピュータがやってくれるべき。
562名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:23:28
>>560
いや、それ俺じゃねーし
563名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:24:23
ということにしたいのですね?
564名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:33:02
なぜわかったし
565名無しさん@そうだ選挙にいこう:2009/09/17(木) 22:40:55
VBA厨は私らが中学生の時夢中でやってたことを今やってる。
自分も通った道だから気持ちはわかる。
566名無しさん@そうだ選挙にいこう:2009/09/17(木) 23:04:40
>>548
とりあえず定時条件通りに書いただけ。そうじゃないならB列をテキトーに改変すりゃすぐできるから
頭の回る回答者なら改変できるかなーと思った
反省?D列以降があるなら質問者がするべきだね
>>550
ちょ、ちょっとまって!よろしくしないでwww
9分で答えた計算式だから最適化されると絶対に負ける。
>>556
俺が最初にプログラミングしたのは20超えてからだな。それ以前はさわる機会が無かった
567名無しさん@そうだ選挙にいこう:2009/09/17(木) 23:15:43
9分もかかったのかよw
568名無しさん@そうだ選挙にいこう:2009/09/17(木) 23:45:32
速度は十分だと思うが?
時間帯は・・
569名無しさん@そうだ選挙にいこう:2009/09/18(金) 00:19:45
C列より右もあるならB列の条件付き書式と同じでいいんじゃないの?
570名無しさん@そうだ選挙にいこう:2009/09/18(金) 00:30:31
>>566
9分で考えた式でも=NOT(COUNTIF($B$1:B1,MAX(B:B)))はひどすぎるな。
何でMATCHがぱっと出てこないか不思議だ。
571名無しさん@そうだ選挙にいこう:2009/09/18(金) 01:14:52
>>570
まぁまぁ。
作業セル使わなければ俺の=ROW(A1)<MATCH(MAX(B:B),B:B,0)よりは軽いよきっと。
作業セル使うなら>>546のMAX(B:B)を作業セル、俺のMATCH(MAX(B:B),B:B,0)を作業セルに入れればもちろん俺のが軽い。
572名無しさん@そうだ選挙にいこう:2009/09/18(金) 02:19:26
んな、どうでもいいがな。
573名無しさん@そうだ選挙にいこう:2009/09/18(金) 08:26:56
まぁ初心者ならあんなもんでしょ
574名無しさん@そうだ選挙にいこう:2009/09/18(金) 09:39:22
>>545です。
昨日はそのまま帰宅してしまって失礼しました。
また、C列以降の設定を確かに書き洩れていましたね。すみません。
A列、B列と同様の設定を、C列以降も繰り返し行うという条件です。
手作業でかなり進めましたが、ぱっと見、A列から右下方向に、階段状に網掛けセルがならぶ感じになります。


 ■
  ■
   ■

こんな感じです。
今日、時間を見て皆さんの教えてくださった数式を当てはめて試行錯誤してみます。
取り急ぎ、お礼とお詫びまで。ありがとうございました。
575名無しさん@そうだ選挙にいこう:2009/09/18(金) 09:53:59
>>574
試行錯誤も何もB列の書式をC以降にコピーすればできるよ
コピー、貼り付けで「書式」を選べばいい
576名無しさん@そうだ選挙にいこう:2009/09/18(金) 11:11:02
刷毛アイコン
577名無しさん@そうだ選挙にいこう:2009/09/18(金) 12:23:43
>>571
違うと思うな。
作業セル使わない場合でも、計算量だけ考えると>>546は色をつけるセルまでの計算量は少ないが、色のついてないセルの計算量は多いから>>546が軽いということはないね。
それにB1の条件付き書式は*の左と右の両方を評価してるし明らかに無駄だし。
それにNOT使って変に凝りすぎて嫌味だよ。
A1 =COUNTIF($B$1:B1,MAX(B:B))=0
とするのが親切ってもんだぜ。
578名無しさん@そうだ選挙にいこう:2009/09/18(金) 12:37:18
>>577
notが嫌味ってw
あれ単純に真偽を間違えただけだよ。
作り直すのがめんどくさかったからnotに入れただけ
579名無しさん@そうだ選挙にいこう:2009/09/18(金) 15:25:04
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 新規 フアイル エクセル など
新規で作ったエクセルファイルの様式を変えるにはどうすればいいんでしょうか?
580名無しさん@そうだ選挙にいこう:2009/09/18(金) 15:30:40
私は、ここからあそこに行きたいのですが、
どういけばいいですか?
581名無しさん@そうだ選挙にいこう:2009/09/18(金) 15:31:21
JRでお願いします。
582名無しさん@そうだ選挙にいこう:2009/09/18(金) 15:49:40
>>579
テンプレート でぐぐれ
583名無しさん@そうだ選挙にいこう:2009/09/18(金) 16:16:52
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel VB 画像
Excel上に図面画像を乗せてさらにその上に写真を乗せたいのですが、やり方が判りません。
理想としては、図面上のマークをクリックしたら同シート上で画像が開くような感じです。
グーグルマップのような?表示方法です。やはり難しいんでしょうか。
584名無しさん@そうだ選挙にいこう:2009/09/18(金) 19:42:52
VBAの機能なんだけどVBで検索してVBA付加とはこれいかに
VBA以外で手軽なのはハイパーリンクの設定だけどこれじゃダメかな
585名無しさん@そうだ選挙にいこう:2009/09/18(金) 19:43:35
同シートじゃないけどね。標準ブラウザが開くと思うけど
586名無しさん@そうだ選挙にいこう:2009/09/18(金) 19:47:37
>>583ってExcelでやらなきゃいけない作業なのかなあ…
素直にHTMLで書けばいいような気がするんだけど。それこそクリッカブルマップとか作って。
587名無しさん@そうだ選挙にいこう:2009/09/18(金) 20:19:27
>>577
前しか見てなくて後ろをすっかり忘れてた。
たしかにそのとおりだね。
実際に比較してもそうだった。
でもまぁええんじゃない?
588名無しさん@そうだ選挙にいこう:2009/09/19(土) 07:15:54
質問です。よろしくお願いします。

たとえば、、、
A1からA5までの
1
2
3
4
5
    を
B1からF1に
 12345
としたいのですが、B1からF1にどのように入力すれば簡単にできますか?
(実際はA1からA100まであります。)ですので簡単な方法を教えてください。
お願いします。

 
589名無しさん@そうだ選挙にいこう:2009/09/19(土) 08:01:10
>>588
コピー、形式を選択して貼り付け から 行列を入れ替える にチェックを入れてOK
関数ならB1:F1を選択して=TRANSPOSE(A1:A5)と打ってctrl + shift + enter
590名無しさん@そうだ選挙にいこう:2009/09/19(土) 10:00:53
久しぶりに自宅PCでちょっとお仕事と思ってエクセル起動したら・・・
方向キーでスクロールします。(アクティブセルの移動が出来ない!)
VISTA
EXCEL2003
です。普通に標準インストールのままです。

だれか至急、治し方を教えてください!m(_ _)m
591名無しさん@そうだ選挙にいこう:2009/09/19(土) 10:14:41
>590
これのことかな?
Scroll Lock (すくろーるろっく)
http://vcl.vaio.sony.co.jp/glossary/links/S0409250018059/internet-jp.html
592名無しさん@そうだ選挙にいこう:2009/09/19(土) 10:19:08
ありがとございました!

ソレでした・・・そういうの、あったなぁと・・・orz
593名無しさん@そうだ選挙にいこう:2009/09/19(土) 10:29:38
Scroll Lockキー
594名無しさん@そうだ選挙にいこう:2009/09/19(土) 10:31:01
あれ?更新したつもりだったが下に隠れてた。
595名無しさん@そうだ選挙にいこう:2009/09/19(土) 11:06:38
エロイ人おせーてです。>>588のをVBAでやるとこんな2つのしか思いつきませんがあとはどんな方法がありますか?
Sub 行列を入替える1()
Dim 最終 As Long, 値 As Long
最終 = Range("$A$65536").End(xlUp).Row
For 値 = 最終 To 2 Step -1
With Cells(値, 1)
Cells(1, 値).Value = .Value
.ClearContents
End With
Next
End Sub
Sub 行列を入替える2()
Dim 範囲 As Range, 値 As Range
Dim 最終 As Long
最終 = Range("$A$65536").End(xlUp).Row
Set 範囲 = Range("A2:A" & 最終)
For Each 値 In 範囲
If 値.Value = Empty Then
Exit For
Else
With Cells(値, 1)
Cells(1, 値).Value = .Value
.ClearContents
End With
End If
Next 値
End Sub
596名無しさん@そうだ選挙にいこう:2009/09/19(土) 11:33:25
>>595
>B1からF1に
やり方はその辺でいいと思う
後はコピーをマクロでするかぐらいで
597名無しさん@そうだ選挙にいこう:2009/09/19(土) 11:37:08
>>595
Sub a()
  r = 1
  While Cells(r, 1) <> ""
    Cells(1, r + 1) = Cells(r, 1)
    r = r + 1
  Wend
End Sub
598名無しさん@そうだ選挙にいこう:2009/09/19(土) 11:40:58
B1に=OFFSET($A$1,COLUMN()-2,ROW()-1)って入れてコピペ
599>>595:2009/09/19(土) 11:58:17
>>596
>B1からF1に
よくみてませんした...
600名無しさん@そうだ選挙にいこう:2009/09/19(土) 12:31:36
>>598
関数でいいけど
100列分目までコピーして貼り付けってのが万度癖
もしかすると、咥えてA100までを削除ってのがはいると
もっと万度癖
こうなるとVBAのほうが楽かも
601名無しさん@そうだ選挙にいこう:2009/09/19(土) 12:37:49
OFFSETは何度駄目だとい割れりゃ気がすむんだ?
602名無しさん@そうだ選挙にいこう:2009/09/19(土) 12:50:03
いやこういう場合は思いついた方法でいいでしょ
どうせデータの整形なんだし、一度しか使わないんだし
システムの都合上毎月整形、ってんならVBAが向いてると思うけど
603名無しさん@そうだ選挙にいこう:2009/09/19(土) 12:54:57
>>589で解決してるのに、まったくVBA厨ってやつはw
604名無しさん@そうだ選挙にいこう:2009/09/19(土) 12:56:25
おおっとピボット厨泣きそうなのか、ごめんごめんw
ピボットは本当に役に立たないからなw
605名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:01:37
お前ら・・
606名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:08:29
やめろって...
607名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:19:34
またか・・・(´ω`)
608名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:32:09
>595
Sub hoge()
  For i = 1 To Range("A65536").End(xlUp).Row
  Cells(1, i + 1) = Cells(i, 1): Next
End Sub
609名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:42:58
行列入れかえたいならtranspose使うのが楽かな
vbaでもそのまんまいけるでしょ
[b1:f1] = application.worksheetwunction.transpose([a1:a5])
みたいな感じで
610名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:43:55
ああ、worksheetwunction→worksheetfunctioね
611名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:51:53
ほんとおどろいてしまうよ。
たかが行列入替のプログラムでこんだけ盛り上がれるなんて。
612名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:52:10
(´・ω・`)誹謗嘲笑はやめてね
613名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:53:50
ピボット厨話題に入れずにすねてるぞ
誰か相手してやれ
614名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:55:06
行列の転置ごときに時間かけていては、いつまでたっても目的に達しないだろ。
615名無しさん@そうだ選挙にいこう:2009/09/19(土) 13:58:24
>>613
ピボットテーブルを使うなら行列転置みたいな要素技術で悩む必要がないんだよ。
616名無しさん@そうだ選挙にいこう:2009/09/19(土) 14:00:24
>>614
回答自体は一瞬で終わってるから
後は最善の方法を模索してるだけじゃない?
単なる世間話と言えなくも無いが
617名無しさん@そうだ選挙にいこう:2009/09/19(土) 14:01:10
よし、終了だな。そこまでだ!
618名無しさん@そうだ選挙にいこう:2009/09/19(土) 14:56:38
連休なのにおまいらw

用もないのに絡む奴ってなんなの?
619名無しさん@そうだ選挙にいこう:2009/09/19(土) 15:31:16
VBA厨って行列を転置したり、集計したり、ソートしたり、連番をふったり。
要素ばっかり作って満足してる。
こんなことが本当にやりたかったことなのか?
我々はなんでエクセル使っているのか、原点を思い出すんだ。
620名無しさん@そうだ選挙にいこう:2009/09/19(土) 16:00:17
煽ります。煽ります。
621名無しさん@そうだ選挙にいこう:2009/09/19(土) 16:08:06
魔法の箱があって、材料を入れて釦を押すと
あるモノが出来てくる。
あるモノが欲しければ、入れるモノと押す釦を
覚えれば良いだけで、中の小人さんが何を
やっているかは無関心。

そういう人はそれで良いけど
おいらは、中の小人さんが何をやってるか
つい覗いてみたくなるんだ。
622名無しさん@そうだ選挙にいこう:2009/09/19(土) 16:43:45
>>619
でもさ新しいことを覚えて、それがある程度できるようになると
使いたくなるって言うのは本能に近いんじゃないか?
そこから先に行くと「これぐらい実装しとけよ」とかになるのだが。
623名無しさん@そうだ選挙にいこう:2009/09/19(土) 16:52:02
>>618
まぁ全員暇なのかと・・
俺もだけどね
624名無しさん@そうだ選挙にいこう:2009/09/19(土) 17:12:46
>>621
>>622
「新しいこと」に興味をもつのは結構なんだが、Excelスレには大人もいる。
厨房がえらそうに覚えたてのオナニーを見せ付けるような真似をするとからかわれるぞ。
625名無しさん@そうだ選挙にいこう:2009/09/19(土) 17:15:13
厨房のオナニーとかコーフンするんだけど
626名無しさん@そうだ選挙にいこう:2009/09/19(土) 17:17:22
627名無しさん@そうだ選挙にいこう:2009/09/19(土) 17:21:34
>>625
そうか?お前変態だな。
私は大人のセックスのほうが見たい。

VBA厨に探究心のあるのなら例えば>>47に回答するとかしてみたらよかったのに。
質問がおかしいとか文句ばっかりで、おまけにソルバーの存在も知らないなんて。
お前らはIFとFORにしか興味がない変態か?
628名無しさん@そうだ選挙にいこう:2009/09/19(土) 17:47:34
VBAはifforで大概のことが出来るし〜別にどうでもいいかな
629名無しさん@そうだ選挙にいこう:2009/09/19(土) 17:57:11
>>628
>VBAはifforで大概のことが出来るし〜別にどうでもいいかな

原理的にはできますよっていうだけのことだ。勘違いするなって。お前らできてないし。
それにIFとFORで何でもやる気のあるやつがなんでExcel使ってんだ?
630名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:01:00
>>629

「大概のことはできる」
これがVBA使う理由なの?
でも大概のことはVBA使わずにできるよ。
631名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:03:23
つうか、条件分岐、繰り返し処理って言うのはプログラムの基本じゃないの?
BASIC、C、FORTRAN、COBOL、VBA、PASCALって触ったことがあるけど、
みんなそうだったよ。
632名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:08:58
>>629
そう怒るなよピボット厨w
エクセル使う理由は仕事で使うから。それだけだよん♪
633名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:16:12
>>628は違ったなw
IFFORとマクロの記録ってとこかな
>>630
まぁ〜そうなんだけどさ
それを踏まえたうえで、IFFORあったら大概の事できるって事で
>>631
演算、制御、入出力・・後ナンだっけ?基本というよりノイマン型でできる事は4種類ぐらいしかなかった気がする
634名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:20:14
>>631
お前の触ったことあるのは全部親戚兄弟ばかりじゃないか。
いっしょで当たり前だよ。

VBA厨は浅いなあ。
635名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:25:25
>>634
釣りはほどほどに><
636名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:29:21
>>632
>エクセル使う理由は仕事で使うから。それだけだよん♪

エクセル使う理由は仕事で使うから。

使う理由は仕事で使うから。

使う理由は使うから。



こんなやつがプログラムなんて書けるのか?
637名無しさん@そうだ選挙にいこう:2009/09/19(土) 18:43:51
プログラムはバカでも書けるから
638名無しさん@そうだ選挙にいこう:2009/09/19(土) 19:05:56
つーかマクロの記録すればプログラムを書かなくても作れてしまう
メモリの概念すら無くても作れるんだぜ?すげー時代だよな
639名無しさん@そうだ選挙にいこう:2009/09/19(土) 19:31:51
>>634
それ以外っていうと量子コンピュータだよな
量子こんぷーたーのプログラム覚えるのもいいけど、機械自体が手に入らないからな
今6bitぐらいだっけ?計算可能なの
640名無しさん@そうだ選挙にいこう:2009/09/19(土) 19:35:31
>>639
どこまでもバカだな。
途方もないバカだ。
641名無しさん@そうだ選挙にいこう:2009/09/19(土) 19:53:55
>>639
>1998年に2qubit、1999年に3qubit、2000年に5qubit、2001年に7qubit[1]、2005年に8qubitが実現した
単位はqubitだよ。今は知らない。スレ違いだけど>>640の無知は見てて悲しい
642名無しさん@そうだ選挙にいこう:2009/09/19(土) 20:00:11
くたばれ
643名無しさん@そうだ選挙にいこう:2009/09/19(土) 20:01:50
>>641
「BASIC、C、FORTRAN、COBOL、VBA、PASCAL以外は量子コンピューティングです」
という主張か?
644名無しさん@そうだ選挙にいこう:2009/09/19(土) 20:17:37
>>643
いやlispもDもrubyもなでしこもあるけど、それはそのBASIC〜に含まれてるでしょうに

「BASIC、C、FORTRAN、COBOL、VBA、PASCAL」=ノイマン型
量子コンピュータの"現状の"基本的な言語(Shor)=非ノイマン型
で分けるでしょ。量子コンピュータでCとか走らせることもそりゃ出来るだろうけど、普通しないでしょ。
645名無しさん@そうだ選挙にいこう:2009/09/19(土) 20:32:26
>>643
全てノイマン型であり親戚なのは当然という前提で話してると思ったが
その意図すら汲み取れない人がいるとはねぇ
646名無しさん@そうだ選挙にいこう:2009/09/19(土) 20:40:48
ピボットしか使えないんでしょ
あんまりいじめるなwまた切れるぞwww
647名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:05:45
お前ら・・スレ違いすぎるぞ
648名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:08:49
>>644
とりあえず我々の現実的に利用可能なコンピュータの話をしよう。
なにしろエクセルの話題なんだから。

>「BASIC、C、FORTRAN、COBOL、VBA、PASCAL」=ノイマン型

うん。全部ノイマン型だよ。ノイマン型のコンピュータ上で動く。
だからさ。現実の僕らが使うことが可能なプログラミング言語をノイマンか非ノイマンに分類したってしょうがないだろ。
ノイマン型しかないだろ。実際。

そうじゃなくて、
「BASIC、C、FORTRAN、COBOL、VBA、PASCALというのはプログラミング言語としては、非常に似通っているでしょ。」
という話なの。
例えばLISPなんかはそれらとはかなり遠いでしょ。そういう話。

通じないやつだな。
649名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:17:22
>>644
そして
>>631
>つうか、条件分岐、繰り返し処理って言うのはプログラムの基本じゃないの?
>BASIC、C、FORTRAN、COBOL、VBA、PASCALって触ったことがあるけど、
>みんなそうだったよ。

にもどるわけだけど、
条件分岐、繰り返し処理を明示的に書かないプログラミングも存在するんだよ。
650名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:23:25
なんでもいいけど>>631>>639は別人だぞ
>>648>>649
明示的であろうが無かろうがやれることは一緒でしょ
もし言語上制限があったらそれは俺の知識の範囲外だけど、無いと思う

何の話だっけ?
651名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:30:04
>>650
例えばピボットテーブルはクロス集計を簡単にプログラミングすることができる。
ウィザード使うからプログラミングと意識しないけどな。

>明示的であろうが無かろうがやれることは一緒でしょ

それはその通りだ。ピボットテーブルも内部は条件分岐と繰り返しの塊りだ。
652名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:35:20
>>651
それスクリプトでしょ
653名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:36:51
>>652
スクリプトって何?
654名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:38:49
>>651
でー何の話だっけ?
>>618ぐらいからか?
VBAを使う理由になるのか?
私は仕事でつかってそれを便利にしてだけだが。ピボットも再計算できるようにしてある
ちと重いが間違うリスクに比べればどうでもよろしい
655名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:42:12
>>653
スクリプトとは、機械語への変換作業を省略して簡単に実行できるようにした簡易プログラム。
通常、プログラムはプログラマの書いたソースコード(設計図)をもとにコンピュータの理解できる機械語に変換して実行されるが、そのプロセスを自動化して簡単に実行できるようにしたものをスクリプトという。
特に、Webページ上で、HTMLだけではできない様々な機能を利用するための簡易的なプログラムをスクリプトと言うことがある。
スクリプトを記述するための言語(スクリプト言語)にはPerlやVBScript、JavaScriptなどがある。
だとさ
厳密に考えればその差は曖昧だと思うが
656名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:42:18
>>654
要はVBA厨はアホだという話につきる。
657名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:43:02
>>655
じゃあVBAはスクリプトだね。
658名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:51:48
>>657
そうだよ。知らなかったか
659名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:53:54
>>658
知ってたよ。知ってて>>653の質問したわけ。
そしたら
>>655
>>657
>>658
という予想通りの展開で面白かった。
660名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:59:17
VBAに入力すればスクリプト、VBで入力すればプログラム言語。境目なんてねーよw
マクロとかスクリプトって呼ぶとしょぼく見えるのはなんでなんだぜ?
661名無しさん@そうだ選挙にいこう:2009/09/19(土) 21:59:24
こわ
662名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:10:42
>>658>>659
知ったか乙です〜
ttp://www.microsoft.com/japan/msdn/vba/prodinfo/backgrounder.htm
知らないようなのでここを読めばいいと思いますよ〜
>>660
両方プログラミング言語ですよ。
663名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:17:45
>>662
そのサイト長いからお前の言葉で短く説明してくれ。
664名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:28:32
>>663
スクリプト言語とかどこにも書いてないって内容です
665名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:29:30
>>664
スクリプト言語って何?
666名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:31:21
667名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:32:48
>>666
ここに書いてよ。
668名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:38:18
>>664
スクリプト言語かどうかを判定するには、「スクリプト言語とは何か」を定義してもらいたい。
「マイクロソフトのサイトにスクリプト言語とは書いていません。」では判定できません。
669名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:42:22
>>666
WikipediaやIT用語辞典を読んだ限りでは
「VBAはスクリプト言語ではない。」
とは主張できなさそうだが。
670名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:45:32
>>668>>669
失礼思い込みだった
いくら調べてもスクリプト言語とプログラミング言語の境目は無いね
671名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:47:45
「VBAはスクリプト言語なんかじゃねーよ。バカにすんな。」
「スクリプトって何?」
「機械語への変換作業がいらない言語のことだよ。」
「じゃあVBAはスクリプト言語だね。」
672名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:50:36
>>670
いちいち言うことが浅いからバカだと言われるんだ。
君はすぐに認めたからまだマシだがな。
673名無しさん@そうだ選挙にいこう:2009/09/19(土) 22:55:20
>>671
それは(
674名無しさん@そうだ選挙にいこう:2009/09/19(土) 23:56:08
本日の結論は「VBA厨はバカ」ということでよろしく。

「スクリプトって何?」を2回繰り返すことになるとはあきれてしまいました。
675名無しさん@そうだ選挙にいこう:2009/09/20(日) 05:13:17
先生、どうでもいいと思います!(AA略
676名無しさん@そうだ選挙にいこう:2009/09/20(日) 06:01:01
量子ちゃんとかクリトリスとか、何の話しをしてるんですか!
677名無しさん@そうだ選挙にいこう:2009/09/20(日) 08:52:23
赤ちゃんを作る話よ(照
678名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:03:13
>>671
いくら調べてもどっちでもあるという結論しかない
>>670であってるんじゃね
679名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:10:39
>>678

>>671=>>670
どっちも同じことを言ってるんだよ。
そんなこともわからないのか?
680名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:19:43
連休だというのに朝から有意義な話だな
681名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:19:57
先生、どうでもいいと思います!(AA略
682名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:32:21
まだやってんのか、笑ったw
683名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:43:06
今どきの小学生でもこんな言い争いしないような...
684名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:46:11
幼稚園児だったりして
685名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:46:58
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 フォント エクセル excel
人からもらったエクセルファイルなんですがフォントが変わって困っています
特殊なフォントの場合、あらかじめインストールしておかないと表示できないのでしょうか?
686名無しさん@そうだ選挙にいこう:2009/09/20(日) 09:57:45
うん。
687名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:08:35
>>686
ありがとうございました
688名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:24:05
A1からA・・での
1
2
3
4
5
6
7

・ を
147|258|369 (|は見やすくするためのしきりです。)
   のように並べたいのですが
簡単な方法を教えてください。お願いします。
689名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:34:15
>>688

データを別々のセルに入れる?
それともひとつのセルに全部入れる?
690名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:34:36
VBAの良さは素人でもプログラミングできて作業の効率化が
できるってことだろ。ましてやプログラマなら、専用のマクロ言語
を覚える必要なく、ちょっとかじればすぐできるし。
691名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:38:51
>>688
B1=IF(MOD(ROW(),3)=1,$A1,"")
C1=IF(MOD(ROW(),3)=2,$A1,"")
D1=IF(MOD(ROW(),3)=0,$A1,"")

B2=B1&IF(MOD(ROW(),3)=1,$A2,"")
C2=C1&IF(MOD(ROW(),3)=2,$A2,"")
D2=D1&IF(MOD(ROW(),3)=0,$A2,"")

B2C2D2を選択して下にオートフィル、一番下が目的の内容かな
692名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:39:40
>>689
別々のセルに入れます。
693名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:47:12
2003使用してVBAはできません

セルを結合して長文を入力していると文章が左端からはじまらない行があったり
最後の行が真ん中にきてしまうのですがどうすればいいですか?

文字数を変えて一見揃えても格段の左端は微妙にずれています
694名無しさん@そうだ選挙にいこう:2009/09/20(日) 10:58:56
>>693

ワープロ使うことをおすすめする。
695名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:05:50
会社からエクセルを使用してって指定されて困ってます
どうもPCスキルを見たいそうですが・・・
長文記入の項目が3箇所ほどあるのでそこだけ文字がバラバラになって見にくいんです
696名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:07:12
>>690
VBAは悪くない。VBA厨がバカだよという話。
697名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:07:47
>>693
>セルを結合して長文を入力していると文章が左端からはじまらない行があったり
結合したセルの書式によって中央、または右揃えだった可能性が。

>文字数を変えて一見揃えても格段の左端は微妙にずれています
標準設定のフォント設定が”MS P ゴシック”の為かと思われます。
”MSゴシック”へ設定変更すれば等幅で表示出来てズレは解消できると思います。

あとスペースキーを全角で打つ場合と半角で打つ場合でズレが生じますので
そこも注意してみてはどうでしょう。
698名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:09:35
>>697
感謝
699名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:09:59
>>695
就活中か?
エクセルなんかは付け焼き刃だと入社後大変だと思うが……
700名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:12:01
>>695
>どうもPCスキルを見たいそうですが・・・

笑っちゃうね。なんだそりゃ。とりあえず左よせにしてみたら?
セルの結合に伴う不都合は自身で解決してください。
701名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:34:26
>>693
ちなみに一行書きの場合でB列以降に何も入力されていなければ、セルを結合
しなくても表示上は何も問題ないよ。
702名無しさん@そうだ選挙にいこう:2009/09/20(日) 11:41:03
>>695
テキストボックス使うとか。反則か
703名無しさん@そうだ選挙にいこう:2009/09/20(日) 12:11:49
688です。
>>691 ありがとうございます。
でも自分のほしいものとは違いました。説明が不足でした。すんません。

A1からA・・・の
1
2
3
4
5
6
7
8



をB1からC1,D1、E1、F1・・・に
1、11,21、2,12,22、3,13,23、・・・・   のように並べ替えたいのです。
(このときB1=1、C1=11、D1=21
     E1=2、F1=12、 G1=22
     H1=3、I1=13、J1=23、  ・・・)

わかる方、よろしくお願いします。
     
        

704名無しさん@そうだ選挙にいこう:2009/09/20(日) 12:32:15
>>703
さっきは147と3つ飛び、今度は10飛びだけどどっちがいいの
705名無しさん@そうだ選挙にいこう:2009/09/20(日) 12:59:07
並び替え後のA1には何が入る?
706名無しさん@そうだ選挙にいこう:2009/09/20(日) 13:10:56
Excelでファイルを4つくらい開いて、Alt+Tabでたびたび切り替えながら作業をしていると、
画面が切り替わるのに10秒くらいかかる場合があります。(特にそのファイルが重いわけでもないです。)
PCの設定により改善するようにならないでしょうか?
707名無しさん@そうだ選挙にいこう:2009/09/20(日) 13:14:57
>>704,705
10とびです。
並び替え後のA1はそのままでいいです。

■説明がクソすぎでした、というより全然別ものになっていました。
 すみませんでした。
708名無しさん@そうだ選挙にいこう:2009/09/20(日) 13:31:51
>>707
b1=INDIRECT("r"&MOD((COLUMN()+1),3)*10+INT((COLUMN()+1)/3)&"c1",0)
右方向にオートフィル
709名無しさん@そうだ選挙にいこう:2009/09/20(日) 13:49:51
>>708
すごいですね!できました!
計算式が複雑すぎてまったく理解できません。
頑張って調べて勉強します。
ありがとうございました。
710名無しさん@そうだ選挙にいこう:2009/09/20(日) 15:50:59
           /   ,ゝ===く   <●>)/\  
           !  γ      `ヾ,_   \
          │ :く(   r,J三;ヾ   )>   \
          l    =; {三●;= }  ,=ニ    l
           ヽ   ゝ≡三=イ       /
            ヽ       .,,,.    /.|
               ヽ  'ぐ'''''''' /    / ト,
             ヽ.  ヾ''" /  /  |ヽ
             ,./ヽ  `´  /    ./  \、
      -‐ '''"  ̄ /  :| \,,,__,,,, /    /    | `'''‐- 、.._\
711名無しさん@そうだ選挙にいこう:2009/09/20(日) 16:19:11
>>703のって、並び替えでやる必要性があるのか良くわからない。
Sub 刻みで入力()
Dim h As Long, i As Long
h = 1
For i = 1 To 9 Step 3
With Cells(1, i + 1)
.Value = h
.Offset(, 1).Value = h + 10
.Offset(, 2).Value = h + 20
End With
h = h + 1
Next i
End Sub
712名無しさん@そうだ選挙にいこう:2009/09/20(日) 16:37:20
ネタ投下(ノ-o-)ノ ●
713名無しさん@そうだ選挙にいこう:2009/09/20(日) 16:50:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


例えばExcelで散布図を書いたとします。
そのX軸のタイトルを「中華人民共和国と朝鮮人民共和国の人たちの死亡率」
という長いタイトルを入力したとします。
すると、
「中華人民共和国と朝鮮人
民共和国の人たちの死亡率」
みたいに2行になってしまったとします。これの横幅を広げて一行で表現したいのですが、
どうすれば良いのでしょうか?
タイトルクリックして選択すると枠の大きさを変えられようなタグが9カ所ついており
ドラッグすれば変えられそうなのですが、動かすことが出来ません。
どうすれば良いのでしょうか?
もしかして2007だと出来たりしますか?
714名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:02:08
テキストボックスで
715名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:18:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

初心者質問です、よろしくお願いします。

EX)
A1セルは 5 です。

B1セルに=A1 と入力するとB1セルに 5 と表示されます。

A1セルを消してしまうと、B1セルは空白になってしまいます。

A1セルをけしてもB1セルに 5 (A1の内容が)が残るようにしたいのですがどの様にすれば良いのですか??


716名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:23:07
>>715
ピボットで即解決
717名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:26:22
パブリック変数
718名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:32:37
>>716 ピボットでできるわけないだろ? ばかじゃないの?
719名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:36:08
>>716
入れ食い乙
720名無しさん@そうだ選挙にいこう:2009/09/20(日) 17:44:04
>>715
普通にA1をコピー&ペーストじゃだめなの?
721713:2009/09/20(日) 17:51:10
>>714

テキストボックスではセルにリンク出来ないのでダメなのです。

よろしくお願い致します。
722名無しさん@そうだ選挙にいこう:2009/09/20(日) 18:07:42
715です。
>>720
だめです。
715の例ではそれでも大丈夫なんですけど、
もとのデータからsum等をつかってとりだしたりもしたいので。
723名無しさん@そうだ選挙にいこう:2009/09/20(日) 18:20:24
>715
どうしてもっていうんなら「自動再計算」をオフにするしかないと思う。
ブックを保存して再び開くとき再計算してしまい、0になってしまうけど。

やりたいことは
 B1セルの値を参照元(A1セル)に連動させる
ではなくて
 参照元(A1セル)の内容を別のセル(B1セル)に書き込む
だろうから計算式ではなくて、VBAで処理するしかないと思うんだが。
724名無しさん@そうだ選挙にいこう:2009/09/20(日) 18:43:21
>>722
A1にSUM関数の数式が入っているとすれば(そういう処理をすれば)B1へコピ
ー&”形式を選択して貼り付け”→”値”の選択で値のみ貼り付けするという
方法がありますが。
725名無しさん@そうだ選挙にいこう:2009/09/20(日) 18:58:43
>>715
Public pVal As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(1, 1).Value <> "" Then
pVal = Cells(1, 1).Value
End If
Cells(1, 1).Value = ""
Cells(1, 2).Value = pVal
End Sub
726>>725:2009/09/20(日) 19:14:06
ごめん訂正しる
Excelでグローバル変数って標準モジュールでpublic宣言しなきゃだめだったか。

'標準モジュールに
Public pVal As Long
Sub 転写()
If Cells(1, 1).Value <> "" Then
pVal = Cells(1, 1).Value
End If
Cells(1, 1).Value = ""
Cells(1, 2).Value = pVal
End Sub

'シートに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call 転写
End Sub

727名無しさん@そうだ選挙にいこう:2009/09/20(日) 20:17:30
>>721
テキストボックスでリンクできるよ
プロパテイのlinkedcellでA1と入れればよい
>>713
と思ったら2003でも出来るぞ。左側を延ばしてみて。右側を延ばそうとすると無理だった
728名無しさん@そうだ選挙にいこう:2009/09/20(日) 20:45:39
KY
729名無しさん@そうだ選挙にいこう:2009/09/20(日) 20:53:45
朝日新聞さん何か用ですか
730名無しさん@そうだ選挙にいこう:2009/09/20(日) 22:22:18
暇だね
731名無しさん@そうだ選挙にいこう:2009/09/20(日) 22:30:53
つ ブレンD
732706:2009/09/20(日) 22:45:38
>>706です。
誰か分かる方がいれば、教えてください。
733名無しさん@そうだ選挙にいこう:2009/09/20(日) 22:49:12
メモリ不足
734名無しさん@そうだ選挙にいこう:2009/09/20(日) 22:51:09
知識不足
735名無しさん@そうだ選挙にいこう:2009/09/20(日) 22:52:32
寝不足
736名無しさん@そうだ選挙にいこう:2009/09/20(日) 23:01:38
>>732
環境
737名無しさん@そうだ選挙にいこう:2009/09/21(月) 09:58:42
transpose関数でA1:A5をB1からF1に入れる場合にB1はA1、C1はA2・・F1はA5.
となりますが、B1がA5、C1がA4・・F1がA1のように逆にすることはできますか?
教えてください、お願いします。
738名無しさん@そうだ選挙にいこう:2009/09/21(月) 12:48:22
>>737 です。
すみませんだれか教えていただけないでしょうか。
739名無しさん@そうだ選挙にいこう:2009/09/21(月) 12:54:29
>>738

データの隣に連番をふっておいてソートすればいい。
740名無しさん@そうだ選挙にいこう:2009/09/21(月) 12:57:39
>>738
最初にa1:a5を連番をふって、それを降順に並べてから縦横並び替えればいいんじゃね?
741名無しさん@そうだ選挙にいこう:2009/09/21(月) 13:07:22
>>737
INDEX関数でいいんじゃね?
=INDEX($A1:$A5,6-COLUMN(A1)
742名無しさん@そうだ選挙にいこう:2009/09/21(月) 13:08:35
最後の)を忘れた。
743名無しさん@そうだ選挙にいこう:2009/09/21(月) 16:25:01
>>737
>>741のINDEX関数を使う奴がいいっジャマイカ!
B1 =INDEX($A1:$A10,2-COLUMN(A1))
C1 =INDEX($A1:$A10,3-COLUMN(A1))
D1 =INDEX($A1:$A10,4-COLUMN(A1))
E1 =INDEX($A1:$A10,5-COLUMN(A1))
F1 =INDEX($A1:$A10,6-COLUMN(A1))
てな具合。
744名無しさん@そうだ選挙にいこう:2009/09/21(月) 18:35:54
何ふざけてるの?
745名無しさん@そうだ選挙にいこう:2009/09/21(月) 18:42:03
多分何かのミスなんだろうと思ってあえて突っ込まなかったが
746>>743:2009/09/21(月) 19:09:14
>>744
>>745
ふざけてすまんかった
ミスた

B1 =INDEX($A1:$A10,6-COLUMN(A1))
C1 =INDEX($A1:$A10,5-COLUMN(A1))
D1 =INDEX($A1:$A10,4-COLUMN(A1))
E1 =INDEX($A1:$A10,3-COLUMN(A1))
F1 =INDEX($A1:$A10,2-COLUMN(A1))
747>>743:2009/09/21(月) 19:22:13
>>744
>>745
嗚呼、俺A1:A10でやってたもんだから範囲そのままだったわ
おこんなおこんな

B1 =INDEX($A1:$A5,6-COLUMN(A1))
C1 =INDEX($A1:$A5,5-COLUMN(A1))
D1 =INDEX($A1:$A5,4-COLUMN(A1))
F1 =INDEX($A1:$A5,3-COLUMN(A1))
E1 =INDEX($A1:$A5,2-COLUMN(A1))
748名無しさん@そうだ選挙にいこう:2009/09/21(月) 19:36:24
>>747
忘れた頃に出てこられても困るし、指摘しておくよ・・
最後2行EとF逆
749名無しさん@そうだ選挙にいこう:2009/09/21(月) 19:41:05
>>748













orz
750名無しさん@そうだ選挙にいこう:2009/09/21(月) 21:59:08
>>747
何ふざけてるの?
>>741で終わってると思うんだが。
751名無しさん@そうだ選挙にいこう:2009/09/21(月) 22:02:40
ふ ざ け た い の
752名無しさん@そうだ選挙にいこう:2009/09/21(月) 22:06:48
ふざけてもいいから回答だけは正確にね。
>>741-742で終わってるけど。
753名無しさん@そうだ選挙にいこう:2009/09/21(月) 22:36:36
みなさんエクセル詳しいですね。あこがれます。
今、勉強中です。関数辞典やエクセル事典はもっているのですが、
>>708
のかたの様な回答をだせません、なぜそうなるのか理解もできません。
複数の関数の組み合わせができないです。
なんとかマスターしたいのですが、みなさんはどのようにして学習しましたか?
参考に聞かせてください。お願いします。
754名無しさん@そうだ選挙にいこう:2009/09/21(月) 22:38:28
ここが良かったです。

http://kyugomao.sakura.ne.jp/paso99/
755名無しさん@そうだ選挙にいこう:2009/09/21(月) 23:43:31
>>753
indirect・row辺りは基本滅多に使わない。使わないというか使う機会があるのは元の表がまずいとき

後は目的を設定して、それになるように関数を組み合わせていくだけ。
indirectとかはまだ覚えずにifとかsumにround組合わせるとか、vlookup辺りから覚えるといい
それが使えたら時間・日付、カウントなんかでいいんじゃないかな
文字列関係は最後の方でいいかも。ただ&だけは覚えておいた方がいいかも
vbaはプログラムに興味があるなら早めに手をつけてもいい。知識があれば簡単に応用できる
>>754
2chで宣伝って時点でゴミサイト
756名無しさん@そうだ選挙にいこう:2009/09/21(月) 23:54:48
>>753
全然見てなかった。関数の疑問か
b1=INDIRECT("r"&MOD((COLUMN()+1),3)*10+INT((COLUMN()+1)/3)&"c1",0)
は一番内側のカッコから計算される。B1セルだと
=INDIRECT("r"&MOD((2+1),3)*10+INT((2+1)/3)&"c1",0)
=INDIRECT("r"&MOD((3),3)*10+INT((3)/3)&"c1",0)
=INDIRECT("r"&0*10+INT(1)&"c1",0)
=INDIRECT("r"&0+1&"c1",0)
=INDIRECT("r"&1&"c1",0)
=INDIRECT("r1c1",0)
=A1
つまり
=INDIRECT("r"&MOD((COLUMN()+1),3)*10+INT((COLUMN()+1)/3)&"c1",0)
は=A1
と内容が同じということ
indirectの入れ子なんて覚えなくてもいいけどね。あとr1c1形式の知識もないと意味分からないと思う。
このスレで使ってるのも俺ぐらいだし本当にどうでもいいと思う
757名無しさん@そうだ選挙にいこう:2009/09/22(火) 07:30:58
>>756
お前はよくINDIRECTで回答してるやつ?
前から変なのがすみついてるんだが。
758名無しさん@そうだ選挙にいこう:2009/09/22(火) 07:36:58
2chの時点で(
759名無しさん@そうだ選挙にいこう:2009/09/22(火) 08:16:21
>>757
あなたもです
760名無しさん@そうだ選挙にいこう:2009/09/22(火) 08:31:42
>>755
自分だけの狭い世界しか知らないみたいだな
学生さんかい?、それともただの「おバカさん」
761名無しさん@そうだ選挙にいこう:2009/09/22(火) 08:37:32
> 学生さんかい?

このフレーズ前にもk
762名無しさん@そうだ選挙にいこう:2009/09/22(火) 08:44:37
VBAvsピボットY 〜情熱の闘い〜
間もなく開幕いたします
763名無しさん@そうだ選挙にいこう:2009/09/22(火) 09:36:48
>>760
お前がもしINDIRECT使いならお前も同類。
764名無しさん@そうだ選挙にいこう:2009/09/22(火) 09:42:43
教えてください。
userfirmにcombobox1〜3まであります。
combobox1、2から選択される項目(各5つ)の組み合わせ(全25通り)によって
combobox3にそれぞれ25通りの選択肢を表示しようと考えています。
とりあえず、実験的に下記のとおり書いてみたところ、combobox3に
思い通りの選択肢は表示されたのですが、どれかをクリックしても
combobox3に表示されません。なぜでしょうか?

(抜粋)
If ComboBox1.ListIndex = 0 And ComboBox2.ListIndex = 0 Then
ComboBox3.RowSource = "申込状況!B4:B8"
ElseIf ComboBox1.ListIndex = 0 And ComboBox2.ListIndex = 1 Then
ComboBox3.RowSource = "申込状況!B9:B13"
ElseIf ComboBox1.ListIndex = 0 And ComboBox2.ListIndex = 2 Then
ComboBox3.RowSource = "申込状況!B14:B18"
ElseIf ComboBox1.ListIndex = 0 And ComboBox2.ListIndex = 3 Then
ComboBox3.RowSource = "申込状況!B19:B23"
ElseIf ComboBox1.ListIndex = 0 And ComboBox2.ListIndex = 4 Then
ComboBox3.RowSource = "申込状況!B24:B28"

どうぞよろしくお願いします。
765名無しさん@そうだ選挙にいこう:2009/09/22(火) 10:15:20
× =INDIRECT("r"&MOD((COLUMN()+1),3)*10+INT((COLUMN()+1)/3)&"c1",0)
○ =INDEX($A:$A,MOD((COLUMN()+1),3)*10+INT((COLUMN()+1)/3))
766名無しさん@そうだ選挙にいこう:2009/09/22(火) 10:17:04
ショートカットキーについて質問。
VBE画面。
マクロ画面。
教えてください。
767名無しさん@そうだ選挙にいこう:2009/09/22(火) 10:22:14
>>762
俺にとってピボットってのはVBAの機能なんだが。
というか、こういうのこそVBAの真髄だろ?

IntだLeftだという関数は、VBAというよりVBの機能であり
VB[A]というからにはApplication(Excel)が提供している
ピボットなどの機能こそが、VBAの本質的な機能と言える。

なので俺の中ではピボットとVBAは対決ではなく共存というか互助の関係にある。
768名無しさん@そうだ選挙にいこう:2009/09/22(火) 10:26:16
>>764
If ComboBox1.ListIndex = -1 And ComboBox2.ListIndex = -1 Then
ComboBox3.RowSource = "sheet1!a1:a4"
End If

-1を設定したら上手く言った。理由は知らんがぐぐればでてくるだろう
ちなみにこういう場合、ifの後の条件式「ComboBox1.ListIndex」をウォッチ式に入れるか、textboxを作って
TextBox1.Text = ComboBox1.ListIndex
のような形にすると内容がわかるので自己解決できるようになると思う。
>>766
ttp://www.google.com/search?hl=ja&safe=off&client=opera&rls=ja&hs=g7E&q=%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC+vbe%E3%80%80%E3%83%9E%E3%82%AF%E3%83%AD&btnG=%E6%A4%9C%E7%B4%A2&lr=
>>767
普通はそうだよねぇ
理由はよく分からないけどこのスレでは解決方法でよくもめてる。どっちでもいいんじゃね、と思うけど
769名無しさん@そうだ選挙にいこう:2009/09/22(火) 10:53:53
>>764
抜粋した部分には問題は見あたらない。ほかの部分がおかしい。
あと、その抜粋した10行は、たったこれだけに書き換えできる

CB2LI = ComboBox2.ListIndex * 5 + 4
If ComboBox1.ListIndex = 0 Then ComboBox3.RowSource = "申込状況!B" & CB2LI & ":B" & CB2LI + 4

1行目の計算式によって、ComboBox2.ListIndexが0の時、変数CB2LIは4になる。
ComboBox2.ListIndexが1の時、変数CB2LIは9になる。以下略。
こういう規則的なパターンは式を工夫して1行にまとめるべし。
770名無しさん@そうだ選挙にいこう:2009/09/22(火) 13:38:41
>>767

VBAでピボット利用するような回答があったかな?
そうだったらここまでバカにされてないんじゃない。
771名無しさん@そうだ選挙にいこう:2009/09/22(火) 14:04:49
>>770
何度もしてるけどな。
772名無しさん@そうだ選挙にいこう:2009/09/22(火) 14:43:53
3つでいいから挙げてみてくれ
773名無しさん@そうだ選挙にいこう:2009/09/22(火) 14:55:24
いつ頃のスレだか忘れたが、ピボットの出来ない人には自分でピボット作って、データソースの範囲取得と更新の部分を書いたマクロを
ボタンに登録して、それを実行させればよいと何度も書いたよ。
ピボットは再計算しないことがあるとか言うDQNもいるんでね。
774名無しさん@そうだ選挙にいこう:2009/09/22(火) 15:31:52
ピボットのできないひとにピボットをつくらせるなんていい度胸じゃないか。
しかもマクロをつくらせるとか。おまえ鬼だな。
くわえてそれでなにが楽になるんだ。ピボットツールバーの更新ボタンを押せばいいだけだろ。
775名無しさん@そうだ選挙にいこう:2009/09/22(火) 15:40:07
>>774
ピボットを知ってる人が作って、ピボットを知らない人にピボットで集計させるんだよ。
ピボットの範囲が変わったとき困るから範囲取得くらいは必要だね。
あらかじめ列全体などと広く取っておく方法もあるが、何かの拍子に重くなることがある。
まぁ基本、更新ボタンさえ押せばいいんだが、ピボットが食わず嫌いな人は更新ボタンさえ知らないやつもいるからな。
776名無しさん@そうだ選挙にいこう:2009/09/22(火) 15:46:21
♪ チィチィパッパ
  ♪  チーパッパ
777名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:01:48
1行1列余分に範囲指定して重くなるわけがないだろ。ウソもたいがいにしろ。
更新ボタンを押せないひとはマクロを登録したボタンを押す知能もないよ。
VBA厨ってほんとに(
778名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:03:05
分ってない人が一人。
UsedRangeとか知ってるのかな。
779名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:05:56
764です。
>>768、769さん返信ありがとうございました。
combobox3には選択項目として表示されるまではいいのですが、その中から一つをクリックしても、
combobox3は空白のままになってしまう現象はかわりません。
ちなみにExcel2002です。

以下が全文です。
Private Sub ComboBox3_Change()
CB2LI = ComboBox2.ListIndex * 5 + 4
If ComboBox1.ListIndex = 0 Then
ComboBox3.RowSource = "申込状況!C" & CB2LI & ":C" & CB2LI + 4
ElseIf ComboBox1.ListIndex = 1 Then
ComboBox3.RowSource = "申込状況!C" & CB2LI + 28 & ":C" & CB2LI + 32
ElseIf ComboBox1.ListIndex = 2 Then
ComboBox3.RowSource = "申込状況!C" & CB2LI + 56 & ":C" & CB2LI + 60
ElseIf ComboBox1.ListIndex = 3 Then
ComboBox3.RowSource = "申込状況!C" & CB2LI + 84 & ":C" & CB2LI + 88
ElseIf ComboBox1.ListIndex = 4 Then
ComboBox3.RowSource = "申込状況!C" & CB2LI + 112 & ":C" & CB2LI + 116
ElseIf combomox1.ListIndex < 0 Or combomox1.ListIndex < 0 Then
MsgBox "曜日、時間帯を選択してください"
End If
End Sub

自分の頭のバグかそれともソフトのバグなんでしょうか・・・?
780名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:08:05
>>777
おめーが馬鹿なのはわかった。
馬鹿の大当たりだなw
781名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:09:57
779です。連続書き込みごめんなさい。
最後の条件文に誤りがありました。正しくは
ElseIf ComboBox1.ListIndex < 0 Or ComboBox2.ListIndex < 0 Then
です。
782名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:14:20
ピボット厨はVBAと併用するのが嫌で仕方がないらしい。w
もしかしてVBAがろくろく出来ないんじゃないか?
783名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:22:47
ピボットにUsedRangeなんてつかわない。VBAで指定するにしても
名前定義しとけばいいだけ。

データの整形にVBAつかうことはときどきあるけど
幸い、VBAで集計を迫られる仕事はしたことがないよ。

あたま悪いとなんでもVBAつかわないといけないからたいへんだね。
784名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:26:11
その議論は他でやってよ。迷惑。
785名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:26:30
議論じゃなくて嘲笑ですので
786名無しさん@そうだ選挙にいこう:2009/09/22(火) 16:27:03
やっぱこのしとわかってない
787名無しさん@そうだ選挙にいこう:2009/09/22(火) 18:30:29
>>779
Sub ComboBox3_Change()というのは、ComboBox3の内容が変化した「あと」で呼ばれる手続きなので、
「ComboBox2を選んだらComboBox3の選択肢を入れ換える」という処理は
ComboBox2_Changeの中に書かなきゃいけない。
あと、まだ計算式に無駄が多い。選択肢のセルが28個ずつ規則的に並んでるんなら、いちいちIfで分けずに
ListIndexの値を28倍すればいい。

Private Sub ComboBox2_Change()
  If ComboBox1.ListIndex = -1 Then
    MsgBox "曜日、時間帯を選択してください"
  else
    CB3RS = ComboBox1.ListIndex * 28 + ComboBox2.ListIndex * 5 + 4
    ComboBox3.RowSource = "申込状況!C" & CB3RS & ":C" & CB3RS + 4
  End If
End Sub

それから、VBAが主体の質問は次からこっちで

Excel VBA質問スレ Part12
http://pc12.2ch.net/test/read.cgi/tech/1247566074/
788名無しさん@そうだ選挙にいこう:2009/09/22(火) 19:07:53
>>771
>何度もしてるけどな。

VBA厨がしたわけじゃないよ。
ピボットは自動計算しないのが欠点という主張にたいして、自動化はVBAでやればよいというピボット先生からの回答だろう。
789名無しさん@そうだ選挙にいこう:2009/09/22(火) 19:23:06
規則性があっても
ComboBox2.ListIndex * 5 + 4
は何となく矢だな。俺ならこっちだな。
SrcLst = Array("B4:B8", "B9:B13", "B14:B18", "B19:B23", "B24:B28")
ComboBox3.RowSource = "申込状況!" & SrcLst(ComboBox2.ListIndex)
790名無しさん@そうだ選挙にいこう:2009/09/22(火) 19:37:37
俺なら選択肢を一直線に並べずに
コンボボックス1と2がそれぞれX座標、Y座標になって一発で指定できるようにする
791名無しさん@そうだ選挙にいこう:2009/09/22(火) 19:42:49
コンボボックスでソースを変えるのは名前定義とINDIRECTをつかうのが常道
どうしてもVBAつかいたいなら止めはしないが
792名無しさん@そうだ選挙にいこう:2009/09/22(火) 21:22:32
困っています。2つ教えてください。お願いします。

質問1
A君100点 B君80点 C君80点 D君60点
この場合RANKで順位をつけると
A君1位 B君2位 C君2位 D君4位となります。

ここでB君とC君は2位のグループと見て D君は3位と表示したいのですが、
可能でしょうか?

質問2
A君50   80 100 80 50
B君100 50  60  70   80
このように不定型で数字が並んでいます。
その内、右4つのものの合計値を出したいのです。
検索する範囲を選択し、その中の右4つの合計を出せる形があれば
一番良いのですが・・・。

分かる方いらっしゃったら教えてください。お願いします。
WindowsXPでExcel2003です。
793名無しさん@そうだ選挙にいこう:2009/09/22(火) 21:25:32
>>791
INDIRECT好きだねぇ。w
そういう名前定義にINDIRECTでも弊害はないけど、間違ってもセルの数式に使うときはINDIRECTで定義するなよ。
OFFSETも同じだからな。
VBA使いなら分ってると思うけど。
794名無しさん@そうだ選挙にいこう:2009/09/22(火) 21:36:38
>>792

目的によっては、同順位も考慮した順位定義の使用が必要となる場合もあります。
たとえば、前の使用例で 10 の順位を 5.5 に訂正できた方がよい場合もあるでしょう。
そのためには、下記の補正因子を RANK 関数の戻り値に加算します。この補正因子は、
順位を降順 (順序に 0 を指定するか、省略した場合) または昇順 (順序に 0 以外の
数値を指定した場合) のどちらで計算する場合にも使用できます。

同順位の補正因子=[COUNT(範囲) + 1 - RANK(数値, 範囲, 0) - RANK(数値, 範囲, 1)]/2
795名無しさん@そうだ選挙にいこう:2009/09/22(火) 21:46:45
こんばんは、僕も質問2つあります。お願いします。

質問@
1
2
3
4
5

5
4
3
2
1
のように逆にする簡単な方法。(関数、もしくは操作。)

質問A
E1セルを=A1、F1セルを=A20、G1セルを=A30にして、フィルタ機能等もしくはなんらかの操作や関数により、
H1セルを=A2、I1セルを=A21、J1セルを=A31
K1セルを=A3、L1セルを=A22,M1セルを=A32  のようにしたいのです。
長くてすみません。
初心者なのでよくわかりません。簡単にできそうなのですがなかなかできません。
すみません、おしえてください。お願いします。
796名無しさん@そうだ選挙にいこう:2009/09/22(火) 21:58:00
>>795
(1) 作業列に連番を入れて逆順にソート
(2) パス
797名無しさん@そうだ選挙にいこう:2009/09/22(火) 21:59:39
>>794
ありがとうございます。
ですが、使い方がわかりません。すみません、もう少し使い方を教えていただいても
よろしいですか?
それと、
『前の使用例で 10 の順位を 5.5 に訂正できた方がよい場合もあるでしょう。』
これはどういう事でしょうか?すみません、初心者で。。。
798名無しさん@そうだ選挙にいこう:2009/09/22(火) 22:07:42
>>796
すみません、ソートってなんですか?
799名無しさん@そうだ選挙にいこう:2009/09/22(火) 22:09:42
>>798
ggrks
800名無しさん@そうだ選挙にいこう:2009/09/22(火) 22:24:20
>>795
@ 範囲を選択する → データ → 並べ替え → 降順 → ok
801名無しさん@そうだ選挙にいこう:2009/09/22(火) 22:39:22
>>792
とりあえず質問1に対する回答

A列 B列
-----------
A君 100
B君 80
C君 80
D君 60

だとすると

C1に =SUMIF($B$1:$B$4,">"&B1,$D$1:$D$4)+1
それをC4までコピー

D1に =IF(COUNTIF($B$1:B1,B1)>1,"",1)
それをD4までコピー

結果は
A列 B列 C列 D列
----------------------
A君 100 1 1
B君 80 2 1
C君 80 2
D君 60 3 1

D列は作業列なんで非表示とか好きなように

質問2は、意味がわからん
802名無しさん@そうだ選挙にいこう:2009/09/22(火) 22:58:08
>>797
>>794はヘルプにあったんだが、すこし意味が違うな。すまん。

A1:A9に
1
2
2
2
6
6
9
9
9
とあるとき
A11:A14

1
2
6
9
と入力しておく。
B1=RANK(A11,$A$1:$A$9,1)
C1=COUNTIF($A$1:$A$9,A11)
D1=B11-SUM(C10:C$11)+COUNT(C10:C$11)
B:Dを下までコピー
803名無しさん@そうだ選挙にいこう:2009/09/22(火) 22:58:59
訂正
B11=RANK(A11,$A$1:$A$9,1)
C11=COUNTIF($A$1:$A$9,A11)
D11=B11-SUM(C10:C$11)+COUNT(C10:C$11)
B11:D11を下までコピー
804名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:12:31
>>799
は”ググレカス”ってこと?
805名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:15:45
皆静観
806名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:19:55
>>801
>>802

ありがとうございます!出来ました
素晴らしいです!どういう計算なのかよくわかりませんが・・・w

質問2については
A列 B列 C列 D列 E列
A君 50  _ 70  80
B君 _  60 80  _
C君 100  80 60 50
D君 _  _ 80  _

と、ある範囲の中に値の個数が異なってある場合、
例えば右から2つの合計を下のように表示させるようにしたいのです。
A君 150 (70+80)
B君 140 (60+80)
C君 110 (60+50)
D君 エラー(1つしか値が無いため)

表示させる方法はありますでしょうか?教えてください。
お願いします。
807名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:22:15
>>802
>A1:A9に
>1
>2
>2
>2
>6
>6
>9
>9
>9
>とあるとき
>A11:A14
>に
>1
>2
>6
>9
>と入力しておく

そんなめんどくさいのなら>>801ので十分だろうに
808名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:27:09
>>806

条件は1つ?
それとも
条件は右から2つだったり右から3つだったりと毎回変わるもんなの?
809名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:30:24
>>808
いえ、条件は変わりません。
806の質問では右から2つにしましたが、実際は4つでやります。
でも、条件は毎回同じです。
お願いします。
810名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:50:07
>>809
配列数式で一つの式でも出来るけど、作業列使えば簡単だろ?
作業列も考え付かないか?
811名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:55:51
779です。
>>787、789、790、791、793さん返信ありがとうございました。
お蔭様で、解決しました。大変参考になりました。
812名無しさん@そうだ選挙にいこう:2009/09/22(火) 23:56:39
>>810
すみません、わかりません。
是非教えてくださいませんか?
813名無しさん@そうだ選挙にいこう:2009/09/23(水) 00:06:26
>>806
D1に=IF(COUNT(D1:E1)=2,SUM(D1:E1),IF(COUNT(E1,C1)=2,SUM(E1,C1),IF(COUNT(E1,B1)=2,
SUM(E1,B1),IF(COUNT(D1,C1)=2,SUM(C1:D1),IF(COUNT(D1,B1)=2,SUM(D1,B1),
IF(COUNT(B1:C1)=2,SUM(B1:C1),NA()))))))
2-3行にコピー
いちおう動くがぜんぜんエレガントじゃない。別解を待つ。
814名無しさん@そうだ選挙にいこう:2009/09/23(水) 00:08:06
D1じゃないな F1でした。失礼。
815名無しさん@そうだ選挙にいこう:2009/09/23(水) 00:14:16
>>806
>>809
質問2の回答として
A列 B列 C列 D列 E列 F列
A君 50 空白 70 80 200
B君 空白 60 80 空白 140
C君 100 80 60 50 290
D君 空白 空白 80 空白 80

F1に =SUM(OFFSET(E2,0,-4,1,5))
F2以降にコピー
816名無しさん@そうだ選挙にいこう:2009/09/23(水) 08:13:18
VBAの置換で「申込状況」と変換確定すると「錐暑」と変換されるのは俺だけ?
なんだこりゃ
817名無しさん@そうだ選挙にいこう:2009/09/23(水) 08:26:49
=(COUNT(D1:$E$1)<=2)*E1
を下にオートフィルしたら
=(COUNT(D$1:$E2)<=2)*E2
になるようになってしまった
エクセル最インスコした方がいいんだろうか
818名無しさん@そうだ選挙にいこう:2009/09/23(水) 08:33:35
>>816
再現手順をもっとくやしく
819名無しさん@そうだ選挙にいこう:2009/09/23(水) 08:47:57
>>809
F1=(COUNT(B1:$E$1)<=2)*B1
でF1〜I4までオートフィル。
J1=+IF(COUNT(B1:E1)<=1,"エラー",SUM(F1:I1))
かなぁ。
>>818

変換してenter押下前「申込状況」なんだが
http://www1.axfc.net/uploader/Img/so/60044.jpg
enter押すと「錐暑」で確定される
http://www1.axfc.net/uploader/Img/so/60045.jpg
何度やっても同じだし、錐暑は辞書登録もクリップボードにもない

今気づいたが「申込」だけだと「錐」、「状況」だと「暑」になる
コピーで申込状況を貼り付ければそのままいける

と思ったら他でもそうなる
「エクセル総合相談所」は「ャャ総葬所」になる
カタカナ二文字は「ャ」一文字、ひらがな二文字が「b」になる
謎だ
820名無しさん@そうだ選挙にいこう:2009/09/23(水) 08:51:32
エクセル2003。
質問です、お願いします。

Sub 刻みで入力()
Dim h As Long, i As Long
h = 1
For i = 1 To 9 Step 3
With Cells(1, i + 1)
.Value = h
.Offset(, 1).Value = h + 10
.Offset(, 2).Value = h + 20
End With
h = h + 1
Next i
End Sub


これで
B1=1、C1=11、D1=21、
E1=2、F1=12、G1=22、
H1=3、I1=13、J1=23。
というのができました。

それを、
B1=A1、C1=A11、D1=A21、
E1=A2、F1=A12、G1=A22、
H1=A3、I1=A13、J1=A23。

というようにしたいのですが、どのようにすればよいですか。
教えてください、お願いします。
821名無しさん@そうだ選挙にいこう:2009/09/23(水) 08:54:27
822名無しさん@そうだ選挙にいこう:2009/09/23(水) 09:50:12
>>819
当方再現せず。

Shift_JISで申込状況は 905c 8d9e 8ff3 8bb5
錐暑は 908d 8f8b
他も類似の状況であるため何かのシステムが英語版と入れ替わってるなど何らかの理由でShift_JISが処理できなくなってるとおもう。
823名無しさん@そうだ選挙にいこう:2009/09/23(水) 09:50:19
>820 カウンタはひとつで桶
Sub hoge()
  For i = 1 To 3
    Cells(1, i * 3 - 1).Formula = "=A" & i
    Cells(1, i * 3).Formula = "=A" & 10 + i
    Cells(1, i * 3 + 1).Formula = "=A" & 20 + i
  Next
End Sub
824名無しさん@そうだ選挙にいこう:2009/09/23(水) 10:03:15
>>822
ありがとう。1byte飛ばしながら読み込んでるのか
よくわからんなぁ・・
825名無しさん@そうだ選挙にいこう:2009/09/23(水) 10:08:48
>>823
スーパーありがとうございます。
かなりすっきりしました。やっぱVBAすごいですね。
826名無しさん@そうだ選挙にいこう:2009/09/23(水) 10:50:28
>>825
VBAがすごいのは知ってるけど、>>823の何がすごかったの?
827名無しさん@そうだ選挙にいこう:2009/09/23(水) 10:54:07
>>813
すばらしいです!ありがとうございました!
>>815
ありがとうございます。でも、それだとSUMと同じ結果しか出ません。
右から2つという条件が満たされません。
828名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:04:17
>>824
そういう時はまずWindowsを再起動してみるんだ
829名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:11:28
>>827
生徒の点数の直近2回分合計を出したいのかな?
出すのは結構だけど、その結果を比較したりしないでね。
統計的に無意味だからね。
830名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:18:19
>>829
はい、参考にするだけです。

>>813 のご回答では確かに出来ますが、
数が多くなると厳しいです。
もう少し簡単にできる方法を教えていただけたら嬉しいのですが・・。
831名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:20:28
>>830
絶対に参考にしないでください。
参考にする時点で比較しているのです。
参考にしてはだめです。
832名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:24:27
>>830
>>819はダメ?作業列を作りまくるんだ
833名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:25:51
>>819
ご回答してくださっていたんですね・・、失礼しました。
出来ました!すばらしいです。ありがとうございます!

>>831
実際はテストでなくタイムを比較します。
直近4回分のタイムを比較する事で調子がつかめます。
834名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:40:20
>>833
それなら最初からそう書けよ
どうしてわざわざ嘘を書く必要があるんだ
835名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:40:41
4回か。追加していく&>>819のを使うんなら、作業列は別シートに用意した方がいいかも
836名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:43:25
>>834
嘘は書いていないと思いますが、不快な思いをさせてすみません。
>>835
ありがとうございました。別シートですね、なるほど。
837名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:47:27
>>834
おまえへんなやつだな。質問されてるのはExcelの数式であって
テストの採点に対するおまえの意見じゃないのに。
838831:2009/09/23(水) 11:49:05
>>833
タイムの比較ならまあいいか。
同じテストに対する能力を測定するんだね。
839831:2009/09/23(水) 11:52:11
>>836
私は不快じゃなかったですよ。
840名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:55:30
>>834みたいなのは、りんご2個とみかん3個を足すといくつになりますか?という
問題に「足したってりんご2個とみかん3個に変わりはない」とか「栄養の点から考えて
緑黄色野菜を加えるべきだ」とかいっちゃうんだろうな
841名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:59:23
>>829で自分の知識をひけらかすも、
自分が見当違いのことを言っていたと理解し>>833に責任転嫁
「お前が嘘をついたせいで俺が恥を書いた!」
ってとこじゃないかな
恥の上塗りって奴だね。
842名無しさん@そうだ選挙にいこう:2009/09/23(水) 11:59:29
>>840
もし毎回問題が異なるテストの点数を比較したいなら、直近2回の合計(や平均)を使うのはアウトだよ。
教育関係者にそんなやつがいるとは信じたくないが。

今回のテストは毎回内容が同じという前提があるから問題ないね。
>>834もカリカリするなよ。
843>>815:2009/09/23(水) 12:09:21
>>827
>>809
> いえ、条件は変わりません。
> 806の質問では右から2つにしましたが、実際は4つでやります。
> でも、条件は毎回同じです。
> お願いします。

実際は4つでって書いてるからそのとおりにしたんですけど...
844名無しさん@そうだ選挙にいこう:2009/09/23(水) 12:24:03
>>843
サンプルデータは右から2つ用だから4列しかないけど、
本番データは4列より多いと解釈すべきだね。

あとD君の結果がエラーになることも質問者が望んでいる。
845792:2009/09/23(水) 12:31:41
すみません。みなさんのおかげで解決できましたので
ありがとうございました。
質問の仕方に問題があったようです。
もうもめないでください。
846名無しさん@そうだ選挙にいこう:2009/09/23(水) 12:32:59
エクセル上にゲームで使うような2Dマップのようなものを作りたいのですが、何から調べていいのか分かりません。
具体的には、座標を入力し対応する座標に文字を表示させたり背景色を変えたり、それらの統計(密度など)をし調べてみたいのです。
何かキーワードなど、検索の発端となるものをお教え願えないでしょうか。
847名無しさん@そうだ選挙にいこう:2009/09/23(水) 12:45:51
>>845
いつものことだから気にスンナ
>>846
データのことか?
2Dマップは普通配列で作る

しかしエクセルのセルは最初から配列なんで、
セル使う方が楽。セルを全選択し、縦横の比率を同じにし、そこに条件付書式を当てはめてみては?
1の時はセルを青(水場)、2の時は緑(森林)、3は肌色で道路とか
統計もcountifなんかを使えば一発で出るし

質問したいことと全然違ってたらゴメン
848名無しさん@そうだ選挙にいこう:2009/09/23(水) 12:50:53
>>844
なんかムカつくよな
849名無しさん@そうだ選挙にいこう:2009/09/23(水) 13:14:58
>>847
ありがとうございます。
「条件式書式」は求めているものに近いような気がします。
ですが、ちょっと違うような気もします。

座標が手元にあるので、「座標○○の背景色を変える」というような関数?を求めているのです。
説明してくださった条件式書式と組み合わせ、「座標○○に数字を挿入する」というようなものでもよさそうです。

マップのほうにIF関数を埋め込み、入力された座標が自分の座標だったら色を変える(または条件付き書式と組み合わせ数字を挿入する)、というような感じでも出来るのでしょうか。
850名無しさん@そうだ選挙にいこう:2009/09/23(水) 13:48:39
今回の直近4回のタイムは、走力の比較か?
運動の秋だから、おまいらも少しは運動しろよ。
運動しないと頭も冴えないからな。
851名無しさん@そうだ選挙にいこう:2009/09/23(水) 14:19:06
>>849
2通りあるかな
1つめ
F2に列、G2に行の番号を入れるとする
条件付書式は「式が」で、式は↓
=AND(($F$2=COLUMN()),$G$2=ROW())

2つめ
F3に列、G3に行の番号を入れるとする
=IF(AND(COLUMN()=$F$3,ROW()=$G$3),1,0)
そして条件付書式を「値が」で、1だと青、などに設定する

2つめを拡張するなら↓
F3に列、G3に行の番号。F4とG4にも入れる
=1*AND(COLUMN()=$F$3,ROW()=$G$3)+2*AND(COLUMN()=$F$4,ROW()=$G$4)
で、条件付書式で1が青、2が緑・・みたいな感じで設定するといいかも

こういう特殊なのはVBAの方がいいかもしれんね

852名無しさん@そうだ選挙にいこう:2009/09/23(水) 16:06:36
【1 OSの種類         .】 WindowsXP Home SP2
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 「エクセル "htmlを含む" csv」「excel "htmlを含む" csv」「エクセル csv html」

一行の中に、タブ、HTMLソースを含むCSVファイルを扱おうとしています。
CSVファイルとして開こうとしても、勝手にHTMLソースのとおりにセルを作り、
コンマを含む行は一つのセルに入ってしまうという、CSV無視の動作をしてしまいます。
純粋にコンマ区切りでファイルを開くことは出来ないでしょうか。
853名無しさん@そうだ選挙にいこう:2009/09/23(水) 17:04:32
>>852
試しにHTMLタグをコンマで区切ったファイルを作ってやってみたけど、普通にcsvとして開いてくれた。
もうちょっと状況を詳しく。
854名無しさん@そうだ選挙にいこう:2009/09/23(水) 17:16:30
>>853
http://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up1771.zip.html

ファイルとスクリーンショットです。DLKeyは 1111 です。
855名無しさん@そうだ選挙にいこう:2009/09/23(水) 17:39:25
外部データの取り込みで、カンマを区切り文字にしてインポートすれば大丈夫みたい
856852:2009/09/23(水) 18:37:46
ありがとうございます。取り込むことが出来ました。
が、今度は保存しようとすると、項目が途中で切れたり、ダブルクォーテーションが重なったりします。

・・・おとなしく、他の単機能のCSVエディタを使うことにします。
どうもありがとうございました。
857名無しさん@そうだ選挙にいこう:2009/09/24(木) 06:21:37
マニフェストに載ってないことを何よりも先に実行しようとする民主党を法的に訴える方法はないのかね?
選挙活動中は、外国人参政権の重大性を日本国民に問うこともなく、子供手当、高速道路無料化、年金一元化等の

国民の生活が第一で日本国民をダマしまくり、政権をとったら、マニフェストに載せていない国民の生活を脅かすような安全保障にかかわる
外国人参政権を、日本国民の知らぬ間に法案成立させようとするのは、詐欺じゃないのか。

法曹関係者で、保守系の方は、何か良い知恵はないでしょうか。 

▼外国人参政権が非常に危険であることが簡単に理解できるよ! →プリントアウトするとビラになります!
↓PDFファイルの方をクリック!
http://sites.google.com/site/naoki1333nochottotoorimasuyo/home/9-27gaikoku-ninjin-seiken-hantai-demo-sanka-sokushin-chirashi

▼外国人参政権反対! ゆうこりんみたいなカワイイ声の普通の女の子も立ち上がってるよ!
http://www.youtube.com/watch?v=pBcSlmdcCZU

▼永住外国人への地方参政権付与「反対」圧倒的9割超 → これが現実なのよね。日本国民の9割超が反対している法案を成立させよう
とする民主党って、どうよ?
http://www.youtube.com/watch?v=e7kCfj44L58

▼日本女性の会 そよ風 のサイトでデモのスケジュールをチェックしてね!
http://www.soyokaze2009.com/news.php

▼あなたの地区でポスティングしてみませんか?
http://www.geocities.jp/www_nagatacho/


こんな法案、成立させるのおかしいよね? 絶対。

ブログでも、2ちゃんでも、ビラ配りでも、デモ参加でも、議員にメールでも、なんでも良いです。 

あなたが本法案の成立阻止に協力できることをやりましょうよ。 立ち上がれ、日本人!
858名無しさん@そうだ選挙にいこう:2009/09/24(木) 11:40:33
いつもお世話になっております、今回もよろしくお願いいたします
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 置換 改行 計算式

指定の文字をセル内改行に置換したいのですが
いわゆるCtrl+HのCtrl+Jではなくて
SUBSTITUTE等の計算式で行うことはできませんか?
作業列を使ったり式が複雑になっても構いません
859名無しさん@そうだ選挙にいこう:2009/09/24(木) 11:55:54
>>858
","をセル内改行に置き換えるなら
=SUBSTITUTE(A1,",",CHAR(10))
ただし行の高さを十分に確保して、「折り返して全体を表示する」にチェック
860名無しさん@そうだ選挙にいこう:2009/09/24(木) 13:18:21
>>859
できました!
ググった時にCHAR(10)というのは見かけていたのですが
「折り返して全体を表示する」ことが足りていなかったので
上手くできていませんでした
素早いご回答どうもありがとうございました
861名無しさん@そうだ選挙にいこう:2009/09/24(木) 22:52:47
EXCEL2003です。VBAは使わない条件です。

テンプレートからファイルを新規作成する時、
テンプレート内データの一部(パラメータ)を、
指定した値(パラメータ値)で置き換える機能はないのでしょうか?

862名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:13:54
A1に8月か12月がはいっている場合だけ
数値の合計を出したい
863名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:16:23
>>861
別のテンプレート作れば?
じゃなきゃ置換ctrl+h
>>862
=if(or(a1="8月",a1="12月"),sum(うんこ),"")
864名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:21:15
うんこがだせないのですが
865名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:22:41
病院行かないと死ぬよ便が固まって完全に栓になる
866名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:25:54
関数で無理ならVBAでしね!わかります!
867名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:29:38
いやVBAは使えない条件だから・・
868名無しさん@そうだ選挙にいこう:2009/09/24(木) 23:32:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel97、2002、2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】VLOOKUP 配列 エクセル 次データ

・やりたい処理
ある値に一致するデータの抽出

ttp://www.77c.org/p.php?f=nk10328.zip&c=345b

『リストシート』A列にteam、B列にplayerのリスト入っています
『紐付シート』にあるteamに所属するplayerを横並びに表示(記載)したく…
処理をした結果が
『紐付(結果)シート』のようになればそれが今回の答えです。

本来、ピポットテーブルでやると簡単な処理だと思うのですが
VBA、関数でこの処理を行うことはできればお力を貸していただきたく…
よろしくお願いします。

869名無しさん@そうだ選挙にいこう:2009/09/25(金) 02:17:04
また、デカイ釣り針を垂らしたこと...
870名無しさん@そうだ選挙にいこう:2009/09/25(金) 04:33:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 空白 CTRL+方向キー マクロ


各預金出納帳の検算のためだけのファイルを作りました。
シート1には各預金の残高一覧表、
シート2以降には各預金の取引推移が入力されています。
具体的にはA列「借り方」B列「貸し方」C列「残高」というシンプルなものです。
C列「残高」には「C1+A2-B2」という計算式を入れて2000行までコピペしていれています。

シート1の残高一覧表の例えば「三菱東京UFJ銀行」を押すと、三菱東京UFJ銀行シートの借り方、貸し方欄の末尾に飛ぶようなハイパーリンクの設定をしたいのですが、
現状では三菱東京UFJ銀行シートのA1セルに飛ぶだけです。
A列でCTRL+↓を行っても、A列に空白があるためにその度に止まってしまいます。CTRL+ENDだと2000行まで飛んでしまいます。
途中で空白行があっても、A列末尾まで飛ばすようなマクロ等の方法はありますか?
871名無しさん@そうだ選挙にいこう:2009/09/25(金) 07:49:57
>>868
Option Explicit

Sub Macro1()
Dim gyo, himogyo
gyo = Sheets("リスト").Range("A65535").End(xlUp).Row
himogyo = Sheets("紐付").Range("A65535").End(xlUp).Row
Sheets("リスト").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(R2C1:RC[-2],RC[-2])"
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C22")
Range("C2:C22").Select

For i = 2 To gyo
Sheets("リスト").Select
jjjame = Cells(i, 2)
team = Cells(i, 1)
kkkkk = Cells(i, 3)
For k = 2 To himogyo
Sheets("紐付").Select
If Cells(k, 1) = team Then
Cells(k, 1 + kkkkk) = jjjame
End If
Next

Next
End Sub

ピボット様はこれを見て怒るんだろうなぁ
872名無しさん@そうだ選挙にいこう:2009/09/25(金) 07:50:44
>>870
Sheets("sheet1").Range("A65535").End(xlUp).select
いちばん下にセルをおいてそこから上へ飛ばすのが確実
873名無しさん@そうだ選挙にいこう:2009/09/25(金) 08:37:32
>>868
>>871
VBAでやるなら並び替えくらい使えよ。
874名無しさん@そうだ選挙にいこう:2009/09/25(金) 11:25:08
>>873
文句言うなら自分でコードかけばぁ?
875名無しさん@そうだ選挙にいこう:2009/09/25(金) 13:55:04
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可

excelの関数で悩んでいます
下記の場合にA列ランダムに存在する文字列をB列に抽出したいのです
そういう関数ってありますか?またVBAならどういうものになりますか?

[例]
A列   B列
  
100   100
101   101
101   102
102   103
103
103
100
876名無しさん@そうだ選挙にいこう:2009/09/25(金) 15:23:38
VBA使えないのに大丈夫?
877名無しさん@そうだ選挙にいこう:2009/09/25(金) 16:58:52
>>875
ピボットテーブル作ってから見出しの列をコピペ
878名無しさん@そうだ選挙にいこう:2009/09/25(金) 17:20:48
>>875
関数だと
B1=1
B2=IF(C2<>"",MAX($B$1:B1)+1,"")
C1=IF(COUNTIF($A$1:A1,A1)=1,A1,"")
D1=VLOOKUP(ROW(),B:C,2,0)

VBAだと
Sub Macro2()
gyo = Range("B65535").End(xlUp).Row
Columns("B:B").Value = Columns("a:a").Value
Columns("B:B").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
For i = gyo To 2 Step -1
Cells(i, 2).Select
If Cells(i, 2) = Cells(i - 1, 2) Then
Cells(i, 2).Delete Shift:=xlUp
End If
Next
End Sub
またピボットさんに怒られるんだろうなー(´ω`)
879名無しさん@そうだ選挙にいこう:2009/09/25(金) 18:30:02
質問です。

A1からH8に
87654321
とあります、これをA2からA9に
1
2
3
4
5
6
7
8
としたいのですがどのようにしたらいいですか??教えてください。
お勉強になるので、できれば関数とVBA両方知りたいです。
よくばりですみません。お願いします。
880名無しさん@そうだ選挙にいこう:2009/09/25(金) 18:45:14
>>879
関数
A2に=OFFSET(A$1,0,9-ROW())って入れてA3〜A9にコピー
VBA
For i = 1 To 8
  Cells(10 - i, 1) = Cells(1, i)
Next
881名無しさん@そうだ選挙にいこう:2009/09/25(金) 18:52:03
>>879
同一シートだとA2〜A8まで範囲が重複してるから関数無理じゃね。
882名無しさん@そうだ選挙にいこう:2009/09/25(金) 18:53:15
>>878
きゃーーーーー!ありがとう!
VBAで抽出できました
( ^^) _旦~~ ゴクローサマデス
883名無しさん@そうだ選挙にいこう:2009/09/25(金) 19:28:14
>>879
別解
A2=INDIRECT("r1c"&10-ROW(),0)
下にコピーも同じ
>>882
おめでd
884名無しさん@そうだ選挙にいこう:2009/09/25(金) 19:42:11
>>872
dクス
それで逝きます
885名無しさん@そうだ選挙にいこう:2009/09/25(金) 19:51:42
>>978
VBAなら並び替えくらい使えよ。
886名無しさん@そうだ選挙にいこう:2009/09/25(金) 19:52:49
>>978に期待
・・って古いな
887名無しさん@そうだ選挙にいこう:2009/09/25(金) 19:52:53
と文句を言おうとおもったら、ちゃんと並び替え使ってるじゃないか。
進歩したな。
888名無しさん@そうだ選挙にいこう:2009/09/25(金) 19:55:59
今日は釣り質問と釣り回答ばっかりだなw
889名無しさん@そうだ選挙にいこう:2009/09/25(金) 20:00:04
>>880>>883
0
0
0
0
0
0
0
1
としかならないけど?
890名無しさん@そうだ選挙にいこう:2009/09/25(金) 20:08:59
>>879 >>889
=INDEX($A$1:$H$1,10-ROW())
を下までコピペ
891名無しさん@そうだ選挙にいこう:2009/09/25(金) 20:12:33
だから範囲が重複してんだって。

>>879
>A1からH8に

>これをA2からA9に



892861:2009/09/25(金) 20:17:09
>>863
レスありがとうございます
893名無しさん@そうだ選挙にいこう:2009/09/25(金) 20:20:28
>>879はA1からH1にの間違いじゃまいか
894名無しさん@そうだ選挙にいこう:2009/09/25(金) 20:50:23
>>893
だとしたら>>890をA2に貼ればいいのではまいか?
895名無しさん@そうだ選挙にいこう:2009/09/25(金) 21:03:22
>>894
いやまぁ、ありがちな間違いを言ってみただけで
本当に>>879の範囲はそれなのかもしれない

もしそうだとしたら、どう入ってるか分からないので回答の仕様がないね、と一応答えておく
896名無しさん@そうだ選挙にいこう:2009/09/25(金) 21:56:04
>>879です。
>>893その通りです。
間違ってました。すみません。
A1からH1です。本当に申し訳ないです。
教えてください。お願いします。


897名無しさん@そうだ選挙にいこう:2009/09/25(金) 21:59:41
みんなそのつもりで回等してるから大丈夫だよ試してみてでも次からは質問を間違えないでね
898名無しさん@そうだ選挙にいこう:2009/09/25(金) 22:07:30
>>896
>教えてください
って、今までの回答はまだ試して無いんか?コラ!
899名無しさん@そうだ選挙にいこう:2009/09/25(金) 22:15:01
そうなんだから教えてくださいとか言ってるんだし、分かってること聞くのは時間の無駄だよ・・
怒っても直らない人は直らないよ。諦めよう
900名無しさん@そうだ選挙にいこう:2009/09/25(金) 22:43:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 範囲 空白 空白で挟まれた

空白で挟まれたまとまりのデータの、それぞれの最大値を出したい。

   A 
1  0.1
2  0.3
3  0.2
4  
5  
6  0.2
7  0.1
8  0.1

10

のようなデータの並びが以下ずっと続きます。それぞれの空白で囲まれた範囲
の最大値を手動で出してたんですがもし自動で範囲を認識して出せる方法が
あったらぜひ教えていただきたいです。

空白は2つ以上空いています。

お願いします。

901名無しさん@そうだ選挙にいこう:2009/09/25(金) 22:52:56
>>897
>>898
すみません。質問してすぐ出かけて帰ってきて回答見てすぐ返信しました。
のっけからすべてがよくばりです。すみません、気をつけます。
902名無しさん@そうだ選挙にいこう:2009/09/25(金) 23:03:31
>>900
ピボットテーブルで。
903名無しさん@そうだ選挙にいこう:2009/09/25(金) 23:06:31
>>902
どのように操作すればいいんでしょうか?
904名無しさん@そうだ選挙にいこう:2009/09/25(金) 23:11:53
>>903
隣の列にグループを作成するんだ。

数値 グループ
0.1 =1
0.2 =IF(A3="",B2+1,B2)
0.3 オートフィル

その後ピボットテーブルレポートを作成し、グループ別の最大値をもとめればよい。
905名無しさん@そうだ選挙にいこう:2009/09/25(金) 23:23:58
>>900
Sub Macro2()
Dim gyo, saidai
saidai = 0
gyo = Range("A65535").End(xlUp).Row


For i = 1 To gyo
If saidai < Cells(i, 1) Then
saidai = Cells(i, 1)
End If
If Cells(i, 1) <> "" And Cells(i + 1, 1) = "" Then
Cells(i, 2) = saidai
saidai = 0
End If

Next
End Sub
関数はしんどすぎてやめた
906900:2009/09/25(金) 23:52:26
>>904>>905
素早い回答ありがとうございました。
正直理解したとはいえないですがちょっと調べてがんばってみます。
907名無しさん@そうだ選挙にいこう:2009/09/26(土) 00:46:46
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル、条件、カラー

例えばA1のセルの色が赤、A2のが青だとして、これを参照してB1、B2のセルの色を
自動的にそれぞれ赤、青にする方法はありますか?
セルの書式設定の数式条件というのはありましたが、セルの色で判定というのがわからず。。。

もしそれが無理な場合、A1のセルの値が1、A2の値が2だとして、これを参照してB1、B2のセルの色を
変えるなどということはできますでしょうか。
908名無しさん@そうだ選挙にいこう:2009/09/26(土) 01:35:44
>>907
前者はGETCELLなんとかとかいうの使わないとダメかも。

後者なら条件付き書式の設定で

数式が =A1=1 の書式のパターンを赤
追加で
数式が =A1=2 の書式のパターンを青

でできる。あとはB1から下までコピー。
909名無しさん@そうだ選挙にいこう:2009/09/26(土) 01:40:07
GET.CELLはセルの色調べるときに使う関数だった。
これで色番号調べて>>908の方法で条件付き書式設定する。
条件が3つ以上ならマクロ。
910名無しさん@そうだ選挙にいこう:2009/09/26(土) 01:43:12
うわ2007か。何度もごめん。忘れてください。
911名無しさん@そうだ選挙にいこう:2009/09/26(土) 01:44:42
>>900 関数作ってみたよ

Function GMax(範囲 As String, Optional グループ番号 As Integer = 1) As Variant
' 引数「範囲」で指定したセル範囲を検索して最大値を取得、空白セルが見つかったら
' そこからまた空白セルが見つかるまで最大値取得
' 引数「グループ番号」で数値を指定する事で取得した順にグループ別の最大値を返す
' 省略した場合は1番目の最大値を返す
Dim t As Variant, tD() As Variant, lX As Long, f As Boolean

Application.Volatile
ReDim tD(0, 1 To 100)
lX = 1
With ActiveSheet
For Each t In .Range(範囲)
If t.Value = Empty And f Then
lX = lX + 1
f = False
If lX >= 100 Then
ReDim Preserve tD(0, 1 To lX + 100)
End If
ElseIf t.Value = Empty Then
f = True
Else
f = False
If t.Value > tD(0, lX) Then
tD(0, lX) = t.Value
End If
End If
Next t
End With
GMax = tD(0, グループ番号)
End Function
912名無しさん@そうだ選挙にいこう:2009/09/26(土) 06:08:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 組み合わせ 関数

例えば

C列に
30,000
25,000
40,000
20,000
50,000

と入力されていた場合、

A1セルに100,000円と入力すると10万円に限りなく近い組み合わせ(ここでは30,000と20,000と50,000)が
選ばれるようにするにはどのような関数になりますか?
913名無しさん@そうだ選挙にいこう:2009/09/26(土) 07:26:31
VBA初心者のものです。よろしくお願いします。


Sub データ貼り付け()
For i = 1 To 8
Cells(559 - i, 1) = Cells(25, i + 3)
Cells(559 - i, 2) = Cells(26, i + 3)
Cells(559 - i, 3) = Cells(27, i + 3)

Next

End Sub

なんか効率がよくありません。
1    25
2    26
3    27     のところは一行で作れますか??

も1つ質問。

 




914名無しさん@そうだ選挙にいこう:2009/09/26(土) 09:04:42
>>913
Sub データ貼り付け()
For h = 1 To 3
For i = 1 To 8
Cells(559 - i, h) = Cells(h + 24, i + 3)
Next i
Next h
End Sub
915名無しさん@そうだ選挙にいこう:2009/09/26(土) 09:42:06
>>914
ありがとうございました。
916名無しさん@そうだ選挙にいこう:2009/09/26(土) 10:27:37
>>912
ソルバーというものを使うのですが・・

私も質問です
ソルバーがうまく使えません。どうすれば>>912は解けるのでしょうか
ttp://www1.axfc.net/uploader/Img/so/60336.jpg
組み合わせが25000、20000、50000で95000になってしまいます
917名無しさん@そうだ選挙にいこう:2009/09/26(土) 11:12:02
エクセル2003ですが右方向の列は”IV”までしかつかえないのですか?
まじ困るんですけど。
918900:2009/09/26(土) 11:18:26
>>911
ありがとうございます。がんばってやってみます。
919名無しさん@そうだ選挙にいこう:2009/09/26(土) 11:34:54
>>917
2007(65535列まで使えたと思う)にするか行列逆にするしかない
920名無しさん@そうだ選挙にいこう:2009/09/26(土) 11:48:15
921名無しさん@そうだ選挙にいこう:2009/09/26(土) 11:56:16
>>919
>>920
ありがとーです。
2007ほしくなったす。
922名無しさん@そうだ選挙にいこう:2009/09/26(土) 11:58:01
>>916
ためしに作ってみました。参考にしてください。
ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=2374
923名無しさん@そうだ選挙にいこう:2009/09/26(土) 12:15:23
質問です。
新しいセルの挿入をしたいです。
1つずつ挿入するのはできるのですが一気に100くらい挿入したいのですが、
簡単にできる方法はないでしょうか?
教えてください。
924名無しさん@そうだ選挙にいこう:2009/09/26(土) 12:20:42
挿入したい範囲を選択してから挿入 列や行を選択してから挿入も可
925名無しさん@そうだ選挙にいこう:2009/09/26(土) 12:51:49
>>924
ありがとうございます。解決しました。
926名無しさん@そうだ選挙にいこう:2009/09/26(土) 13:58:15
>>922
天才現る?
927名無しさん@そうだ選挙にいこう:2009/09/26(土) 14:32:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 大変 勝手ですが ここにこれを打ち込め・・・みたいのなら出来るかも・・・・

業務日報を作成しています。
1Book(1日分)に6シート(1日を6時間帯に)で作成しています。
毎回6シートを Ctriで全部選んでおいて 日時のところを手打ちで変えています。
この作業を簡略化する方法は無いでしょうか?
日時のところを ○月○日(○曜日)〜○月○日(○曜日)のような指定方法で
1か月分をまとめてプリントアウトできるような・・・

よろしくお願いいたします
928名無しさん@そうだ選挙にいこう:2009/09/26(土) 14:41:32
>>927
プリントアウトするだけ?
なら最初から6シート*31日分作ってしまうほうほうでも良い?
929名無しさん@そうだ選挙にいこう:2009/09/26(土) 14:48:12
プリントアウトして 使用するだけです。
1Bookに 186枚 作成するのですか?
930名無しさん@そうだ選挙にいこう:2009/09/26(土) 14:53:22
すみません >>929は
>>928様への 返信です
931名無しさん@そうだ選挙にいこう:2009/09/26(土) 14:55:35
>>929
やっつけ仕事でいいならそうするかなぁ

シート名の一桁目が時間(1-6)、二桁目三桁目が日付とし、11〜316のシートを作る。シート数は186枚だな
A1に平成の年数
B1に月を入力
C1=INT(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))/10)
D1=DATE(A1+1988,B1,C1)
で書式設定を「aaa」にする

そうすれば年月日と曜日はシートに合わせて自動的に入力される
後はctrlでシートを選択し、一度に印刷するだけだな

本当はVBA使ったほうがいいんだろうけどねぇ

932名無しさん@そうだ選挙にいこう:2009/09/26(土) 14:59:06
印刷して手書きするものならWordで差し込み印刷でもいいかもね
933名無しさん@そうだ選挙にいこう:2009/09/26(土) 15:08:23
>>929
ttp://www1.axfc.net/uploader/Sc/so/39939.xls
こんな感じかな。他にいい方法も思いつかない
934名無しさん@そうだ選挙にいこう:2009/09/26(土) 15:11:01
>>931〜932様
アップロードの手間取り 遅くなりすみません
こんなのを 作っています
tp://www.dotup.org/uploda/www.dotup.org186296.xls.html
aaaaa
935名無しさん@そうだ選挙にいこう:2009/09/26(土) 15:16:58
>>933様
ありがとうございます。
じっくり 見させて頂きます〜 ヘタレで・・・すみません。
頭で理解するのに しばらく時間がかかると・・・
936名無しさん@そうだ選挙にいこう:2009/09/26(土) 15:25:14
>>934
暇だからVBAで作るわ
ただプリント関連はVBAのバージョン・環境によって動かない可能性が高いので
あまり期待しないでね
937名無しさん@そうだ選挙にいこう:2009/09/26(土) 15:27:28
>>936さま
ありがとうございます。
日報の中身から 職種 推察されたと思います
すみません
今から少し 仕事に出てきます
938名無しさん@そうだ選挙にいこう:2009/09/26(土) 15:47:43
>>937
完成。やっぱり元のデータあると楽だわ
ttp://www.dotup.org/uploda/www.dotup.org186419.xls.html
aaaaa
939名無しさん@そうだ選挙にいこう:2009/09/26(土) 16:34:47
>>938さま
帰ってきました。
本当に お手数 おかけしました〜 ありがとうございました
ダウンロード済ませたので 今から試してみます
もう1つだけ 質問させて頂いていいでしょうか?
ずうずうしくてすみません
PCに関しては 全くの素人です
EXCELも使いながら 覚えました
後 出来る事は HPをHTMLの本を買って 自分で作成してみました
そんな程度ですが 今後 VBAっていうのは勉強した方が EXCELを扱うには便利なものでしょうか?
独学するにあたって お勧めの本なんかあります?
それとも 学校とかに行かないと無理なものでしょうか?
940名無しさん@そうだ選挙にいこう:2009/09/26(土) 16:40:44
シート186枚って管理たいへんだよ
1シート1日にして改ページ挿入で6ページにした方がいいとおもうけどねー
941名無しさん@そうだ選挙にいこう:2009/09/26(土) 16:59:34
>>940
ああ、そうだそうした方が断然良かった。まぁ、いいか
>>939
覚えてる方が便利だけど、覚えてなくても大概の事はできるからなぁ。
別に覚えてなくてもいいんじゃないs?と思うけど。
それでも覚えたいなら、マクロの記録を改変するところから始めた方が早く覚えられると思う
「○○を自動化させたい」と思ったらその作業をマクロの記録で記録して、必要なところを変えていく
後はfor文とif文覚えたらたいていの事はできるよ
942名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:17:59
>>941さま
重ね重ね ありがとうございます
すごい!!です
10月分が 月を入れるだけで 一気に出てきました
感激です!!
勉強の方は・・・
必要な事づつ 教えていただいて事を参考に 覚えてみます
本当に ありがとうございました
>>940さま
いろいろ考えて頂いて ありがとうございました
ワードはほとんど使った事が無く・・・
使い方が分からないせいなのですが〜 自分の勉強不足なのですが〜
行頭に数字を使うと 勝手に箇条書きになるし
図を入れると 図の大きさだけ行の高さ?食っちゃうし
毎回 悪戦苦闘して EXCELで作り直してます
最近は セルを細かく設定しといて おり込みチラシなんかもEXCELで作ってます
花子も買ってみたのですが まだ 使いこなせなくて・・・
すみません・・・  愚痴ってしまいました
ありがとうございました
>>お2人さま
PCと格闘してると楽しくて これからも頑張ります
また よろしくお願いいたします
943名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:29:43
>>942

お前はVBAよりもまずワープロ覚えろ。その方がいい。絶対。
944名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:33:15
イインジャナイノ?使いやすいほうで
俺もワード使えないけど別に不自由してないし
ワードの機能は切れるだけ切れば結構使いやすくなったとは思うけど、どうも合わないわ
945名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:40:31
Wordは段落を構造化してスタイルを設定、という考え方が頭に入ってないと
いつまでたっても自由に使えない。
Excelは何も考えなくても覚えれば覚えたなりに使える。
946名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:43:40
>>943さま
すみません・・・・です
ワードは 放棄しました
ワープロ使った事が無く PCに入っちゃったもんで・・・
いつか 必要に迫られたら・・・ きっと・・・・
947名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:50:10
>>945
だから>>942のようなやつがExcelに飛び付くんだな。
Excel文書は悪戦苦闘の末の力作なんで作った本人は満足げだが、客観的にみるとDQN丸出しで読む気がしない。
948名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:53:13
word vs excel Z 宿命の闘い
はっじまっるよ〜^^
949名無しさん@そうだ選挙にいこう:2009/09/26(土) 17:57:23
>>947さま
Wordは段落を構造化してスタイルを設定・・・
打てばいいもんだ〜ってことしか 思いつきませんでした
また 覚えてみます
ありがとうございました
終業時間なので 失礼します
本当に お世話になりました
950名無しさん@そうだ選挙にいこう:2009/09/26(土) 18:39:57
5列*10行の表があるのですが、
それを右側にずーと連続でコピーしたいのですが、(列の幅も)
簡単な方法おしえてください。お願いします。
(1つ1つコピーはできます)
951名無しさん@そうだ選挙にいこう:2009/09/26(土) 18:53:11
>>950
BCDを非表示にして、A〜Eをコピー→はりつけてから非表示解除ぐらいしか
952名無しさん@そうだ選挙にいこう:2009/09/26(土) 19:34:52
こんばんは、質問です、よろしくお願いします。


Sub k()

Range("a1").Font.ColorIndex = 3

End Sub

を入力したのですが実行できません。
どこがわるいのですか?
教えてください。

953名無しさん@そうだ選挙にいこう:2009/09/26(土) 19:39:20
>>952
できるよ
文字も赤くなってる
954名無しさん@そうだ選挙にいこう:2009/09/26(土) 19:44:40
>>952
>>953と同じくできる。
955名無しさん@そうだ選挙にいこう:2009/09/26(土) 21:00:47
>>952です。
>>954

まだできません。cellsにしてやってもみたけど。
なぜでしょう。?
956名無しさん@そうだ選挙にいこう:2009/09/26(土) 21:10:17
>>955
構文自体は問題なさそうなのでもしかしたらほかのシート(またはブック)に
実行されていないですか?
957名無しさん@そうだ選挙にいこう:2009/09/26(土) 22:25:09
>>917
OpenOffice.orgなら1024列使用できます。
しかも無料ソフト。
958名無しさん@そうだ選挙にいこう:2009/09/26(土) 23:14:01
>>952
おまえそれをどこに書いて実行してんねん。
それ次第ではバラスゾこら。
959名無しさん@そうだ選挙にいこう:2009/09/26(土) 23:26:21
>>952
Sub k()

Range("a1").Font.ColorIndex = 3

End Sub
end sub
とかになってませんかねーあと>>958は多分アウトだから一応反省の書き込みしといたほうがいいかもしれないわよー
960名無しさん@そうだ選挙にいこう:2009/09/27(日) 01:01:56
>>958
VBEです。
いろりろすみませんでした。
961名無しさん@そうだ選挙にいこう:2009/09/27(日) 02:37:15
>>871
お礼遅くなってごめんなさい
動作確認しました、ありがとう

やっぱ2000行くらいのデータ抽出かけるとすごい時間になるねぇ
962名無しさん@そうだ選挙にいこう:2009/09/27(日) 06:00:11
>>961
すごい時間になるのは>>871のプログラムに無駄があるからじゃないのかなあ
ループの中で同じシートを何度もSelectしてるとことか

もし本番のデータ量がもっと多いなら、こういうのはVBAスレで聞くと、
高速なプログラムを作ってくれる人がいると思うよ
963名無しさん@そうだ選挙にいこう:2009/09/27(日) 07:05:13
>>952>>960
左のVBAProjectで実行したいsheetを選んでダブルクリックすればコードを記述
するウィンドウが立ち上がるのでそのウィンドウに書いて実行すると選んだ
sheetに実行されるはずだけど、どう?出来ましたか?

ダメならマクロで作ってみて確認してくれ。
964名無しさん@そうだ選挙にいこう:2009/09/27(日) 08:54:16
>>961
配列に入れて最後にセルに移せばかなり早いよ
もしVBA覚える機会があったらやってみるといいかも。俺はめんどくさい。
965名無しさん@そうだ選挙にいこう:2009/09/27(日) 11:16:38
>>964
めんどくさいよね。
なんでExcel使ってそこまでやりたいんだろう。
そこまでやるならExcelなんて使わなくていいのに。
そもそもなんでExcelなんか使っているのか思い出してほしい。
966名無しさん@そうだ選挙にいこう:2009/09/27(日) 11:29:43
>>965
VBA覚えたいんでしょ?
ピボット使えば早いことは知ってるみたいだし
それ以外なんかあるんだろうか
967名無しさん@そうだ選挙にいこう:2009/09/27(日) 13:38:40
>>868 >>961
俺も作ってみたよ

Option Explicit
Type ListDate
Tame As String
Name As Collection
End Type

Sub aaa()
Dim vH As Variant, vL As Variant, cL() As ListDate, lX As Long, lX2 As Long

With Worksheets("紐付")
vH = .Range("A2:A" & (.Range("A" & .Rows.Count).End(xlUp).Row))
End With
With Worksheets("リスト")
vL = .Range("A2:B" & (.Range("A" & .Rows.Count).End(xlUp).Row))
End With

ReDim cL(1 To UBound(vH, 1))
For lX = LBound(vH, 1) To UBound(vH, 1)
cL(lX).Tame = vH(lX, 1)
Set cL(lX).Name = New Collection
Next lX

For lX = 1 To UBound(vL, 1)
For lX2 = 1 To UBound(cL, 1)
If cL(lX2).Tame = vL(lX, 1) Then
cL(lX2).Name.Add Item:=vL(lX, 2)
End If
Next lX2
Next lX
968名無しさん@そうだ選挙にいこう:2009/09/27(日) 13:39:27
>>967 の続き

lX = 0
For lX2 = 1 To UBound(cL, 1)
If lX < cL(lX2).Name.Count Then
lX = cL(lX2).Name.Count
End If
Next lX2

ReDim vH(1 To UBound(cL, 1), 1 To lX + 1)
For lX = 1 To UBound(cL, 1)
vH(lX, 1) = cL(lX).Tame
For lX2 = 1 To cL(lX).Name.Count
vH(lX, lX2 + 1) = cL(lX).Name.Item(lX2)
Next lX2
Next lX

Worksheets("紐付").Range("A2").Resize(UBound(vH, 1), UBound(vH, 2)) = vH
End Sub
969名無しさん@そうだ選挙にいこう:2009/09/27(日) 15:56:59
>>965
エクセル初心者のものです。
エクセルってマジ使えるなー、すごいなーと最近思っているのですが、
エクセルよりもっとすごいのがあるのですか?

>>そもそもなんでExcelなんか使っているのか思い出してほしい。

どういう意味ですか?


すみませんよくわからなかったので、、、ぜひ教えてください。
970名無しさん@そうだ選挙にいこう:2009/09/27(日) 16:01:49
短くしてみた。(いちいち最終列を探すので時間はかかる)

Sub hoge()
  With Sheets("紐付")
    TeamNum = .Range("A65536").End(xlUp).Row
    For i = 2 To Sheets("リスト").Range("A65536").End(xlUp).Row
      For j = 2 To TeamNum
        If Sheets("リスト").Cells(i, 1) = .Cells(j, 1) Then _
        .Cells(j, .Range("IV" & j).End(xlToLeft).Column + 1) _
        = Sheets("リスト").Cells(i, 2)
      Next j
    Next i
  End With
End Sub
971名無しさん@そうだ選挙にいこう:2009/09/27(日) 16:38:44
>>969

逆に教えて。
なぜ君は抽出プログラムを作成したかったの?
972名無しさん@そうだ選挙にいこう:2009/09/27(日) 16:52:31
>>969

VBAで抽出プログラム作ったとして、それがはたして

> エクセルってマジ使えるなー、すごいなー

なんだろうか?

> エクセルよりもっとすごいのがあるのですか?
そういう話をしているのではない。

973名無しさん@そうだ選挙にいこう:2009/09/27(日) 17:04:16
ピボット厨にも変な奴っていたんだな
974名無しさん@そうだ選挙にいこう:2009/09/27(日) 17:04:52
何で絡んでるんだろw
975名無しさん@そうだ選挙にいこう:2009/09/27(日) 17:24:09
初心者質問です。お願いします。
2003  VBAでの回答希望。

A1からA10の数値(0〜正の数)の平均をA11に表示したいです、、、

関数でいくと
A11=sum(A1:A10) / countif(A1:A10,">0")

というのをVBAで作りたいのですが。。。

よろしくお願いします。
976名無しさん@そうだ選挙にいこう:2009/09/27(日) 17:39:30
>>975
Sub a()
Range("a11") = Application.WorksheetFunction.Average(Worksheets("Sheet1").Range("A1:a10"))
End Sub
977名無しさん@そうだ選挙にいこう:2009/09/27(日) 17:50:26
>>976
ありがとうございます。
もう一つ聞きたいのですが、よろしくお願いします。
A1からA10までの合計だけをだすにはどのようにすればよいですか? 
978名無しさん@そうだ選挙にいこう:2009/09/27(日) 17:55:33
応用が利かないヤシだなw
979名無しさん@そうだ選挙にいこう:2009/09/27(日) 18:29:27
>>977

VBAで合計と平均を出す方法がわかったとして、それが何の役に立つ?
980名無しさん@そうだ選挙にいこう:2009/09/27(日) 18:58:26
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

vbaの質問です。
フォーム上にコンボボックスが2つある状態で、
コンボボックス1でドロップダウンして値を選択すると、コンボボックス2がドロップダウン状態になるようにしたいのですが、
下記のコードではドロップダウンしてくれませんでした。(コンボボックス1が既にドロップダウン状態のため?)
何かいい方法はありますでしょうか?

Private Sub Combobox1_Change()
Combobox2.dropdown
End Sub
981名無しさん@そうだ選挙にいこう:2009/09/27(日) 19:29:16
>>977
Averageをsumにかえる
ちなみにこれはワークシート関数をVBAの中で使ってるって意味だから覚えておいてね
982名無しさん@そうだ選挙にいこう:2009/09/27(日) 19:42:11
>>980
Private Sub ComboBox1_DropButtonClick()
ComboBox2.DropDown
End Sub

こんな感じ?
Combobox1_Change()は直接入力した時のイベントっぽいね
983名無しさん@そうだ選挙にいこう:2009/09/27(日) 19:44:49
そろそろ次スレ立てて下さい、誰かお願いします。私はホストの関係上無理でした。テンプレ↓
Excelに関する質問は、ここで!

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

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

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

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

前スレ
Excel総合相談所 86
ttp://pc11.2ch.net/test/read.cgi/bsoft/1251490200/
984名無しさん@そうだ選挙にいこう:2009/09/27(日) 20:08:33
>>982
回答ありがとうございます。
今EXCELが手元にないので今度試してみます。
985名無しさん@そうだ選挙にいこう:2009/09/27(日) 20:30:42
>>981
ありがとうございます。
もっと勉強して頑張ります。
986 ◆Excel//q4U :2009/09/27(日) 21:57:21
立てたよ
Excel総合相談所 87
http://pc11.2ch.net/test/read.cgi/bsoft/1254055959/
987名無しさん@そうだ選挙にいこう:2009/09/27(日) 23:29:06
VBA厨って基本的な考え方、発想が滑稽だな。
例えば>>969みたいな。
おい。>>969よ。お前はなんでExcel使ってるの?
私は楽したいからだ。お前は違うの?
988名無しさん@そうだ選挙にいこう:2009/09/28(月) 00:31:19
人間には好奇心というものがあってだな
989名無しさん@そうだ選挙にいこう:2009/09/28(月) 01:06:02
ドン引きするスレ住民であった
990名無しさん@そうだ選挙にいこう:2009/09/28(月) 01:07:11
ぎえええええ
991名無しさん@そうだ選挙にいこう:2009/09/28(月) 01:07:53
>>986

992名無しさん@そうだ選挙にいこう:2009/09/28(月) 02:33:13
>>986
 *-+。・+。-*。+。*
  \   。*゚
  ∩ *
  (・ω・`)
  。\  つ
  *  丶 _⊃
 +。  ∪   ☆
  ゚+。*。・+。-*。*゚

993名無しさん@そうだ選挙にいこう:2009/09/28(月) 06:22:10
>>967-968
>>970
複数回答ありがとうございます
今のPCにはEXCELはいってないので……
実行は今日試してみます、次スレいきそうなので今のうちに・・・

>>971
自分でもVBAで同様のコード作っていたけど行き詰まり
countifしたあとにRC参照で、キーに一致したら横にずらしていくみたいなやり方で
ピポットのような動きにならないか検証したかったので

ちなみに>>969>>972は自分ではありませぬ
(だからどーだこーだ、言うことはないけど

994名無しさん@そうだ選挙にいこう:2009/09/28(月) 07:20:19
うめましぉー
995名無しさん@そうだ選挙にいこう:2009/09/28(月) 07:36:59
>>988
その好奇心の向け先がなあ。
VBAでSUM()を作る方法なんておもしろいか?
996名無しさん@そうだ選挙にいこう:2009/09/28(月) 10:16:07
ピボット様のお怒りじゃ〜
くわばら くわばら・・
997名無しさん@そうだ選挙にいこう:2009/09/28(月) 10:18:47
http://pc11.2ch.net/test/read.cgi/bsoft/1254055959/10n-
次スレはここじゃ〜
みなのもの 逃げ遅れるでないぞ〜
998名無しさん@そうだ選挙にいこう:2009/09/28(月) 10:47:41
>>995
「画面にハローワールドなんて出して面白いか?」
999名無しさん@そうだ選挙にいこう:2009/09/28(月) 11:21:58
うめ
sub end()
exit
end sub
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。