Excel総合相談所 61

このエントリーをはてなブックマークに追加
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総合相談所 60
http://pc11.2ch.net/test/read.cgi/bsoft/1190003577/

*推奨NGネーム*
せんせー ◆adhRKFl5jU
2名無しさん@そうだ選挙にいこう:2007/10/18(木) 22:13:03
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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名無しさん@そうだ選挙にいこう:2007/10/18(木) 22:13:34
★ルールを無視すると…
 >>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名無しさん@そうだ選挙にいこう:2007/10/18(木) 22:14:04
★ 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名無しさん@そうだ選挙にいこう:2007/10/18(木) 22:14:35
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

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

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
7名無しさん@そうだ選挙にいこう:2007/10/18(木) 22:18:41
>>1
乙 おまえさんは神様かい?
81:2007/10/18(木) 23:29:11
まぁいいってことよ
9名無しさん@そうだ選挙にいこう:2007/10/19(金) 00:10:55
>>8
にせもの乙
10名無しさん@そうだ選挙にいこう:2007/10/19(金) 00:26:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 日付 非表示

7日サイクルの予定表を作成したいのです。

A1に2007/10/19という日付を入れて、B1に=A1+7にすると2007/10/26と表示されますが
B1を下にコピーすると、B2、B3はA2,、A3に日付が入っていないので、1900/1/7となってしまいます。

そこで
A2、A3に日付が入っていない場合、1900/1/7をのセルを空白にし、
A2、A3の各セルに日付を入れたら、同時にB2、B3のセルにB2+7、B3+7の日付を表示させる。

という事がしたいのです。。。
ご存知の方おりましたらご回答の方何卒、よろしくお願いします。


11名無しさん@そうだ選挙にいこう:2007/10/19(金) 00:34:04
>>10
B2に

=IF(A2="","",A2+7)

と入れればOK。
A3にはそのままコピー。
1210:2007/10/19(金) 00:40:53
>>11

おーーー。
ありがとうございます。
これで明日までの資料間に合います。感謝!
13名無しさん@そうだ選挙にいこう:2007/10/19(金) 00:47:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 SP2
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

チェックボックスやオプションボタンを適当に貼り付けたいのですが、
以前はきちんとできていたのが、
いつのまにか、以前のものと違うものになっていました。
・最初の文字列が英語 チェック〜→checkbox1
・ダブルクリックでbisual basicのウインドウが開く
・右クリックしたときのメニューの内容
具体的に困っているのは、コントロールの書式設定のコントロールタブを見たいのですが
これもありません。
どうすればもとのように戻るのでしょうか??
14名無しさん@そうだ選挙にいこう:2007/10/19(金) 00:59:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel Trim 書式 消えない

ー目的ー
受け取ったデータベースで、電話番号セルの無駄スペース(03-3333-3333_ みたいな)を削除。

ー状態ー
該当セルの書式の表示形式は”数値”。
表示形式をどう変えても見た目は変わらず。
セルをコピーし、形式を選択して貼り付けで”値”にしても変わらず。

Trim(A1)でもSubstitute(A1," ","")でも取れません。
他セルに仮に実験してみるとちゃんと変換するので、シート自体は問題ないようです。
ちなみにSubstitute(A1,"−","")で”−”は取れます。

どうしてもわからなかったので、どなたかご教授願います。

15名無しさん@そうだ選挙にいこう:2007/10/19(金) 01:04:45
>>14
"-"を""に置き換えとかだめ?
1615:2007/10/19(金) 01:07:43
>>14
うわ、ごめんなさい。
"-"を取るんじゃないんだよねorz
17名無しさん@そうだ選挙にいこう:2007/10/19(金) 01:50:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003

縦書きの文字列を逆さまに表示する方法はありますか?

お願いします。
18名無しさん@そうだ選挙にいこう:2007/10/19(金) 02:11:13
>>17
フォントに「@MS PGothic」(@付きにするってこと)、書式の配置を90度
等設定して細かいところはがんばって微調整するかあきらめる。
19名無しさん@そうだ選挙にいこう:2007/10/19(金) 02:35:20
>>18
ありがとうございました。
うまくいきました。
20名無しさん@そうだ選挙にいこう:2007/10/19(金) 09:49:28
>14
半角スペースと全角スペースの間違いだったりして。

21名無しさん@そうだ選挙にいこう:2007/10/19(金) 09:53:52
>>14
私は、置換で取りますよ。
半角、全角試してね。
22名無しさん@そうだ選挙にいこう:2007/10/19(金) 10:29:56
>14
=Substitute(A1, " ","")
              ↑
   ここを元データからコピペしてみては?
23名無しさん@そうだ選挙にいこう:2007/10/19(金) 12:58:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAでマクロを作っているのですが一日悩んでも答えが出ないので質問させてください
A1*B1のように同じ行にあるセルの数値を使う数式を作りました
他の行にも同じ数式を使いたい場合、オートフィルで自動的にA2*B2と変えられますが
条件分岐で条件によってはA1*B1,A1/B1というように使う数式を変えています
このIfからEnd If内の数式の項をオートフィルのように自動的に変える方法を教えてください
ヒントでも結構ですのでよろしくお願いします
24名無しさん@そうだ選挙にいこう:2007/10/19(金) 13:30:42
>23

選択肢は二つ。
・冷静に自分の書き込みを読み返して仕様を書き直す。
・エスパーの登場を待つ。
25名無しさん@そうだ選挙にいこう:2007/10/19(金) 14:32:21
>23
何がやりたいのか分からんが、
VBエディタでオートフィルをしたいという事なら
シート上でオートフィルしておいてコピペすれば?
26名無しさん@そうだ選挙にいこう:2007/10/19(金) 15:01:13
同じ処理を並べて書くよりはループで回した方が…
27名無しさん@そうだ選挙にいこう:2007/10/19(金) 15:05:48
>>23です

説明が下手ですみません
目的はこのIf〜End Ifを1行目〜最終行まで適用したいのです
For〜Nextで繰り返し処理をすればいいと思うのですがうまくいきません
28名無しさん@そうだ選挙にいこう:2007/10/19(金) 18:03:37
ユーザー定義関数に引数作ってオートフィルって話なのかな?
29名無しさん@そうだ選挙にいこう:2007/10/19(金) 18:25:56
>>14
該当セルの書式が "数値" ってのは後から設定したと深読みしてみる
(もともと "標準" で文字列として扱っていたセルを数値に変更したんじゃない?)

Substitute(A1,"−","")で "−" が取れるってことだから、"文字列" が入力されているってことで間違いないね
そうであれば "03-3333-3333" の右側には何もなくて 「左寄せ」 になっているだけだと思う
該当セルを選択して数式バーまたはF2キーを押して文字の最後に不要なスペースが含まれていないか確認してみよう

数値として扱いたいなら "-" を空白に置換えして削除
その後セルの書式設定でその他を選んでそこから電話番号を選択かな
30arisa ◆QaHT6HayjI :2007/10/19(金) 19:11:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(10年VisualBasic触ってないからあまり覚えてない
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 一つおき 参照

あまりエクセルは使わない人です。測定器のテストのためにデータつくるのでちょっとしたことで困っています。

データが、例として
 ゆ
 か
 り
 か
 わ
 い
 い

とあったとします。これを参照して、
 ゆ
 ゆ
 か
 か
 り
 り(以下略)
のようにしたい場合、どうしたら・・・・・コピペだとセルが一つずれたりしてしまってうまくいかず。
かといって、そのためにプログラム組むのも微妙。
31arisa ◆QaHT6HayjI :2007/10/19(金) 19:15:55
スマソ

INDEX() と ROW() でいけそうな気がしてきた。
32名無しさん@そうだ選挙にいこう:2007/10/19(金) 19:19:23
まず、左側に奇数番号振る。1、3と入力してオートフィルでおk
1ゆ
3か
5り
7は
9ん
11に
13ゃ
で、下にコピーして、コピーしたものの左には偶数番号振る
2ゆ
4か
6り
8は
10ん
12に
14ゃ
最後に並べ変えれば2文字ずつ
33arisa ◆QaHT6HayjI :2007/10/19(金) 19:29:44
基準点のセルをE$3とした場合

INT((ROW()-ROW(E$3))/2)

で2つとびの値が入ってくるので、

INDEX(範囲,INT((ROW()-ROW(E$3))/2)+1)


ってこんなことせずに

1
1
2
2
3
3
をがーーーって作ってINDEX(範囲,番号)
でよい気がしてきた。


>>32
ちょっと意味がわからないけどありがと。データがたくさんあって番号振るのがまんどくせ。
あと、はんにゃなのは、真正面から写真撮るからだとおもわれ。


34名無しさん@そうだ選挙にいこう:2007/10/19(金) 19:36:23
>>27
最終行を取得してループすると言うことなら答えは自分でだしてるじゃん
35名無しさん@そうだ選挙にいこう:2007/10/19(金) 19:59:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ

フィルターかけて昇順降順にするとこんなんになります。

本1
本10
本11
本12
本13
本2
本3
本4
・・・・
これを1・2・3・4・・・と並べる方法はないでしょうか?
36名無しさん@そうだ選挙にいこう:2007/10/19(金) 19:59:53
1 元データの横の列に連番を振る
2 元データを連番を含めてコピーし、最下行に付け足す
3 連番をキーに並び替える
37名無しさん@そうだ選挙にいこう:2007/10/19(金) 20:11:06
>>35
1 元データを隣の列にコピー。
2 コピーした方の列を選択して、置換前「本」置換後「」(←空白)で置換。
3 残った数字でソート。
38名無しさん@そうだ選挙にいこう:2007/10/19(金) 20:33:07
うーん、難しいんですね^^;
これが本の他に文庫・雑誌と同じ列にあるのでそうなるとできないんでしょうか。
39名無しさん@そうだ選挙にいこう:2007/10/19(金) 20:35:48
それぞれ別シートに貼って>>37で並び替えてから、元シートに戻せばいいじゃん
40名無しさん@そうだ選挙にいこう:2007/10/19(金) 20:50:56
置き換えから分らないんで、スレ汚しすみませんでした、私には無理っぽいです
41名無しさん@そうだ選挙にいこう:2007/10/19(金) 20:52:13
本01、本02とすれば順番に並ぶわけだが
42名無しさん@そうだ選挙にいこう:2007/10/19(金) 20:55:30
>>40
Ctrl+H
43名無しさん@そうだ選挙にいこう:2007/10/19(金) 21:44:59
作業列作って作業列で並び替えればいい
44名無しさん@そうだ選挙にいこう:2007/10/19(金) 22:10:01
レス下さった方々ありがとうございます。

>>20
各セルのスペースは半角も半角*2もあったし、そこは抜かりないだろうと思います。

>>21
Substituteでのと同様に、”-”や”数値”は取れてもスペースは取れず。
半角全角試しました。

>>22
試したけどダメでした。変化なしです。

>>29
セルを右寄せして不要スペースは確認しています。
”-”削除のうえ書式設定の電話番号もダメです(×1させても数値にならず)。


結局、今日中に仕上げたかったので、「F2」→「BS」→「ENTER」を何千回繰り返しましたw
しかし気になるなぁ・・・
45名無しさん@そうだ選挙にいこう:2007/10/19(金) 22:24:39
>>14 >>44
遅いかも知れぬが、逆に電話番号を抜きだしたらどうだろう?
=left(a1,12) 
46名無しさん@そうだ選挙にいこう:2007/10/19(金) 22:26:03
>>44
=clean(A1)
4714:2007/10/19(金) 22:50:09
レスありがとうございます。

>>45
試したらうまくいきました!
スペースに目が行きすぎて、全くその発想は出てきませんでした(汗
一気にスッキリ晴れた気分になれました。

>>46
ごめんなさい、意図よくわからなかったです。
48名無しさん@そうだ選挙にいこう :2007/10/20(土) 02:30:37
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA セル 位置 取得

ExcelのVBAで、選択したセルの位置情報取得を試みています。 記述は
Sub A_01()
Range("A1").Value = Selection.Rows.Count
Range("A2").Value = Selection.Columns.Count
End Sub

として、選んだセルの行・列をそれぞれA1,A2に代入しようとしていますが
何も現れません。
どうすべきでしょうか?

あと、Private Sub の Private とはどういう意味なのでしょうか?
49名無しさん@そうだ選挙にいこう:2007/10/20(土) 03:00:25
>>34
言い方が気にくわねぇよ
なおせ
殺すぞてめー

えらそーな口きいてんじゃねーぞ
50名無しさん@そうだ選挙にいこう:2007/10/20(土) 03:00:50
■■■■■■■■■■■■■■■■■
大多数のまともな回答者の皆様は、ごくろうさまです。

本日も勘違い回答者、高飛車回答者、高圧的回答者、自己満足回答者、
ストレス発散目的の回答者、優越感目的の回答者に制裁を下します
■■■■■■■■■■■■■■■■■

51名無しさん@そうだ選挙にいこう:2007/10/20(土) 03:17:02
>>44
そのスペースに見えるものが表示されない文字ということはありませんか。
試しに文字パレットなどで文字コードを確認してみてはどうでしょう。
52名無しさん@そうだ選挙にいこう:2007/10/20(土) 05:41:43
>>48
.Row '行
.Column '列
.Address'アドレス
53名無しさん@そうだ選挙にいこう:2007/10/20(土) 07:04:30
【1 OSの種類       .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか  .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】Rows excel vba 結合

vbaで行の選択をして、フィルターをかけたいと思っています。
で、行を選択するとき結合セルを含む場合うまくいきません。

たとえば2行目を選択したい場合で、セルC1とC2が結合、
D1とD2が結合されている場合
マクロの記録で以下のコードとなりました。
Rows("2:2").Select

しかし、vbaで上記コードを実行すると1行目も選択されてしまいます。
2行目のみ選択したいのですが
ご存知の方おりましたらご回答の方何卒、よろしくお願いします。
54名無しさん@そうだ選挙にいこう:2007/10/20(土) 08:00:59
>48
>Private とはどういう意味なのでしょうか?

自分の物。
対してPublicがみんなの物。

これ以上は本でも買うかググってくれ。
55名無しさん@そうだ選挙にいこう:2007/10/20(土) 09:35:57
Vista、Excel2007です。
セキュリティ機能によって外部データアクセスがブロックされました。
(リボンの外部データ取り込みがグレー表示になって無効)

VBAでWebクエリ機能を使っていたのですが、アクセスの途中で
エラー(1005)になり、マニュアルでWebクエリしようとしたのですが
できません。
どうすれば、プロックを解除できるのでしょうか。
よろしくお願いします。
56名無しさん@そうだ選挙にいこう:2007/10/20(土) 11:51:58
>>53
無理。
事前に結合を解除して、処理後にまた結合するよう組みなさい。
57名無しさん@そうだ選挙にいこう:2007/10/20(土) 12:32:16
ブックの中に、A4の沢山のシート(縦、横混在)があり、全部印刷して一冊の報告書になるファイルを作成しました。
全てを印刷してA4縦のバインダーに綴じたのですが、フッダーにふったページが、
A4横のシートの分が、バインダーの下部ではなく、横にきてしまいます。
A4横のシート(写真張り付けやグラフ等混在してます)のページ印刷位置をA4縦の位置と同一にする事は出来ますか?
58名無しさん@そうだ選挙にいこう:2007/10/20(土) 12:41:37
無理。
自分でフッターをつくって90度回転させて張り付けるしかない
5948:2007/10/20(土) 12:48:27
>>52, 54
てんきゅう。
今から紀伊国屋に行きます。
60名無しさん@そうだ選挙にいこう:2007/10/20(土) 14:01:17
>>49
まあ詳細がわからないのでな…

適当に想定して作ってみた
A列セルの値が6以下かどうかで式を分岐させ、C列に式の答えが出ます。
A列B列は適当に作ってください。

Sub naoshita()
  Dim i As Integer
  i = Range("A65536").End(xlUp).Row
  For i = 1 To i
    If Range("A" & i & "").Value < 6 Then
      Cells(i, 3) = Range("A" & i & "").Value * Range("B" & i & "").Value
    Else
      Cells(i, 3) = Range("A" & i & "").Value / Range("B" & i & "").Value
    End If
  Next i
End Sub
61名無しさん@そうだ選挙にいこう:2007/10/20(土) 14:05:47
「6以下」→「6より小さい」でした('A`)
6248:2007/10/20(土) 16:45:39
(選択セル情報の取得)
すいません。選択してもまだ何も表示されません。
Sub A_01()
Range("A1").Value = Selection.Rows
Range("A2").Value = Selection.Columns
End Sub

どこが悪いのでしょうか?
63名無しさん@そうだ選挙にいこう:2007/10/20(土) 17:23:20
>>48 選択してるとはアクティブセルの事か?
それとも、複数のセル範囲なのか?
アクティブセルの場合は
ActiveCell.Row
ActiveCell.Column
詳しく知りたきゃ本でも買った方がイイよ
6448&62:2007/10/20(土) 18:21:17
>>63
ども。
ここでの選択とは、単にマウスでクリック(あるいは矢印キーで移動)したセルです。
さっきのは末尾に不要なsが付いていたのでこれを消して
Range("A1").Value = Selection.Row
Range("A2").Value = Selection.Column
としまいしたが、これは駄目でした。

試しに、とあるセルをアクティブ化してみましたが
Range("A1").Value = ActiveCell.Row
Range("A2").Value = ActiveCell.Column

でも駄目でした。
なお、本は2冊ありますが、共に選択したセルの位置情報の取得法
は書いていません。
65名無しさん@そうだ選挙にいこう:2007/10/20(土) 18:42:07
ttp://www-2ch.net:8080/up/download/1192870755659824.L5bYst
この画像でA列で発生させた乱数を基に、
B列に501/1500なら1801/1500なら21151/150031401/15004≠ニ表示させたいのですが、
どのような式を作ればよいでしょうか?

よろしくお願いします。
66名無しさん@そうだ選挙にいこう:2007/10/20(土) 18:46:56
>>64
どちらでもできますよ
コードのせいではないのかも?
67名無しさん@そうだ選挙にいこう:2007/10/20(土) 18:56:43
>>65
意味がわからん
こういうこと?

B1=IF(A1=$G$2/1500,1,IF(A1=$G$3/1500,2,IF(A1=$G$4/1500,3,IF(A1=$G$5/1500,4,"どれでもない"))))
6865:2007/10/20(土) 19:10:12
>>67
IF=(A1<=501/1500,1,"その他")なら出来るんですけど、
それだと1≠ニその他≠オか表示できないので、
その他≠フところをを2〜4に振りたいんです。
69名無しさん@そうだ選挙にいこう:2007/10/20(土) 19:24:32
>>68
いいから>>67の言うとおりやってみろ
70名無しさん@そうだ選挙にいこう:2007/10/20(土) 19:26:12
>>64
ちゃんと
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
の間に書いてるか?
71名無しさん@そうだ選挙にいこう:2007/10/20(土) 19:26:38
>>68
B1=IF(A1<=$G$2/1500,1,IF(A1<=$G$3/1500,2,IF(A1<=$G$4/1500,3,IF(A1<=$G$5/1500,4,"どれでもない"))))
72名無しさん@そうだ選挙にいこう:2007/10/20(土) 19:27:46

訂正しました
7365:2007/10/20(土) 19:35:08
>>72
綺麗に番号を振れました(゚∀゚)
本当に有難う御座いました。
7448&62:2007/10/20(土) 19:54:04
>>70
出来ました。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = Selection.Row
Range("A2").Value = Selection.Column
End Sub

でOKでした。どうやら、任意の関数 Sub A_01() 内に書いていたのが原因でした。
75名無しさん@そうだ選挙にいこう:2007/10/20(土) 20:14:55
>>48 Worksheet_SelectionChangeを使うなら

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = Target.Row
Range("B1").Value = Target.Column
Range("C1").Value = Target.Address
End Sub
の用に、Target引数を使用した方がいいんじゃね
7670:2007/10/20(土) 21:38:38
>>75
もしよろしければ、それkwsk
77名無しさん@そうだ選挙にいこう:2007/10/20(土) 23:32:32
>>76 詳しくも何も
引数の「Target as Range」にはそのシートの選択しているセルの参照が入るから
Sheetモジュールに書くならそれ利用したほうがよくね?
と思っただけです・・・はいwww

標準モジュールに書く場合は別だけど、自分は利用できる引数があるなら
積極的に使用した方が得かなと思うんで・・・
78名無しさん@そうだ選挙にいこう :2007/10/21(日) 00:32:59
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA プロシージャ 変数

プロシージャ間の変数で質問です。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 内で定義&計算
した変数を、ボタン Private Sub Btn1_Click() で利用するのは不可なのでしょうか?

つまり、Worksheet_SelectionChangeで gyou1, retu1 を
gyou1 = Target.Row
retu1 = Target.Column

として、Btn1でCallを使って
Call Worksheet_SelectionChange
hensu = gyou1*retu1
MsgBox hensu

としましたが、これだと「引数が省略できません」というコンパイルエラーになります。
なお、Option Explicit を使っています。
79名無しさん@そうだ選挙にいこう:2007/10/21(日) 00:41:14
sheet1のa1に数値を入力 (ここでは5とします)


ここでHlookup関数を用いてsheet2のa5〜b10を範囲指定したい場合なんですが
範囲指定の「a5」の「5」をsheet1のa1セルの「5」を用いて指定したい場合

hlookup(xxx,sheet2!a5:b10,xxx,true) (このように指定したい)

hlookup(xxx,indirect("sheet2!a"&sheet1!a1):b10,xxx,true)

と書いてしまうと#value!が帰ってきてしまいます。恐らくsheet2のa5セルの数値(3とします)を参照するので

3:b10 の範囲指定になってしまってるからでしょう。
どのように表記すればhlookup(xxx,sheet2!a5:b10,xxx,true)を意味する数式になるのでしょうか・・・?
8078:2007/10/21(日) 00:41:24
自己解決しました。

コードの一番上「(General)の所」に
Option Explicit
Dim gyou1 As Integer
Dim retu1 As Integer

でOKでした。
8179:2007/10/21(日) 00:42:25
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 indirect hlookup 

すみません、抜けてました・・・
82名無しさん@そうだ選挙にいこう :2007/10/21(日) 00:52:19
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA If 2重条件

Excel_VBAでIf文の2重条件は可能でしょうか?
つまり、変数Aは5より大きく、かつ10より小さい場合などです。
CやJavaでは if(A>5 && A<10){} と書く場合です。
83名無しさん@そうだ選挙にいこう:2007/10/21(日) 01:29:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 条件 判定

【やりたいこと 】
・テキストボックスを通して、
 入力した値を条件で判定して転記先のセルを振り分ける。
 振り分け対象は、「商品コード」と「商品属性」の2項目です。
・商品数が多いので、エンターキーを押さずに処理したい。

【振り分けの判定条件 】
・「商品コード」 先頭が1000〜で始まる10桁の数字。
・「商品属性」 文字列。3文字以下で可変。ない場合もある。

手順としては
1.「商品コード」のラベルバーコードをスキャンする。もしくは手打ちで入力する。
2.「商品属性」がある場合は、次にそれを入力(スキャン)する。
3.「商品属性」がない場合は「次の商品コード」を入力(スキャン)。
4.1〜3を繰り返す。

まず「商品コード」を入力してA2セルに転記。
次に「商品属性」であればB2セルに転記。
「商品属性」がなければ次の「商品コード」入力でA3セルに転記・・・
という感じにしたいです。

よろしくお願いします。
84名無しさん@そうだ選挙にいこう:2007/10/21(日) 01:45:13
エクセルスーパーマイスターって
言葉が浮かんだけどなんでしょうか?
85名無しさん@そうだ選挙にいこう:2007/10/21(日) 02:05:45
>>82
If A > 5 And A < 10 Then
かな
もしくは
If A > 5 Or A < 10 Then
86名無しさん@そうだ選挙にいこう :2007/10/21(日) 03:43:54
>>85
さんきゅうです。
87名無しさん@そうだ選挙にいこう:2007/10/21(日) 07:34:28
>>83
質問
商品属性があるかないかはどこで決まる?
マスターにあるかないの情報のみがはいっているの?


1000〜から始まると決まっているのならその4回キーボードを入力する手間を省き
入力する数字を6桁にして、ENTERかTAB1回押した方がはやいと思うが。。
8883:2007/10/21(日) 08:31:01
おはようございます。

>>87
こちらは倉庫で俺はバイトなんですか、
商品がたくさんあって、商品ラベルが貼ってあります。
そこには商品コード(数字とそのバーコード)、
商品属性(文字列とそのバーコード)、
商品名、その他、みたいな情報が書いてあります。

で、棚卸作業があるんですか、現在これが目視作業なんですよ。
最新の在庫リストをプリントアウトして、それが実際にあるかどうか、
人間が商品ラベルを目で見ながら照合していくわけです。

>商品属性があるかないか

上から降りてくる在庫リストはExcelファイルで、
商品属性フラグという情報はあったりなかったりのようです。
わりと適当な形で提供されています。棚卸作業は目視でという想定なんだと思います。

商品出荷の際は、スキャナーでスキャンして検品していますが、
これは出荷伝票と突き合わせるだけの機能しかありません。
それなら、自分たちで在庫の商品をExcelに読み込み(入力)して、
その結果をリストと照合すればいいんじゃないかと考えました。

> 1000〜から始まると決まっているのなら

手打ちとスキャン、どちらにも対応できないといけないし、
作業量としてはスキャンの方が多く、その場合バーコード丸ごと読み込みになりますので。
想定としては、スキャナを次々商品ラベルに当てていき、ピッピッピッピッピッ・・・って感じです。
手打ちメインだと、みんな素人なんで、入力には相当時間かかりそうです。

でも頭省いて残りの入力ですむって発想はなかった。ちょっと目からウロコw
89名無しさん@そうだ選挙にいこう:2007/10/21(日) 09:00:32
>>88
いまいち理解できてないのだが・・

1、棚卸なのでハンドスキャナーを持って倉庫に入り、入力もハンドスキャナー。
2、ハンドスキャナーのデータをEXCELにインポートして、在庫リストと照合。
という事ではない?
ノートPCにハンドスキャナーを繋げたまま倉庫に入り、バーコードがある製品はスキャナーで、
バーコードが無い商品はPCに手で入力ということ?

これ、EXCELの質問なのかな??

「10桁の物はそのまま10桁で、6桁で入力されたものは"1000"を付けて10桁にする」ならEXCElでできるよ。
9083:2007/10/21(日) 09:52:28
>>89
ハンドスキャナーではないです。
PCに繋げたスキャナーで読み込みます。現状はデスクトップPCのみです。
当面は商品を一定数(棚単位あるいは箱単位)持ってきて、
まとめてスキャンという形になりそうです。

>バーコードがある製品はスキャナーで、バーコードが無い商品はPCに手で入力ということ?

そんな感じですが、ほとんどの場合バーコードはついています。
なので、それをスキャンするのがメイン作業になります。

1.バーコードをスキャンして、それが商品コードであるか商品属性であるかを自動判定。
2.判定結果に基づいて、転記するセルを振り分ける。
3.商品数が多く連続作業になるので、条件を満たす入力があれば、
  その都度エンターキーを押さずに確定して次の処理に移りたい。

★.最終的には同一商品の場合は数量カウントという形になるが、
自動化することを思いついたばかりで処理手順が煮詰まっていないので、それは後で考える。
今のところ、上記の1〜3でリスト化してそれに対してカウントするしか思いつかない。
でもって現在、スキャン → 自動リスト化 の段階でつまずいています。

Excel開いて単にスキャンするとコードの数字や文字が入力されますが、
セルの振り分けができないので、その前にテキストボックスなどの入力用フォームを通して、
そこで処理すればいいんだなと考えたのですが。

>「10桁の物はそのまま10桁で、6桁で入力されたものは"1000"を付けて10桁にする」

なるほど。
たぶん俺の問題は、その「桁数を判定して処理を分岐する」という部分ですかね。
91名無しさん@そうだ選挙にいこう:2007/10/21(日) 09:58:04
=if(len(a1)=6,"1000"&a1,if(len(a1)=10,a1,"error"))
9276:2007/10/21(日) 14:12:19
>>77
なんかアレな質問に丁寧に答えてくれてありがとうございます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
を、なんだか訳の分からない呪文位にしか理解してなかったス(´・ω・`)。
93名無しさん@そうだ選挙にいこう:2007/10/21(日) 15:11:20
始めまして。よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 割印、ビジネス文書、作成


● EXCEL2003ファイルで割印を作る方法を教えて下さい。

ある中小企業で、契約書の手続きを担当しています。
そこでは、両面印刷したB4用紙を2枚重ねて、右下に5社から割印を貰わなければなりません。

今は、手書きで、○△□五角形の4つを記号定規で手書きして、その上に、間違いが無いように各社名を手書きしてます。

毎日30枚も押して書いてるのですが、正直無駄だなと思ってます。

署名捺印箇所の印部分は、みなさん、オートシェイプで作ってると思いますが、
社名と○の上半分を1枚目に、○の下半分を2枚目に作りたいのですが、割印用のオートシェイプって無いですし・・・

大企業とかだと、専用のソフトとかでやってそうですが、エクセル2003を使ってできる方法はないでしょうか?

よろしくお願いします。
94名無しさん@そうだ選挙にいこう:2007/10/21(日) 15:14:26
エクセル2003でマクロの名前を変更する方法を教えてください。
95名無しさん@そうだ選挙にいこう:2007/10/21(日) 15:34:02
>>93
白いオートシェイプを重ねる。
96名無しさん@そうだ選挙にいこう:2007/10/21(日) 15:40:20
初心者で申し訳ありませんがエクセルで自動計算した
数字が合わないのはどうしたらよいでしょうか?

縦列に数値が50個位あり、一番下に合計を出しています。
合計から個々の数値のシェアを出していますが、数値が
合いません。

例:A1の数値は11.31、A列の合計は1,502.64、シェアは
電卓でたたくと0.75267%となりますが、エクセルの
自動計算では0.75279%となり、少数点以下3桁までしか
合いません。

表示桁数で計算してもどうしても合いません。
どなたかお願い致します。
97名無しさん@そうだ選挙にいこう:2007/10/21(日) 16:09:04
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
数学の問題なのかもしれないのですが、解答お願いします。以下の条件があるとします。

条件1
月利 r% 元本 v 期間 nケ月
条件2
月利 条件1に等しい 元本 w 期間 o
条件3
月利 条件1に等しい 元本 x 期間 p

この時下記の式から共通のr(月利)を求めたいです。(A:定数)

PMT(条件1)+PMT(条件2)+PMT(条件3)=A

ゴールシークとかを使わず、
r=という式を求めたいです。
関数を使わずに純粋な数式とかでもいいです。
よろしくお願いします。
98名無しさん@そうだ選挙にいこう:2007/10/21(日) 16:23:15
>>96
小数点以下の計算をPCで行う場合
計算誤差が出てくるよ
Excel 計算誤差とかでググれば
対処方が色々と見つかるよ
9993:2007/10/21(日) 16:33:00
>>95
ありがとうございます。

やはり、そういうアナログな方法になりますよね。

やってみます。
100名無しさん@そうだ選挙にいこう:2007/10/21(日) 16:46:54
>>96
Excelで=11.31/1502.64を計算したら0.007526753になるよ。電卓と同じ。
ちゃんとRound()つかってないんじゃねーの?
101名無しさん@そうだ選挙にいこう:2007/10/21(日) 18:10:47
小数点第2位までしか表示していないだけだろうな
102名無しさん@そうだ選挙にいこう:2007/10/21(日) 18:12:15
>>94
マクロの名前を変更する方法 つったってVBEditorの画面で変更すれば言いだけの話ではないの?
プロテクトかかって云々なら諦めれとしか言い様がないけど。
103名無しさん@そうだ選挙にいこう:2007/10/21(日) 19:09:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 100% 積み上げ横棒 パーセンテージ

      A  B  C  D  E  その他
2000年 540 250 156 234 190 1,220
2001年 392 200 126 185 185 988
2002年 417 229 148 205 202 1,064
2003年 304 132 111 163 174 919
2004年 414 180 154 228 221 1,186
2005年 434 173 160 253 249 1,217
2006年 469 182 170 245 288 1,294

上のような表で100%積み上げ横棒グラフを作りたいのですが、グラフの各要素にパーセンテージを表示する方法はないでしょうか?
データ系列の書式設定→データラベル→ラベルの内容 の欄で、
系列名・分類名・値は選択できるのですが、その下のパーセンテージがグレーになっていて選択できないんです。
各要素の構成比率を表す表を作ってそれをグラフにすればできると思うのですが、体裁上あまりそれをしたくないんです。
何か良い方法があればよろしくお願いいたします。
104名無しさん@そうだ選挙にいこう:2007/10/21(日) 19:19:45
体裁ってなに?別シートにつくれば元の表には何の関係もないじゃない。
105名無しさん@そうだ選挙にいこう:2007/10/21(日) 19:21:04
または列の非表示とかな。
別シートでシートの非表示でもいいんじゃ?
106名無しさん@そうだ選挙にいこう:2007/10/21(日) 19:50:58
では、その方法自体はないってことですか?
107103:2007/10/21(日) 19:51:31
すみません、>>106はは103です。
108名無しさん@そうだ選挙にいこう:2007/10/21(日) 19:53:22
すいません。
オートシェイプをトリミングしようと思ったのですが、
オートシェイプを選択した後でも、
図ツールバーのトリミングのとこが灰色表示でボタンが押せません。

このボタンを使えるようにするにはどうすればいいのでしょうか?
109名無しさん@そうだ選挙にいこう :2007/10/21(日) 20:52:57
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA セル Currency 小数点以下

Excel_VBAの変数Currencyの小数点以下について質問です。

ワークシートで計算した数字を表示すると、例えば5600円なら \5600.00 と、小数点
以下2桁も表示されますが、これを表示させない方法はありますでしょうか?
(当方が目的とするマクロでは、小数点以下の金額は扱わないので)
110名無しさん@そうだ選挙にいこう:2007/10/21(日) 21:05:17
>>109
セルの表示形式いじったら?
>>110
ああ、そうっだった。。。。
解決しました。

Thx
11296:2007/10/21(日) 21:35:14
>>100
そうなる筈なのに、さっきの数値になってしまってるので困ってます...

>>101
少数点は5桁まで表示しています。




113名無しさん@そうだ選挙にいこう:2007/10/21(日) 22:11:00
>>97の回答誰かお願いしますm(__)m

EXCEL2007用の回答でも結構なので、よろしくお願いします。
114名無しさん@そうだ選挙にいこう:2007/10/21(日) 22:21:45
VBAで、シートAの、セルG1を画面の左上端に表示するには、どうかいたらいいですか。
別の表現にして考えるべきかも含めてお願いします。
115名無しさん@そうだ選挙にいこう:2007/10/21(日) 22:23:17
普通に作業セルいっぱい使って、逆算していけば良いんじゃない。
116名無しさん@そうだ選挙にいこう:2007/10/21(日) 22:27:54
>>114
ウインドウのスクロール。
officetanaka.net/excel/vba/tips/tips79.htm
117114:2007/10/21(日) 23:06:17
>>115 >>116 サンクス

特に>>116さん、ナイス回答、そのもの以上のものがありました。
重ねて、サンクスです。
118名無しさん@そうだ選挙にいこう:2007/10/21(日) 23:12:42
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 わからない
【4 VBAでの回答の可否】 わからない

エクセルでは偏回帰係数が出せないと聞いたのですが本当でしょうか
出せる方法知っている方がいらっしゃいましたら回答お願いします
119名無しさん@そうだ選挙にいこう:2007/10/21(日) 23:28:25
>>115>>113向けじゃないか?
120名無しさん@そうだ選挙にいこう:2007/10/21(日) 23:36:22
>>97
条件1、条件2、条件3のrをそれぞれの結果がA/3になるよう移項して計算すればいいんだよ
121114:2007/10/21(日) 23:40:33
いわれているように >>115は >>113さんへの回答ですね。;(^o^);
122名無しさん@そうだ選挙にいこう:2007/10/22(月) 02:00:04
>>4に関係してなのですが
書式設定の折り返しだけをしたい場合に
セルごとではなくシートごとに設定するにはどうすればいいんでしょうか
2003です。
123名無しさん@そうだ選挙にいこう:2007/10/22(月) 02:55:55
>>122
変更したいワークシートの行列番号の

↓この部分を
□ABCD




クリックして全体を選択してから書式設定すればいいんじゃないのか?
124名無しさん@そうだ選挙にいこう:2007/10/22(月) 03:35:45
>>123
thanx

列だと無理ですが行だといけますね

ただオプション設定でできればデフォルトで折り返すようにしたいのです。

125名無しさん@そうだ選挙にいこう:2007/10/22(月) 07:52:17
テンプレートをつくって保存する
126名無しさん@そうだ選挙にいこう:2007/10/22(月) 09:26:27
>>112
5桁まで表示といいながら、
その痕跡すらないのはなぜ?
127名無しさん@そうだ選挙にいこう:2007/10/22(月) 09:31:39
>>112
計算結果ではなくて、もとの11.31と1502.64を5桁表示してみ。
128名無しさん@そうだ選挙にいこう:2007/10/22(月) 14:41:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 列の幅 シート コピー
このような表を1ページにまとめて印刷したい。

Aタイプ
  S M L
赤 



Bタイプ
  S M L LL
赤 



こんな感じで、2つの表を同じページに印刷したいのだけど、
下のほうが列の数が多い場合、
他のシートで別に表を作って、うまく貼り付ければ表Aと表Bを
ページ幅いっぱいに印刷できると聞いたことがあるのですが、
やろうとしてもうまくできません。
分りにくくて申し訳ありませんが、どなたかこの機能をご存知の方いらっしゃいますか?
129名無しさん@そうだ選挙にいこう:2007/10/22(月) 14:50:27
ご存知の方いましたら教えてください。
Excel2003でXMLファイルを開くときに、16桁以上の数値が勝手に変換されてしまいます。
 1234567890123456 ⇒ 1.23457E+15  【1234567890123460】

CSVファイルのときは、拡張子をTXTにして文字列として開くことで対処できましたが
XMLでは対処方法はあるでしょうか?
XMLファイルの中身は以下のような形式です。

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Code>1234567890123456</Code>
</NewDataSet>

よろしくお願いします。
130128:2007/10/22(月) 14:50:28
連投すみません。補足します。
Aの表の全4列の幅に合わせて
Bの表の全5列をうまく分配するやり方です。
セルの境目が、挿入した所(段)だけズレるそうです。
131名無しさん@そうだ選挙にいこう:2007/10/22(月) 15:29:48
あの可哀相な子ってまだ来てるの?
132名無しさん@そうだ選挙にいこう:2007/10/22(月) 15:29:56
>>128
セル結合はダメ?
133名無しさん@そうだ選挙にいこう:2007/10/22(月) 15:41:08
>>128
図のリンク貼り付け?
134128:2007/10/22(月) 15:49:37
>>132
レスありがとうございます。
確かに、その方法もありなのですが、
(初めに列を4×5の20列作っておいて、Aは5列、Bは4列ずつ結合すればよい)
Aの表を作っちゃってからBを作って、後から列の数が多いことに気づいたような場合、
挿入&結合がとても面倒ですよね。
なんだか、別のシートに作って貼り付ける方法があるそうなんです・・・。
135128:2007/10/22(月) 16:02:22
>>133
お、おおおおお!
それでした!
ありがとうございます!
隠しメニューというものだそうですね!
136名無しさん@そうだ選挙にいこう:2007/10/22(月) 18:00:18
>>129
Excelだけでなくスプレッドシート型の計算ソフトの仕様
15桁で計算してるから16桁は必ず "ゼロ" になる
 http://support.microsoft.com/kb/269370/ja
11のべき乗、11^0〜11^20を表示させるとよく分かると思う
1
11
121
1331
14641
161051
1771561
19487171
214358881
2357947691
25937424601
285311670611
3138428376721
34522712143931
379749833583241
4177248169415650
45949729863572200
505447028499294000
5559917313492230000
61159090448414500000
672749994932560000000
7400249944258160000000
81402749386839800000000
アクセサリの電卓で検算してみな
137129:2007/10/22(月) 18:17:18
>>136
レスありがとうございます。
CSVファイルのように文字列指定して開く方法がないかと思いまして。

次世代型(?)と言われるXML形式が、CSVのときと同じ過ちを犯しているとは思わずに
VBからファイル保存してしまったもので。。。
とりあえず不本意ですがCSVに変更することで解決しました。

どうもお邪魔しました。
138名無しさん@そうだ選挙にいこう:2007/10/22(月) 18:47:52
XSLTでいけるんじゃないかな?
139名無しさん@そうだ選挙にいこう:2007/10/22(月) 21:39:28
【1 OSの種類         .】 Windows XP Pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 入力 2回


データをチェックの為に2回入力したいのですがどうしていいか分かりません。

例)
1回目→001
二回目→002
→エラーで入力できない

1回目→001
二回目→00
→合っているので入力される

説明が分かり難くて申し訳ございませんがご教授お願いします。
140名無しさん@そうだ選挙にいこう:2007/10/22(月) 21:50:45
>>139
1回目の入力セル=A1
2回目の入力セル=A2と仮定

A2セルを選択
データ>入力規則
入力値の種類:整数
データ:次の値に等しい
値:=A1
141名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:04:55
>>140

ありがとうございます。
説明不足でした。

セルは同一セルでチェックしたいのです。
イメージではパスワードを二回打つみたいな感じです。

142名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:19:11
test
143名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:31:14
>>125

方法を教えてください
144名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:44:12
>>141
同一セルでパスワード2回打つという状況を教えて下さい。
てゆーか、合ってるかもしれない所に2回目を打つという仕様の利点は何ですか?

>>143
ググろう。
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=excel+%83%65%83%93%83%76%83%8C%81%5B%83%67&num=50
145名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:47:57
>>141
>>5
>・ 入力したセルに結果を返す (VBA)
146名無しさん@そうだ選挙にいこう:2007/10/22(月) 23:38:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel07
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 自動 計算 エクセル 反映

一年くらい使っていたエクセルのブックが計算してくれません。
VLOOKUPとか1年間ちゃんと動いていました。

A1に10を代入するとA2(=A1*150)が1500って出るみたいに
自動で計算結果を出すようにしていたのですが、自動計算になっているのに動きませんorz

ぐぐってみると同じような症状の方がいるようなのですが、解決方法が見つかりません。
直し方知っていたらor原因を知っていたら教えてください
エクセルからアクセスに浮気しようとした途端、エクセルが機嫌を損ね正直困っております('A`;)
147名無しさん@そうだ選挙にいこう:2007/10/22(月) 23:47:10
>146

F9
148名無しさん@そうだ選挙にいこう:2007/10/22(月) 23:50:25
>>147
明日、会社いってやってみる。
ありがとう!手書き帳簿に戻りそうで泣きそうだった、ホントありがとう!!
149名無しさん@そうだ選挙にいこう:2007/10/23(火) 00:23:51
幸せなスレだなぁw
150名無しさん@そうだ選挙にいこう:2007/10/23(火) 06:38:55
>>144
データで間違えやすい部分(例えば名前など)を
1回打つより2回打った方が正確だと思ったからです。
151名無しさん@そうだ選挙にいこう:2007/10/23(火) 07:00:31
>>150
間違っていた場合どうするんですか?
どこが間違ったかわかりますか?
152名無しさん@そうだ選挙にいこう:2007/10/23(火) 07:35:38
>>150
A列に1回目、B列に2回目入力、C列に合っているか間違っているか出た方が有用では?
2回目の入力でなお間違っている可能性もあるのに。
153名無しさん@そうだ選挙にいこう:2007/10/23(火) 08:09:44
>150
>1回打つより2回打った方が正確だと思ったからです。

1回目と2回目をどうやって比較するんだ?
2回目の入力が1回目の修正なのか2回目の入力なのか
どうやったら判別できるんだ?

他の人のレスにもあるようにそれぞれの入力セルを分けろ。
あと、質問者は名前に元番入れろ。

154名無しさん@そうだ選挙にいこう:2007/10/23(火) 09:48:26
>>150
2回とも間違っていたらどうなるんですか?
そもそも何と比較するんですか?
2回目を1回目と比較するとすれば、まったく意味がないような……
155名無しさん@そうだ選挙にいこう:2007/10/23(火) 09:52:06
>>150
もしかすると、こういうことですか。
原稿を見ながら1回目を入力する。
もういちど原稿を見ながら2回目を入力する。
2回目が入力できなければ、1回目か2回目かのどちらかが間違っている。
原稿を確認する。
こういうことですか?
156名無しさん@そうだ選挙にいこう:2007/10/23(火) 09:58:31
相変わらず回答者様は頭悪いな
157名無しさん@そうだ選挙にいこう:2007/10/23(火) 10:00:01
>>155

そういう事です。
説明不足ですいません・・
158129:2007/10/23(火) 10:57:52
>>138
ありがとうございます。XSLT勉強してきました。

XMLファイルの2行目に参照先のxslファイルを指定して、xslから文字列にしたい数値の先頭に
【’】などを入れることで、とりあえず簡易的に対処する方法はわかりました。

ただしこれでは【’&数値】と余計な文字が入ってしまい、スマートな対策とは言えません。

Excel独自のXML構文として、セルの書式設定をすべて指定する方法もありますが、
今回は『既に存在するXMLファイル内の数値を文字列として開く』ことが目的ですので、
XMLファイルを編集することは選択肢にはありません。

時間のあるときにもう少し勉強してみようと思います。
ヒントをくださってありがとうございました。
159名無しさん@そうだ選挙にいこう:2007/10/23(火) 11:42:14
エクセルで散布図を作ろうと思ったのですが
グラフを作成すると時間の設定方法がデフォルトと
あっていないためかうまく作成されません。
どのようにx軸(時間)y軸(時間)を設定すればうまくいくのでしょうか?
時間のセルの書式はユーザ定義のh:mmにしています。
x     y 
2:11:00 1:22:00
1:12:00 2:34:00

160名無しさん@そうだ選挙にいこう:2007/10/23(火) 11:58:48
>>159
エスパーできません
161名無しさん@そうだ選挙にいこう:2007/10/23(火) 12:49:28
>>160
エスパーできませんとは?
162名無しさん@そうだ選挙にいこう:2007/10/23(火) 13:05:34
>>161
言ってる事がわかんねーよ!
という事でしょうね
163名無しさん@そうだ選挙にいこう:2007/10/23(火) 20:26:24
>>147
(*´Д`人)無事出来ました。dくすdくす。F9マンセー
164名無しさん@そうだ選挙にいこう:2007/10/23(火) 20:40:03
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

時刻を扱う関数について質問です。

あるセルに時刻を入力したとき、その30分後、1時間後、1時間半後は何時なのかを計算する関数を作りたいのですが、
この場合はどのように入力すれば良いのでしょうか?

具体的には、17:00と入力したら横のセルに17:30、次に18:00、その次に18:30と表示させるようにさせたいです。
165名無しさん@そうだ選挙にいこう:2007/10/23(火) 20:51:42
>>164
=A1+(1/48)ではどう?
166159:2007/10/23(火) 21:03:55
わかる方いらっしゃいませんでしょうか?
セルの書式の関係でうまく散布図に表記できないのとは思うのですが。
時刻でx y軸を表記したいので
167164:2007/10/23(火) 21:13:04
>>165
ばっちり出来ました!どうもありがとうございます!

ご面倒で無ければ教えていただきたいのですが、
なぜ(1/48)が30分加算という意味になるのでしょうか?

私はてっきり、日付/時刻のリストにある関数で何とかするものだとばかり思っていました・・・
168147:2007/10/23(火) 21:16:05
>163

F9でできるってことは自動計算になってないんじゃないのか?

>166

A1=2:11:00 B1=1:22:00
A2=1:12:00 B2=2:34:00
A1:B2の書式設定をユーザー定義を時刻にする
挿入→グラフ→散布図→データ範囲を=Sheet1!$A$1:$B$2で普通に作れる。

何が問題なのかまったくわからん。
後だし条件が出てくるなら付き合う気は無い。
169名無しさん@そうだ選挙にいこう:2007/10/23(火) 21:16:45
>>167
シリアル値で「1」は1900/1/1のこと
シリアル値で「2」は1900/1/2のこと

すなわち日付/時刻を表す場合、1とは1日をさす。
30分は1日の1/48。
170exc:2007/10/23(火) 21:53:07
>>166
>>168さんと途中までいっしょです。
A1=2:11:00 B1=1:22:00
A2=1:12:00 B2=2:34:00
散布図→データ範囲を=Sheet1!$A$1:$B$2
その後系列タブに移って
系列2を削除
系列1のXの値に=Sheet1!$A$1:$A$2
系列1のYの値に=Sheet1!$B$1:$B$2
としてください。
171名無しさん@そうだ選挙にいこう:2007/10/23(火) 22:00:10
マクロA(親)の途中で、マクロB(子)を実行しているとき、マクロBで終了し、マクロAの以下の文を実行させたくないとき、どう書くのですか?

172名無しさん@そうだ選挙にいこう:2007/10/23(火) 22:33:39
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

1行おきの"行"や"セル"を選択したいのですが…
お願いします。
173名無しさん@そうだ選挙にいこう:2007/10/23(火) 22:42:13
>>171
マグロB子にEnd Sub入れたらいいやん
174名無しさん@そうだ選挙にいこう:2007/10/23(火) 22:57:53
>>172
1行おきに何かフラグ文字入れてフィルタで絞る
175名無しさん@そうだ選挙にいこう:2007/10/23(火) 22:59:13
>>171
「以下を実行させたくない」は何らかの条件をも
ってなのか、単に実行させたくないのかは知らんが、
Sub A()
 処理
 Call B
 処理
End Sub

Sub B()
 処理
 End
End Sub
ではダメかい?
176171:2007/10/23(火) 23:00:00
マクロBの次のステートメント(マクロA中の)を実行せず、マクロB中で、終了したいという意味です。
END SUB    EXIT SUBではどうしても、Aの残りのステートメントを実行してしまいます。
177名無しさん@そうだ選挙にいこう:2007/10/23(火) 23:01:03
>172
選択したらええやん
178171:2007/10/23(火) 23:02:00
単にENDでしたか。サンクス
179名無しさん@そうだ選挙にいこう:2007/10/23(火) 23:55:09
>>172
Ctrl押しながら選択したらいい
180名無しさん@そうだ選挙にいこう:2007/10/24(水) 00:06:44
エクセル2003で
アルファベット26文字(A〜Z)のワイルドカードって
作れないですかね?
181172:2007/10/24(水) 00:16:00
>>174>>177>>179
返答ありがとうございます。
ごめんなさい、大雑把すぎたので具体的に言いますと

12  155  1
12  155  -1
19  645  1
19  645  -1
45  282  1
45  282  -1

こんな感じのデータ列が1000行くらいあるので簡単に
1行おきの"行"の消去(選択)できる方法がありましたら教えて下さい。
182名無しさん@そうだ選挙にいこう:2007/10/24(水) 00:17:43
>>181
だから、オートフィルタ使えって。
-1で絞って、全部選択して「Ctrl+-」で終了じゃないか。
183172:2007/10/24(水) 00:21:32
>>182
d!解決しました〜
お騒がせしました。
184名無しさん@そうだ選挙にいこう:2007/10/24(水) 00:28:47
【1 OSの種類         .】 WindowsXP Pro SP2
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

プリンターの設定(用紙のサイズ、向き、印刷の品質など)を別のシートにコピーする方法ってありますか?
今はすべてのシートを順に開いて、印刷の設定を1つ1つ手動で変更しています。
印刷の品質というのは、EPSONのプリンターで「はやい」と「きれい」をワンタッチで切り替えたいのです。
シートごとに設定がどこかに記憶されているのは間違いないので、それを一括で変更できるといいのですが。
185名無しさん@そうだ選挙にいこう:2007/10/24(水) 00:52:23
>>184
プリンタ側の設定なんだから、大もとから変えちまえよ。
左下のスタートボタン→(設定)→プリンタとFAX→
(該当プリンタを右クリック)→プロパティ→「きれい」に設定。
それから、Excel開いて印刷すりゃ、ずっと「きれい」のまま。
186名無しさん@そうだ選挙にいこう:2007/10/24(水) 00:59:37
lookup関数において
ズバリ一致した値だけを表示する場合はFALSEか0
昇順に並んでいる場合に○以上×以下までの値を表示するにはTRUEか1か何もつけない

これで合ってるでしょうか?
187名無しさん@そうだ選挙にいこう:2007/10/24(水) 01:59:12
>>185
やってみたんですが、すでに作ってしまったシートの設定は変わりませんでした。
大元の設定が使われるのはブックを新規作成した時だけのようです。
188名無しさん@そうだ選挙にいこう:2007/10/24(水) 06:38:52
>>183
最初から、>>181のように質問してください。
手段だけでなく、目的も書くと、より的確な解答が
得られるかもしれません。
189名無しさん@そうだ選挙にいこう:2007/10/24(水) 06:54:41
>>186
LOOKUP関数には VLOOKUPやHLOOKUPのようにTRUE/FALSEの指定はない
検査範囲は必ず昇順に並んでいる必要がある
190名無しさん@そうだ選挙にいこう:2007/10/24(水) 09:01:30
>>184
With Worksheets("Sheet1").PageSetup
.PrintQuality = 600 '印刷品質
.PaperSize = xlPaperA4 '用紙サイズA4
.Orientation = xlPortrait '印刷方向:縦  横はxlLandscape
End With

印刷品質はプリンターの設定ではないかも。
191名無しさん@そうだ選挙にいこう:2007/10/24(水) 09:52:50
>>184
>>190に補足します。
【印刷のページ設定】で指定できるものはVBAで指定可能ですが、
印刷品質『きれい』『標準』などの【プリンタのオプション設定】で指定するものは、
プリンタドライバの機能に依存するのでVBAではサポートされていないようです。

【印刷のページ設定】で指定できる内容でしたら
Dim i As Integer
For i = 1 To ActiveWorkbook.Worksheets.Count
With Worksheets(i).PageSetup
.PrintQuality = 600 '印刷品質
.PaperSize = xlPaperA4 '用紙サイズA4
.Orientation = xlLandscape '印刷方向:縦  横はxlLandscape
End With
Next i
上記のように、すべてのシートで設定変更が可能です。

使用するプリンタを変更するのはVBAでも可能なようです。
Dim 印刷ポート As String = "LPT1:"
Dim 印刷ドライバ As String = "Canon BJ F300"
Dim 新プリンタ名 As String = 印刷ポート & " の " & 印刷ドライバ
Application.ActivePrinter = 新プリンタ名
192名無しさん@そうだ選挙にいこう:2007/10/24(水) 12:53:52
webクエリでデータを取得したいのですが、
ヤフーのマイページ内にあるデータを取得する
にはどうすればいいのでしょうか
193名無しさん@そうだ選挙にいこう:2007/10/24(水) 14:45:48
>>158
もう見てないかもしれないが、そのcsvファイルを開くときに、データ→外部データの取り込み→テキストファイルのインポートから取り込むと
事前に対象列を文字列として指定できるし列幅もデータに合わせてくれる。
194名無しさん@そうだ選挙にいこう:2007/10/24(水) 14:55:07
>>192
やり方を探してみましたが、認証の必要なサイトのデータを取り込む明確な方法は
わかりませんでした。
ヤフーのLogin認証にはcookieを使用していますが、Excelに限らずOfficeはCookieを
使用したLogin認証に対応しているにもかかわらず、Webクエリでのデータ取得には
Cookieを参照しないようです。

ただ、
> ヤフーのマイページ内にあるデータを取得する
これを満たすだけでよければ、インターネットエクスプローラで目的のページを
名前を付けて保存して、Excelからはローカルコンピュータ上のWebページの
インポートを行うことで対処できました。

もちろん、情報の更新など本来のWebクエリの使用目的にはそぐわないのですが。
195129:2007/10/24(水) 15:00:37
>>193
CSVファイルもそのやり方で文字列指定できたんですね。
いつもは事前に拡張子をtxtに変更して ファイル→開く で文字列指定していました。
今後の参考になりました。ありがとうございます。
196名無しさん@そうだ選挙にいこう:2007/10/24(水) 15:10:38
>>194
アドバイスありがとうございます
マイページ内のデータ取得ができるだけでも
ずいぶん助かります ありがとうございました
197名無しさん@そうだ選挙にいこう:2007/10/24(水) 18:15:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL VBA テキストボックス 計算

フォーム上のTextBox1とTextBox2の値をセルに返さずに、
計算結果をTextBox3に表示する事は可能でしょうか?

可能でしたら、方法をご教示ください。
宜しくお願い致します。
198名無しさん@そうだ選挙にいこう:2007/10/24(水) 18:34:53
>197

TextBox3.Value = TextBox1.Value + TextBox2.Value
199名無しさん@そうだ選挙にいこう:2007/10/24(水) 18:49:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 数式 まとめて 入力

表のなか入っている数字を、まとめて全て5倍にしたいのですが、
簡単にまとめて数字を倍増させる方法はありますでしょうか。
お願いします。
200名無しさん@そうだ選挙にいこう:2007/10/24(水) 18:50:39
>199

1.=(計算元左上セル)*5
2.オートフィル
3.形式を選択して貼り付け
201名無しさん@そうだ選挙にいこう:2007/10/24(水) 18:51:59
>>199
>>【3 VBAが使えるか    .】 少し

うそだろw
202199:2007/10/24(水) 18:54:44
うそです。ごめんままい。
そしてアドバイスありがとうございます!
203197:2007/10/24(水) 19:16:54
>>198
 出来ました。有難う御座いました。
204名無しさん@そうだ選挙にいこう:2007/10/24(水) 20:35:41
【1 OSの種類         .】 Windows2k
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

ある条件を一つの列で満たした時、(例:E列全てに「完了」と入力など)
シートのタブの色を変化させることとかできますか?
日付ごとのシートを選んで中身を目視しなくても、仕事が全て完了しているか
確認できるとよいのですが・・・。

よろしくお願いします。
205名無しさん@そうだ選挙にいこう:2007/10/24(水) 20:51:28
>204

作業セル作って条件付書式
206名無しさん@そうだ選挙にいこう:2007/10/24(水) 22:07:25
>>205
試してみたんですが、条件が満ちた時に
シートのタブの色を変化させるようにするやり方が分かりません。
シートのタブの色を指定する書式の仕方はどうすればいいんでしょう。
207名無しさん@そうだ選挙にいこう:2007/10/24(水) 22:27:50
まず条件付書式でググれ
208名無しさん@そうだ選挙にいこう:2007/10/24(水) 22:33:04
書き込むスレがここでいいのか不安なのですが、1つ質問させてください。

今年から社会人になり、仕事でエクセルやアクセスを使う機会が増えたのですが、VBAにいまいち慣れないため参考書の購入を検討しております。
何かお勧めの参考書を教えていただけませんでしょうか。
ちなみに、学生時代は情報系の専攻(大学院卒)で、C言語やC++、JAVAを一通り学んでいるので、一からの初心者向けテキストでは物足りないのです。。
VBA特有のコードの書き方などが難しい(というよりも慣れない)です・・・

長文失礼しました。
209名無しさん@そうだ選挙にいこう:2007/10/24(水) 22:48:39
それくらい、本屋行って片っ端から立ち読みして自分で決めろって。
210名無しさん@そうだ選挙にいこう:2007/10/24(水) 22:51:05
エクセル2003で
アルファベット26文字(A〜Z)のワイルドカードって
作れないですかね?
211名無しさん@そうだ選挙にいこう:2007/10/24(水) 23:46:13
>>210
VBAで頑張ってみろ。
212名無しさん@そうだ選挙にいこう :2007/10/24(水) 23:48:38
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA セル 表示 まとめる

2つのセルの数値を1つのセルまとめて a, b の形式で表示したく思っています。
下の書き方では駄目でした(4行1列目の数値と4行2列目の数値を1行1列目
に合わせて表示)。
Cells(1, 1).Value = Cells(4, 1).Value + ", " + Cells(4, 2).Value

どうすべきでしょうか?
213名無しさん@そうだ選挙にいこう:2007/10/24(水) 23:55:59
>>212
+を&に変えて
214名無しさん@そうだ選挙にいこう:2007/10/24(水) 23:57:25
>>208
Cが使えるっていう自慢をするスレはここではありませんよ。
215名無しさん@そうだ選挙にいこう:2007/10/24(水) 23:59:03
>>212
+の部分を&にしてみれ
216名無しさん@そうだ選挙にいこう:2007/10/25(木) 00:12:54
>>207
条件付き書式でセルの色を変える方法は分かるんですが、
シートのタブ(見出し)の色を条件によって変更する方法は
検索しても引っかかりません。やはり無理なんでしょうか。
217名無しさん@そうだ選挙にいこう:2007/10/25(木) 00:32:01
>>216
VBAなら出来る。

Sub Macro1()
If Range("E1:E10") = "完了" Then
ActiveWorkbook.Sheets("Sheet1").Tab.ColorIndex = 3
End If
End Sub

とか。
>>213, 215

(セルの行列番号は変更しました)
Cells(1, 1).Value = Cells(2, 1).Value&", "&Cells(2, 2).Value
だとエラーになります。

まだ不備があるのでしょうか?
219名無しさん@そうだ選挙にいこう:2007/10/25(木) 00:53:28
>>217
例としてセルE7とF7の数値が等しくなった場合に
そのシートの見出しの色を変える、といったコードだと
どのような感じでしょうか。ご教授お願いします。
220名無しさん@そうだ選挙にいこう:2007/10/25(木) 01:01:25
>>218
Cells(1, 1).Value = Cells(2, 1).Value & ", " & Cells(2, 2).Value
221名無しさん@そうだ選挙にいこう:2007/10/25(木) 01:12:16
>>219
ワークブックのイベントに以下の通り記述
(ThisWorkbookのシートね)

Private Sub Workbook_Open()
If Range("E7").Value = Range("F7").Value Then
ActiveWorkbook.Sheets("Sheet1").Tab.ColorIndex = 3
End If
End Sub
222名無しさん@そうだ選挙にいこう:2007/10/25(木) 01:23:39
>>221
できました!ほんとうにありがとうございます。

ActiveWorkbook.Sheets("Sheet1").Tab.ColorIndex = 3
ActiveWorkbook.Sheets("Sheet2").Tab.ColorIndex = 3
ActiveWorkbook.Sheets("Sheet3").Tab.ColorIndex = 3

上記のようにすることで、シート1から3まで全てのシートに
同時に適用できました!これを日付け分のシート全てに適用させて
早速仕事で使わせていただきます。本当にありがとうございました〜。
223名無しさん@そうだ選挙にいこう:2007/10/25(木) 04:01:30
>>124をお願いします

>>123さんのアドバイスでは現在記入済みのセルにしか
折り返しが適用されません。

デフォルトでできる方法を教えてください
224名無しさん@そうだ選挙にいこう:2007/10/25(木) 04:17:22
テンプレート
225名無しさん@そうだ選挙にいこう:2007/10/25(木) 07:10:20
>>223
WorkSheetを新規作成した時にデフォルトで折り返しに、て事なのか?
それなら、 >>224 の通りテンプレートだろ

だけど、作成済みのWorkSheetに適用するなら
>>123 の方法でできるよ
ちゃんと折り返しにするのチェックBoxにチェック入ってた?
こんな感じに → レ

これだったら → ■
一部に適用状態だから、その状態でチェックBoxをクリックしてみ
>>220
うーむ。スペースが要るのか。
227名無しさん@そうだ選挙にいこう:2007/10/25(木) 08:25:58
>>226
俺もたまに間違えるよ。
内蔵エディターが勝手に演算子の前後にスペースを入れてくれるから、
自分ではスペースを入れないクセがついちゃってるんで。
228名無しさん@そうだ選挙にいこう:2007/10/25(木) 19:15:57
>>200
こういう場合、乗算貼り付けだろ、常識的に考えて
229名無しさん@そうだ選挙にいこう:2007/10/25(木) 19:50:20
VBAで、MsgBoxのように、4つの定型文字Aa、Bb、Cc、Ddを表示して、その選択で作業を振り分けたいです。
どうかいたらいいですか?
230名無しさん@そうだ選挙にいこう :2007/10/25(木) 20:00:01
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA セル 型 判別

Excel_VBAでセル内データの型の判別はどのようにすれば良いでしょうか?
例えば、Aの列に

1

2

3

などと、5行1列で入っていた時、
If Cells(2, 1).Value = Integer型(またはString型) Then 〜 
のような感じで処理したく思っています。
231名無しさん@そうだ選挙にいこう:2007/10/25(木) 20:08:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000

お世話になります。
ブック1→ブック2に列幅を正しくコピーしたいのですが、出来ません。
以下が症状です。

【症状】
http://uproda11.2ch-library.com/src/1139764.jpg
http://uproda11.2ch-library.com/src/1139767.jpg
http://uproda11.2ch-library.com/src/1139769.jpg
http://uproda11.2ch-library.com/src/1139770.jpg

もともと2つのファイルは私が作ったものではないので、何か設定が違うのかもしれません…。
オプション、印刷設定を見直しましたが、2ファイルに違った所は
見られませんでした。。。

※列ヘッダのサイズが異なっているのが原因?
232名無しさん@そうだ選挙にいこう:2007/10/25(木) 20:11:05
>>230

VBAやったことないですが、これでどうですか?

IsArray 変数が配列か判別
IsDate 変数が日付型か判別
IsEmpty 変数がEmpty値か判別
IsError 変数がエラー値か判別
IsNull 変数にNullが含まれるか判別
IsNumeric 変数が数値か判別
IsObject 変数がオブジェクトか判別
233名無しさん@そうだ選挙にいこう:2007/10/25(木) 20:11:18
>>229
ボタン4つあるユーザーフォームとか、ラジオボタン使ったユーザーフォーム作るのがいいんじゃない

>>230
typename関数でデータ型調べて、それで分岐すればいいんじゃない
>>232, 233

さんきゅう。やってみます。
235名無しさん@そうだ選挙にいこう:2007/10/25(木) 20:16:56
>>231
フォントを同じにしてみれ
236名無しさん@そうだ選挙にいこう:2007/10/25(木) 20:17:32
フォントサイズね
237名無しさん@そうだ選挙にいこう:2007/10/25(木) 23:06:21
エクセル2003で
アルファベット26文字(A〜Z)のワイルドカードって
作れないですかね?
238名無しさん@そうだ選挙にいこう:2007/10/25(木) 23:16:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
カレントカーソルの行列番号は青っぽい灰色なんですが、
他人のエクセルをみるとオレンジ色になっているものが
あります。
カレントカーソル行列番号の色は変えられるのでしょうか?


239名無しさん@そうだ選挙にいこう:2007/10/25(木) 23:45:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 おそらくExcel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel グラフ 2群 分割

同一のグラフ内で系列を2群に分けて(離して)表示したいのですができません。
棒の間隔を変えるというオプションでは全て等間隔になってしまいます。
どうすれば↓のような状態に出来るのでしょうか?

| _       _
|||     || _
||| _    ||||
|||||   ||||
|||||   ||||
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
  あ い    う え
240名無しさん@そうだ選挙にいこう:2007/10/25(木) 23:45:51
>>238
テーマをWindows XPにすればいいんでは?
241名無しさん@そうだ選挙にいこう:2007/10/25(木) 23:47:52
>>239
ダミーのデータを入れてみれば
242名無しさん@そうだ選挙にいこう:2007/10/26(金) 00:01:50
>>238
無理。
見間違い。
243名無しさん@そうだ選挙にいこう:2007/10/26(金) 08:07:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

既出かもしれませんが、クレジットの引き落とし日を求めたいのです。
今月末日までの日付を入力すると、指定した日にちを求めたいのですが
検索してもわかりません。初心者なもので、よろしくお願いいたします。
244名無しさん@そうだ選挙にいこう:2007/10/26(金) 08:42:39
俺が馬鹿なのか>>243の言ってることがわからん
245名無しさん@そうだ選挙にいこう:2007/10/26(金) 09:28:59
日本人なら解らなくて普通
だって>>243は日本語じゃないから
246名無しさん@そうだ選挙にいこう:2007/10/26(金) 09:49:43
231です。

>>235-236
変えてもできませんですた(´・ω・`)
ただ、新しく作成したブック2つの間では列幅のコピーは正しくできます。

2つのファイルを作成したエクセルのバージョンが違うとできないとか、
そんな問題かなぁ。
247名無しさん@そうだ選挙にいこう:2007/10/26(金) 09:54:44
あげやす
248名無しさん@そうだ選挙にいこう:2007/10/26(金) 10:05:45
>240 >242様
ありがとう
249名無しさん@そうだ選挙にいこう:2007/10/26(金) 10:26:05
>>243
それは何か、ほれ
引き落とし日が、土日祝祭日だった場合と言うことか。
250名無しさん@そうだ選挙にいこう:2007/10/26(金) 10:27:11
>>243
いくつクレジットカードがあるか知らんが、
たかが1年なら、手で入れとけ。
251名無しさん@そうだ選挙にいこう:2007/10/26(金) 10:33:48
>>231 です。
これがそのエクセルです。
http://uproda11.2ch-library.com/src/1139892.zip

拡大率?がちがう。
プリンタの設定??
252名無しさん@そうだ選挙にいこう:2007/10/26(金) 11:02:47
列幅はどちらも同じにできている。
表示される数値は標準フォントに設定されたものが何文字かけるかなので違って見えている。
253名無しさん@そうだ選挙にいこう:2007/10/26(金) 11:56:12
>>231
列・行幅もコピーしたいなら
シート全部を選択する(左上の?をクリック)
254名無しさん@そうだ選挙にいこう:2007/10/26(金) 12:38:21
>>252
ありがとうございます。
ブックAからブックBへシートを移動してやっても、列幅がずれるんです。
(比率はおんなじなんですが…。)
なのでフォントが違うとかいう問題じゃないんじゃないかなぁ〜って思うんですが…。
252さんのエクセルとバージョンが違うのかもしれません。


>>253
それで出来ないのが問題です。

EXCELのバージョンは2000(9.0.3821 SR-1)です。
255名無しさん@そうだ選挙にいこう:2007/10/26(金) 13:28:14
Excelは標準フォントが基準だとか面倒なことをしているので環境によっては違いが出るのかも。
標準フォントをオプションから変更して同じにすれば合うと思う、既存ブックの変更はスタイルから。
もちろん見た目が変わってしまう。
256名無しさん@そうだ選挙にいこう:2007/10/26(金) 13:36:48
>>255
ありがとうございます。
調べてみます。
257名無しさん@そうだ選挙にいこう:2007/10/26(金) 14:46:10
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ユーザーフォームを現在作成中です。
ユーザーフォームに10個ほどテキストボックスが並んでいまして、そこにafterupdateが仕込んであり、
すべて同じ処理のマクロをcall文で呼び出すようになっています。

テキストボックスに直接処理を記述しないのは修正と管理が容易だからなのですが、
ここで一つ問題がありまして、マクロの処理としてはテキストボックスが今何番かを元に処理する部分があり、
これを変数で渡したいのですが、どうもうまく行きません。

質問は二点です。
まず、現在処理中のテキストボックスが何番かを調べる方法はあるのでしょうか?

テキストボックス内のマクロから、一般のマクロに変数を渡す方法はあるのでしょうか?
モジュール変数とパブリック変数と、それらしきキーワードは見つかったのですが、具体的にどうすればいいのでしょうか?
258名無しさん@そうだ選挙にいこう:2007/10/26(金) 14:52:06
>>254
列幅をドラッグするとピクセル数が出ない?
ピクセル数は同じはず。
259257:2007/10/26(金) 16:12:24
すいません。変数の件については自己解決しました。

現在処理中のテキストボックス(やラベルなど)の番号を取得する方法についての質問に切り替えさせていただきます。
スレ汚し申し訳ありませんでした。
260名無しさん@そうだ選挙にいこう:2007/10/26(金) 20:00:46
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 新規book open close

やりたいこと  :  外部から与えられる2つのbookを元に、マッチング処理して複数のbookを作成する。

bookAは部品表。製品の数だけシートが入っていてそれぞれシートはその製品のオプションのリスト。
bookBは注文書。得意先-製品-製品のオプション(全て複数)。
bookBのリストを回してコードブレイク、マッチング、適切な商品シートをbookAから選んで
部品表に書き込み、得意先ごとのbookにまとめる。book得意先1(シート3枚)、book得意先2(シート1枚)・・・
といった具合です。これらとは別のbook、マクロ.xlsにVBAを書いているのですが、
bookAとbookBのマッチング、コードブレイク処理をどう書いたらいいのか分かりません。

それともこういう処理を書くときにはコピーして1シートにまとめなければできないのでしょうか?
(製品のシートがけっこうな枚数あるのでそれは避けたい・・・)

一度にactiveにできるシートは1枚ですよね?2つの別シート、それも別のbookのセルを比較する方法が分からないんです。
なにぶん、ExcelVBA初心者なので「こういう処理はこう書くべき」といった常道、常識を知りません。
どうか宜しくお願いします。






261名無しさん@そうだ選挙にいこう:2007/10/26(金) 20:53:00
>>260
そういう処理はAccessを使った方が簡単だと思う
262名無しさん@そうだ選挙にいこう:2007/10/26(金) 22:38:33
エクセル2003で
アルファベット26文字(A〜Z)のワイルドカードって
作れないですかね?
263名無しさん@そうだ選挙にいこう:2007/10/26(金) 22:49:59
>>260
そういう処理はチラシの裏を使った方が簡単だと思う
264名無しさん@そうだ選挙にいこう:2007/10/26(金) 22:51:10
うわ、262だった(><)
265名無しさん@そうだ選挙にいこう:2007/10/26(金) 23:05:14
エクセルに関する事で質問があり
誘導されて来ました。

○月などと打ち込むと自動的に
曜日が変わる表を作成しました。
土曜日と日曜日だけを青と赤の文字に自動的に
変更できる様に条件付き書式で
「全ての値が」→「次の値に等しい」
と選択し「土」と「日」と入力しましたが
反映されません。
どうすれば変更できますでしょうか?

長文ですみません。
266名無しさん@そうだ選挙にいこう:2007/10/26(金) 23:10:33
>265
「数式が」にしてweekday関数
267名無しさん@そうだ選挙にいこう:2007/10/26(金) 23:15:25
>>266さんありがとうございます!

やってみます!
268名無しさん@そうだ選挙にいこう:2007/10/26(金) 23:18:41
ちなみに条件付き書式の値の欄には
文字入力をしてもだめなのでしょうか。
269名無しさん@そうだ選挙にいこう:2007/10/26(金) 23:51:31
>>268
文字を入れてもいいのだが、
>>265のようにしたい場合は>>266が正解だろう。
270名無しさん@そうだ選挙にいこう:2007/10/27(土) 14:48:57
>>268
文字を入れてもいいのだが今回の場合はおそらく表示形式で曜日を出しているんだろ?
そうなると実態は日付のシリアル値だからな。
TEXT関数を使っているか曜日を直接文字を打っていないと条件で文字を入れても意味がない
271名無しさん@そうだ選挙にいこう:2007/10/27(土) 16:57:24
表計算においての質問です。
当方エクセル2003です。

セルA〜AHまでいろんな関数式を入れています。
(全部ではありません。例えばMとNはただの数字です。)
セルはそれぞれ13〜40000行まであります。
そこでセルC9に総利益があります。

セルM13〜40000とN13〜40000の数字の組み合わせで
C9が最も高い数字になるようなNとMの組み合わせを調べるには
どういう方法がありますか?

ちなみにM列もN列も13〜40000までは同じ数字です。
(M13=M5000=M10000・・・)
272名無しさん@そうだ選挙にいこう:2007/10/27(土) 17:05:09
>>271
数字が全部同じなら、組み合わせも何もないだろ。
質問の意味がまったくわからん。
273271:2007/10/27(土) 17:36:34
説明不足ですね。すいません。
M列とN列の数字を変えるとC9も変わるんですよ。
具体的に言いますと、投資の損益表なんですが、

セルA〜Fは日付けや時間や価格などで、その他は
売買のルールの関数式です。
MとNは例えばいくら騰がったら買い、いくら下がったら売り
などの「いくら」にあたります。
C9はいろいろな関数式をされた最終結果が出るようにしてますので、
MとNを変えると自動的に変わります。
274名無しさん@そうだ選挙にいこう:2007/10/27(土) 17:41:31
XP 2003です。
VBAで両面印刷させることが無理なことはわかったのですが、
対応として、VBAの中で、印刷ボックスを呼び出してから、設定したいと
思っているのですが、どのように書いたらいいですか。
275名無しさん@そうだ選挙にいこう:2007/10/27(土) 17:45:20
>>271
別のシートにでも組み合わせを作って計算しとけよ
どうして同じ数字を何万行も入れる必要があるのかがいまいちわからんのだが。
276271:2007/10/27(土) 17:58:55
>>275
何万行も入れるのは関数式上そうなってしまいました。

>>別のシートにでも組み合わせを作って計算しとけよ

その組み合わせをいちいち一回一回調べるのが面倒なんですよ。
例えばMとNが1〜10までの組み合わせは100通りもあります。
それをいちいちMが2Nが3の時はC9が・・・なんてこと
100回も繰り返すのが面倒なんです。

だからC9が一番大きい数字の時のMとNの組み合わせは〜
のようにすぐにわかると助かるんです。
277名無しさん@そうだ選挙にいこう:2007/10/27(土) 18:01:27
>>274
ページ設定ではなく印刷設定ならExcelの設定ではなくプリンタの設定なのでスレ違い(>>3★VBAについて)
プリンタの種別に因っても違ってくる部分だし
278名無しさん@そうだ選挙にいこう:2007/10/27(土) 18:03:20
>>273
必ず同じ数字を入れると決まってるなら、わざわざ同じ数字を何万個も並べないで、
すべての列の式で参照先をM13、N13にすればいいのでは?
そうすれば変更も検証も少ない手間で出来るようになる。

C9(最大値)、M、Nのいずれも不確定ならVBAで回すしかないような。
279名無しさん@そうだ選挙にいこう:2007/10/27(土) 18:35:40
>>278
>>すべての列の式で参照先をM13、N13にすればいいのでは?

セルP13の関数式を例えばセル40000までやる時
セルP13〜40000まで選択してCtrl + Enter でやってます。
その関数式はセルM,Nだけでなくほかのセルも組み合わせているので、
(他のセルはM・Nと違い行によって違う)M・Nだけ13に固定する
やり方がわかりません。

それができたとすれば、C9の最大値のM・Nの組み合わせが
すぐわかるようにできるのですか?

280名無しさん@そうだ選挙にいこう:2007/10/27(土) 19:03:15
>>279
O列13行から40000行までC9と同じ数式(?)を並べて・・・
O列を降順に並べる
または
LOOKUP関数で検査値をO列からMAX関数で拾ってきて
M列、N列の該当する行の値を抽出
281274:2007/10/27(土) 19:17:52
>>277
レス、サンクス
自分のは、エクセルVBAに関する質問で、ここでいいと思ってましたが、スレ違いでVBスレかwindowsスレが妥当なのかなと思いながら検索を続けていましたら、次のようなのに当たりました。

Application.Dialogs(xlDialogPrinterSetup).Show

これでいいのかどうかはまだ、未検証ですが、こんな感じのものを求めた文意です。


282271:2007/10/27(土) 20:12:59
>>280
すいません。ちょっとわかりません。
初心者なもんで。
ちなみにC9の関数式は=SUM(Y13:Y40000)です。
O列は別の関数式があるので空いてるセルAI〜でいいですか?
283271:2007/10/27(土) 20:35:56
絶対参照のやり方は自己解決しました。
MとNの後に$を入れると解決しました。(M$13)

本題ですが、C9の最大値にするM13・N13の組み合わせを求める
やり方を教えてください。
284名無しさん@そうだ選挙にいこう:2007/10/27(土) 20:52:53
式などがわからなきゃ「全ての組み合わせを入力し出力を確認する」しかないな。
285271:2007/10/27(土) 21:07:03
>>284
やり方があるのですか?無いならあきらめます。
286名無しさん@そうだ選挙にいこう:2007/10/27(土) 21:13:12
ものすごく基本的なことかと思うのですが、
文字列の中で特定のセルを参照することはできるのでしょうか?
数式だと問題なくできるのですが・・

たとえば
A1セルに「100」が代入されていた時
A2セルに「在庫は100(A1セルの内容を参照)個です」
となるように表示したいのです。
287286:2007/10/27(土) 21:21:38
代替法として
B1に「在庫は」
B2に「個です」
と入力し
A2に「=CONCATENATE(B1,A1,B2)」と入力すれば
出力結果は求めるものができますが
これでは実用性がなさすぎて困っています。
よろしくおねがいします
288名無しさん@そうだ選挙にいこう:2007/10/27(土) 21:23:32
>>282
すこしは自分で調べてから質問を返すようにしよう
全部他人にやってもらえると期待しているなら帰れ

そもそもY列に入っている式や、そのほかの式の関連が全く分からんぞ
条件後出しするならそれなりの対応しかないと思って質問するように
289名無しさん@そうだ選挙にいこう:2007/10/27(土) 21:34:45
>>286
A2セルに
="在庫は"& A1&"個です。"
290名無しさん@そうだ選挙にいこう:2007/10/27(土) 21:41:11
>>286
A2セルに =A1
さらにA2セルにセルの書式設定でユーザー定義を設定して
"在庫は"#"個です"
291名無しさん@そうだ選挙にいこう:2007/10/27(土) 21:50:13
>>288
すいません。後出しのつもりはありませんでした。
ところでY列の式と他の関係性は今回の質問には必要ないと思うんですけど。
最終的にM13とN13の値を変えるとC9も変わるんです。
C9にいたるまではYを参照してYは他のセルを参照して・・・
って感じです。当然NとMを変えればYも変わります。
C9は最終的に求めたい値なんです。
292名無しさん@そうだ選挙にいこう:2007/10/27(土) 22:12:06
>>291
一般的に最大値を求める考え方ってのはいくつかあるが、
もっとも理想的なのは最大値を一発で求められるような関数を発明すること。ただしこれは
元の式をよく研究しなきゃならないし、数学のセンスも必要。

それができない場合はMとNにあらゆる数字を代入してみて、すべての場合の答えを求めてから、
その中から最大の物を探すという、とても手間のかかる作業をすることになる。

今のところ元の式がどんなものかまったく公開されていないので、手間のかかる単純作業を
やるしかない、そういう結論になってくると思うのだけど。
293exc:2007/10/27(土) 22:54:25
>>291さんのやりたいことはソルバーでできるかもしれませんね。
294名無しさん@そうだ選挙にいこう:2007/10/27(土) 23:03:29
>279
M$13とかN$13とかって事?
295名無しさん@そうだ選挙にいこう:2007/10/27(土) 23:24:25
88
15
21
4
19
63
61
17
(以下略)


こんな感じで、適当にA列に数字が並んでるとして、答えとなる数字(例えば100)を
B1に指定して、ボタンを押すと、A列に並んでる数字を足して、B1の数字(100)に
最も近い数字になる組み合わせを探して、該当セルに色を付ける、みたいな処理を
Excelで行おうとすると、VBAで総当たり、という方法しかありませんかね?

結果、足して、指定した数字になる組み合わせが分かればありがたいのですが。。
※指定した数字にならなければ、最も近い数字になるように。
※また、A列の行数は日によってランダムです。

よろしくおながいします。
296271:2007/10/28(日) 00:44:01
>>294
はい。その点は解決しました。

>>293
ソルバーぐぐってみました。
まさに僕が求めていたことはそれです。
ありがとうございました。
ソルバーについてわからないことがあったら
また質問させていただきます。

その他の皆様もご指摘ありがとうございましたm(--)m
297exc:2007/10/28(日) 00:48:40
>>295さんの問題もソルバーで解決できそうです。
298名無しさん@そうだ選挙にいこう:2007/10/28(日) 00:53:35
>>295

該当する組み合わせが複数あったり同じ要素が複数あったらどうするの?
299名無しさん@そうだ選挙にいこう:2007/10/28(日) 01:25:21
ソルバーで使える式にうまく変形できると良いが
300exc:2007/10/28(日) 01:54:13
>>295
B列は0または1の値をとるものとして,C列はA列とB列の積を計算するようにします。
ソルバーを使って目標値(C列の合計)が100付近になるようにするとよいでしょう。
制約条件で,B列はバイナリに,目標値は100以下とします。
そして目標値が最大となるようにソルバーを実行して下さい。
次に制約条件を目標値が100以上となるように変更し,
目標値が最小となるようにソルバーを実行して下さい。

2つの結果のうち,目標値が100に近い方を採用するとよいでしょう。

>>298さんの指摘するような問題もありますが,これは全ての最適化問題に共通の問題ですね。
301名無しさん@そうだ選挙にいこう:2007/10/28(日) 11:03:14
>>265で質問したものです

「数式が」にしたあとのWEEKDAY関数とは
どのように入力すればよいですか?
あれこれ試しましたがなかなかできません

ほんとに初心者ですみません!
302名無しさん@そうだ選挙にいこう:2007/10/28(日) 11:30:30
>>301
色を付けたいセルがA1だったら、数式を

=WEEKDAY(A1)=1

とすれば条件として日曜日が指定されたことになる。
最後の数字が2なら月曜、7なら土曜。あとは、日曜の時の書式を赤にすればいい。

ルールは1つのセルにいくつでも追加できるから、もう一つ数式を作って、そっちは
土曜日という条件で書式を青にする。

試行錯誤してると変なルールがいっぱいできちゃうから、「ルールの管理」画面で
余分なルールは削除すること。
303名無しさん@そうだ選挙にいこう:2007/10/28(日) 14:41:56
OSはWindowsXPです
最近自宅で使うExcelを2000から2007にヴァージョンアップいたしました
それに伴いメインで使っているブック(VBA含)もxlsmに変換してファイルサイズは約30MB→10MBになりました
しかし作業していて自動保存や手動保存時に20%くらいの確率で原因不明の不具合で落ちてしまうようになってしまいました
Excel2000の時にはほぼ出ていなかった不具合です
ブック中の1シートは現在約60000行あり今後65536行を超える見込みから以前のヴァージョンには戻したくありません
タスクマネージャを見張ると保存時にCPU使用率が100%になっていますが関係あるか解りません
保存時に毎回ドキドキするのはかなりツラいです
ファイルの保存成功率を高める為にはどのような方法がありますでしょうか?
304名無しさん@そうだ選挙にいこう:2007/10/28(日) 15:12:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

シート1に
101 交通費
102 雑費
103 教育費
・   ・
・   ・
のようなリストを作って、別のシート上で「101」と打ち込むと横の欄に「交通費」と出てくるようにしたいんですが、適切な関数がわかりません。
どなたか教えていただけないでしょうか?よろしくおねがいします。
305名無しさん@そうだ選挙にいこう:2007/10/28(日) 15:21:31
>>304
VLOOKUP
306名無しさん@そうだ選挙にいこう:2007/10/28(日) 15:26:47
>>305
VLOOKUPだけと同じシート上にリストつくらなければいけないと思うんですが、別なシート上でもできるのでしょうか?
307名無しさん@そうだ選挙にいこう:2007/10/28(日) 15:38:17
>>306
可能
308名無しさん@そうだ選挙にいこう:2007/10/28(日) 16:56:29
>>306
やり方は聞くなよ。色々試してみれ。
309名無しさん@そうだ選挙にいこう:2007/10/28(日) 18:31:57
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 分数 除算 分子 確率 関数 頻度

確率のsheetを作成しているのですが、
分子を「1」で固定して分数でセルに表示させることが出来ません。

セルA セルB   出来たもの 表示させたいこと
1 20 1/20 1/20
2 20 1/10 1/10
3 20 3/20  1/6.66

のように試行何回に一回の頻度で発生するとセルに表示させたいのです。
分数の表示はセルの書式設定で行えたのですが、
分子を1に固定して算出する数式や関数をご教示願えませんか?
310271:2007/10/28(日) 18:42:15
ソルバー試したんですけど一つわからないことがありました。
それは制約条件です。「$Q$13:$R$13」を変化させるセル
の欄に入力するまではできました。制約条件の欄にQもRも
10の倍数にしたいんですけど、どうすればできますか?
311名無しさん@そうだ選挙にいこう:2007/10/28(日) 18:53:49
>>309
="1/"&ROUND(セルA/セルB,2)

自己解決。検索不足でした。スレ汚しスマソ。

ttp://www.keep-on.com/excelyou/2001lng2/200111/01110192.txt
ttp://okwave.jp/qa2189127.html
312どうしてパンチラが流出?:2007/10/28(日) 19:05:17
   |    ,.ゝ─-,.r'´ ̄ `丶、     のべ25万人が見た女子アナ国会議員のパンチラ!
    ヽ,.r'"   ,. / ヽ `ヽ--─ '"フ    元・テレ朝女子アナウンサーまるたまさん(白パンティー?)
   /  ,.' /  il i ヽ 丶   ,.イ  http://news21.2ch.net/test/read.cgi/news2/1184094492/90
 ,.イ/  /i /l   !| l   ヽ l,..ノ,. 'i  日本人でよかった♪ 白でよかたーーー!
  /ィ / /-ノ、l  ハ ! ! : l i/j l |    ノノこの番組で有名となった丸川珠代さん(参院議員)です。
  ! l/ ,ir‐‐、 iヽl -ヽl、 l !│ / ,' ! http://news21.2ch.net/test/read.cgi/news2/1184094492/90
   )r'! i l;;ソ   ‐r‐、,ソ,.j / / /,ィ      ,. -‐- 、
  '´ l |  '     j.:.::ゞj /、 / // i     / ,. -、 ヽ
    l lヽ  l>  `'‐'"//ッノ ! ハ! `   /  , '   ヽ ゙!
   ,.-l 、ゝ、 __ ,.  ‐'フ,' ミ,.| j |     ,'  /    j  l
  /  ` シ;.    "'ツ'´  ,シヽ' `'    |  l    ノ! ,.ヘ
  !   ,.ゞヘ;.j、ハ.r;.iゞ'ミ'゙   `丶、   l  '、    '"'´
  l l / /  ヽ   ヽ      ヽ   ヽ 丶たけしさんの隣のまるちゃんに注目!(白パンスト?)
  ヽ,i'  , '   > '´ ヽ   ヽ、     j    ヽ、 ヽでも、小泉チルドレン筆頭の
  /  '、 ,.'   ,ノ   リ     ,ヘ、    ヽ ヽ佐藤ゆかりたん萌え〜パンチラは無ーーーい!
  !   ヽj  ,. '"      !    l  ヽ、. --、._ j  !
  丶   `'´       ノ‐--- '!        〉i`ヾ、
    ヽ...,, -- 、..    ,. '"|     j      / ,'   ヽ
     ト、 ヽi ゙;,,.シ ̄;ゞ  l    ,'l     ,.' ノ-'"  丶
    〉、  l `''"^'''"´ ̄|     l、..__,. -' =‐- 、.._   i
     | 丶. !   ,. ‐ ' ´l   、l,. - ‐ '" ̄ `丶、 ` |
     |   l ,. '´    l     !             ヽ j
    !  /      ,. !   │          / パンチラ規制厨の負けw
313exc:2007/10/28(日) 19:38:21
>>310
変化させるセルを例えばQ14, R14にします。
そしてQ13=10*Q14, R13=10*R14としてソルバーを実行してみてください。
制約条件でQ14, R14は整数に指定しましょう。
314名無しさん@そうだ選挙にいこう:2007/10/28(日) 20:20:11
にわかにソルバー人気出てきてるのにワロタw
315名無しさん@そうだ選挙にいこう:2007/10/28(日) 20:31:57
ピボットと同じく、使いこなすとこんなに便利なものがあったのかと感動する機能だしな
316exc:2007/10/28(日) 20:39:16
ですね。ピボットテーブルとソルバー大好きです。
317271:2007/10/28(日) 20:46:16
>>313
できました。ありがとうございました。
318名無しさん@そうだ選挙にいこう:2007/10/28(日) 21:27:16
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Sheet VLOOKUP Excel

すいません、行き詰ってしまったのでどなたか教えて下さい。


@Sheet1 (1月1日のデータ)
     A    B    C    D    E    F    G    H
 ┌──┬──┬──┬──┬──┬──┬──┬──┬
1.│.1/1 │    │体重│身長│年齢│収入│    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼
2.│田中│    │    │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼
3.│山田│    │55.0 │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼
4.│鈴木│    │    │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼
5.│小林│    │    │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼
6.│山田│    │    │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼
319318:2007/10/28(日) 21:28:39
ASheet2 (1月2日のデータ)
 ├──┼──┼──┼──┼──┼──┼──┼──┼
3.│山田│    │56.5 │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼

BSheet3
 ├──┼──┼──┼──┼──┼──┼──┼──┼
3.│山田│    │56.0 │    │    │    │    │    │
 ├──┼──┼──┼──┼──┼──┼──┼──┼


こんな感じで@〜BのSheetがある中で、山田(例)の体重を平均して集計したセルを作りたいのですが
どんな式を当てはめれば良いでしょうか。
どこかに、全シートのC3セルを1つずつ抜き出して、それをまたオートSUMでくくって平均を出すことも考えたのですが
シートが1枚1枚増えるごとに、式を書き換えないと行けないのが難点です。

なので、1/1から1/31までのシートはあらかじめ作っておくものとして
山田の体重を日数で平均化し、なおかつ、まだ集計されていない日付の分は
式の内に入らないようにするにはどうすればいいでしょうか。
Excelを触りたてでうまく説明できず、つたない文章で恐縮ですが、よろしくお願いします。
320名無しさん@そうだ選挙にいこう:2007/10/28(日) 21:33:42
>>318
例としての図書くの頑張りすぎw
表自体をシート分けずに、そういう集計したり、データベース的な使い方するなら、
一枚のシートに縦に並べて表作るのが定石なので、まだ間に合うなら、仕様変えた方が
いいかもよ。

そのまま行くなら、人の位置が変わらないという条件で、
「串刺しSUM/シート数(その日までの日数)」
で平均は出るけど。
321名無しさん@そうだ選挙にいこう:2007/10/28(日) 21:46:28
>>>302さん!>301のものです
遅くなりましたができました!ほんっっっとに
ありがとうございます!

また分からないことがあれば聞きますので
お願いいたします!
322exc:2007/10/28(日) 21:47:21
>>318
これはピボットテーブルレポートの出番ですね。
データはこんなふうに一枚のシートにまとめた方が便利ですよ。
日付  名前 項目 値
1/1 山田 体重 55.0
1/2 山田 体重 56.5
1/3 山田 体重 56.0

このデータに対してピボットテーブルレポートを作るといいです。
323名無しさん@そうだ選挙にいこう:2007/10/28(日) 21:50:59
コテハンでずっとageで解答してる奴、そろそろいい加減にしとけ
324名無しさん@そうだ選挙にいこう:2007/10/28(日) 22:04:13
たしかに香ばしい必死感出てるなw
325名無しさん@そうだ選挙にいこう:2007/10/28(日) 22:09:26
山田の体重変動しすぎ
326名無しさん@そうだ選挙にいこう:2007/10/28(日) 22:18:56
>>325
鋭いなw
327exc:2007/10/28(日) 22:25:25
正月は食べ過ぎ注意ですね。
328318:2007/10/28(日) 22:33:36
>>320
>>322
お返事ありがとう御座いました。
都合上、データSheetは仕様を変えられないので、串刺しSUMでググって調べてみました。

その結果、たどり着いた「統合」で、田中〜山田まで全員の各データを
一気に平均化することは出来たのですが、その集計を出すとき
まだ数値の出てないセルも含めた数で割ってしまうようでした。
(今のところ、無表記のセルは0か空欄で表示される仕様です)

たとえば、Sheet1〜3の田中の体重の平均値を、Sheet4のC5セルに反映させた場合
4Sheet目の2〜4行目に

「=Sheet1!$C$3」
「=Sheet2!$C$3」
「=Sheet3!$C$3」という3つのセルが出来ていて、5行目に
「=AVERAGE(C2:C4)」という式が入って、平均が出ておりました。

この場合、例えばSheet2のC3が空欄、もしくは0だった場合、割り算の分母には該当させずに
Sheet1とSheet2だけで平均値を出したいのですが、こういう場合はどうすれば良いでしょうか。
「=AVERAGE(C2:C4)」の式に、ちょっと手を加えて出来そうな感じですかね。
329名無しさん@そうだ選挙にいこう:2007/10/28(日) 22:51:59
少しは自分で調べようよ
いや少しと言っても数十分とかじゃなくてせめて1週間くらいは
330名無しさん@そうだ選挙にいこう:2007/10/28(日) 23:05:05
>328
>都合上、データSheetは仕様を変えられないので

鈴木君がいなくなったらどうなるの?
別の人が増えたらどうなるの?

たぶん、入力作業の都合で1回のデータを1シートにしたいんだろうが
この先のことを考えるならシート=個人データにした方が後々楽だと思う。
331名無しさん@そうだ選挙にいこう:2007/10/29(月) 01:15:20
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel abs "マイナスを"

1.下のような集計結果があります。

   A    B    C    D    E

1. 4.69 |-3 |-3.5 |6.9 |8.02

2.そこから、F・G列でA1からE1の、絶対値の最大値・最小値を求めます。
F1→{MAX(ABS(A1:E1))}
G1→{MIN(ABS(A1:E1))}

3.2.で出た最大値と最小値が入力されている元データのセルを条件付書式で
目立たせるようにしてるのですが、1.にあるように絶対値の最小値が「-3」なのに
2.で出てくる答えはマイナスが取れて「3」になってしまうため、目立たせることが出来ません。
絶対値の最大・最小値を求めながら、出た答えを元データと同じ状態に戻すには
どのようにすれば良いですか?
解決法をご存知の方がいらっしゃいましたらよろしくおねがいします。
332名無しさん@そうだ選挙にいこう:2007/10/29(月) 01:34:45
>329
すぐに教えてもらえると翌日から仕事に活かせて便利。
ニート君は余裕があっていいな。
333名無しさん@そうだ選挙にいこう:2007/10/29(月) 03:22:13
>331
条件付書式をそれぞれ

=ABS(A$1)=$F$1
=ABS(A$1)=$G$1

としては駄目なの?
334名無しさん@そうだ選挙にいこう:2007/10/29(月) 07:11:56
>>332
哀れだな
335名無しさん@そうだ選挙にいこう:2007/10/29(月) 07:14:46
分かりやすいなりすましだなぁ
336名無しさん@そうだ選挙にいこう:2007/10/29(月) 09:02:49
だよね
質問者本人なのバレバレ
337名無しさん@そうだ選挙にいこう:2007/10/29(月) 10:16:32
>>333
ありがとうございます。
それを問題の、絶対値の最小値の答え「-3」の部分に当てはめると
=ABS(B$1)=$G$1になるのですが、
G1には={MIN(ABS(A1:E1))}が入っており、答えは 「3」なので駄目で、それで困っていました。
説明が下手ですみません。
他に良い方法があればお願いします。
338名無しさん@そうだ選挙にいこう:2007/10/29(月) 11:30:08
>>337
ABS(B$1)も3になるんだから、それで合ってると思うんだけどなあ。実際にやってみた?
それよりも、結果がおかしくなる原因はABS(A1:E1)の部分じゃないの?
339名無しさん@そうだ選挙にいこう:2007/10/29(月) 12:03:44
ソルバーについて質問です。2003です。
制約条件を入力する時
「入力された参照が正しくないか、または必要な参照が入力されてません。マウスを〜・・・」
っていうのが出るんですが、そのウインドウを閉じると
制約条件の欄にはしっかり入力されてます。
制約条件の欄に入力されているのであれば問題ないのですかね?
あとオプションで反復回数と時間を変えられるんですが、
時間をたとえば1000秒に変えてもすぐに「制限時間に達しました。続けますか?」みたいなのが
出ます。なんなんですかね?あと反復回数ってどういう時にいじるのですか?
340名無しさん@そうだ選挙にいこう:2007/10/29(月) 12:45:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 印刷 方向

線などが既に入っている用紙に文字だけを印刷したいのですが、
用紙横幅がプリンタ規程外サイズになっています(縦幅は問題無し)
なので、用紙差込時の向きを変え、
レイアウトを維持したまま印刷するというのは可能でしょうか?
印刷方向で設定して用紙の長さだけを変えるんじゃなく、
レイアウトの方向も一緒に動かしたいのです
うまく説明できずすいません
分かるかたお願いします
341名無しさん@そうだ選挙にいこう:2007/10/29(月) 13:02:18
>>339
最後の条件を入れる時は「追加」じゃなくて「OK」を押す。

すぐに止まるのは、「反復結果の表示」にチェック入ってない?
これは途中経過を見るための物だから答えだけが欲しいときは必要ない。

反復回数と制限時間は正解が出なかったときに増やす物で、
普通はデフォルトのままでいいはず。
342名無しさん@そうだ選挙にいこう:2007/10/29(月) 13:25:52
>>340
用紙を90度回転させるということは、こんどはプリンターから見て高さが規格外の紙を
使うということになるから、けっきょくは
規格外の紙を差し込めるかどうか、プリンター固有の問題になるんじゃないのかな。
給紙トレイを使わず差し込み印刷で紙のサイズを厳密にチェックする方が少数派だと思うけど。

あと、印刷設定と実際の紙の大きさは一致してなくてもちゃんと印刷できることが多い。
その用紙が使えるんなら、大丈夫だと思うんだけど。
343340:2007/10/29(月) 13:47:02
>>342
回答有難うございます

用紙自体プリンタに差し込めないんですよ
(横幅28.5cmで微妙に用紙差込場所から微妙にオーバーしてます)
だから縦方向に入れてなんとかなるかなーと思ったのですが、
無理っぽいのですね
344339:2007/10/29(月) 13:53:36
>>341

Microsoft Excel 11.0 解答レポート


目的セル (最大値)
セル 名前 計算前の値 セルの値
$C$9 純利益 1090 1090


変化させるセル
セル 名前 計算前の値 セルの値
$AH$14 Trend 5 5


制約条件
セル 名前 セルの値 制約条件 ステータス 条件との差
$AH$14 Trend 5 $AH$14=整数 満たす 0
$AH$14 Trend 5 $AH$14>=1 部分的に満たす 4



制限条件については解決しました。ありがとうございました。
新たな問題です。ソルバーが馬鹿になってます。
AH14=5より=6とかの方がC9が大きい値になるんですが。


345名無しさん@そうだ選挙にいこう:2007/10/29(月) 14:45:44
お願いします。

一つのセル内に複数行にわたる文字を記入しました。
すると、複数行のうち上の方のみが表示され、
下の方はセルからはみ出るかたちで見えなくなってしまいます。

下の方を優先的に表示させたいのですが、どうすれば
よいのでしょうか。

配置→縦位置→上詰めや下詰めをしても、したの方が
優先的に表示されるようにはできませんでした。
346331:2007/10/29(月) 14:47:36
>>338
はい、やってみました。

   A    B    C    D    E     F    G

1. 4.69 |-3 |-3.5 |6.9 |8.02 |8.02 |3





21. 2.08 |-3 |・・・・・
(↑元データ)

このB21の部分をG1の結果を元に目立たせたいのです。

集計前の元データはセルが飛び飛びになっているため、A1:E1のように一度並べ替え、計算用としてまとめてあります。
347331続き:2007/10/29(月) 14:50:21
なので、G1で出た答え「3」をもう一度「-3」に戻す必要があると思うのですが
それがうまく出来なくて困っています。
よろしくお願いします。
348名無しさん@そうだ選挙にいこう:2007/10/29(月) 15:00:26
>>346-347
本当にやってみたんか?うちでは正しい結果になってるぞ。
なってないとしたら、質問の方が間違ってるということになる。

それから、もうちょっとよく考えてみ。
絶対値で最大か最小か調べてるんだから、書式の条件式も絶対値で比較すればいいんだよ。
マイナスに戻す必要なんてないの。

あと、エクセルでは { } で囲まれた数式はShiftとCtrlを押しながら入力するんだけど、
そこんとこ間違えてない?
349345:2007/10/29(月) 15:05:01
ぐすん・・
350名無しさん@そうだ選挙にいこう:2007/10/29(月) 15:18:00
>>345 >>349
配置→縦位置→下詰め
ttp://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up1157.png

ただし中央を出すのはどうやっても無理みたいだけど。
351350:2007/10/29(月) 15:25:49
あ、ごめん。
縦位置がちゃんと反映されるのは、隠れてるのが1行だけの時だった。
352345:2007/10/29(月) 15:27:54
クロアチアタカトシュ、タシュケテ
353331:2007/10/29(月) 15:33:40
>>348

>あと、エクセルでは { } で囲まれた数式はShiftとCtrlを押しながら入力するんだけど、
そこんとこ間違えてない?

間違えてないです・・・。

どのようにしたいのか、サンプルを作ってキャプしたものをUPしましたので
見ていただけたら嬉しいです。

ttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000021515.jpg
354名無しさん@そうだ選挙にいこう:2007/10/29(月) 16:14:14
>>353
実際に同じデータを同じセルに入れてやってみたよ。
ttp://aaabbbccc.s6.x-beat.com/upload/src/up14339.png

もしかして、数式の「$」を入れる位置を間違えてない?
355331:2007/10/29(月) 16:43:37
>>354
画像ありがとうございます。

何度もすみません。
色をつけて目立たせたいのは15行目以降にあるセルです。
A1からF5は、G・H列で最大値と最小値を出すためだけのものです。

15行目以降5回目までしかサンプルに使いませんでしたが
実際には100回目まであり、そのままだと式がものすごく長くなってしまうため
A1〜各項目1行に並べ直しましたが、印刷して使うのは15行目以降の表になります。
356345:2007/10/29(月) 16:44:45
がおー!!
357名無しさん@そうだ選挙にいこう:2007/10/29(月) 17:19:49
>>355
それなら、いちいちコピーした表を作らなくても、下の表で直接集計すればいいじゃん。
飛び飛びに並んだ数字セルから最大値を調べるには、こう書けばいいんだよ。
{=MAX(ABS(IF(ISNUMBER(A15:A412),A15:A412)))}

※この並びで行くと100回目は412行目になるからA412までを調べている。

個人的な感想を言わせてもらうと、最初から間隔を空けずに数字をびっしり並べた表を
作った方がいいんじゃないのかなあ。
こんな表を印刷したら見にくいだけで紙も無駄だと思うんだけど。
358331:2007/10/29(月) 17:39:38
>>357
いろいろ試してくださってありがとうございます。
確かに、私も見にくい表だと思うんですけど
その表の体裁は崩すなといわれているので・・・。
あと、他のテスト項目の数値も実際にはA列に入っていて
412行目まで一気に指定できないんです。
359名無しさん@そうだ選挙にいこう:2007/10/29(月) 17:52:49
>>358
4行置きとか一定の間隔で並んでれば、同じように一発で集計できるよ。
あとは、どこかの列にテストの種類とか何か目印が書いてあれば、その行だけを取り出して
集計することも可能。
360331:2007/10/29(月) 18:48:26
>>359
集計はできているので、該当するセル(15行目以降)に色を付けたいだけなのですが
それがどうしてもうまくいきません。
15行目以降の数値が入っているセルそれぞれに、条件付書式で
絶対値の最大値と最小値という2つの条件を付けたいです。
361331:2007/10/29(月) 18:56:40
4行おきに並んでいる場合の集計方法についても
今後のために知っておきたいので教えてください。
よろしくお願いします。m(_ _)m
362名無しさん@そうだ選挙にいこう:2007/10/29(月) 18:57:53
>>360
それは>>333の通り。
あとは相対参照か絶対参照かをよく考えて$の位置を直すだけ。
たくさんのセルに書式をまとめて設定したい時はフィルター使え。
363名無しさん@そうだ選挙にいこう:2007/10/29(月) 19:09:14
>>361
例えば、こういうふうに4行おきのセルを指定して最大値を求めたいとする。

=MAX(A17,A21,A25 …… A405,A409,A413)

もちろん長くなりすぎるから途中は省略してある。
それをこう書けば同じ意味になる。こっちは省略してない。

{=MAX(IF(MOD(ROW(A17:A413),4)=1,A17:A413))}
364331:2007/10/29(月) 19:31:46
>>362
ありがとうございます。
これからもう一度じっくり見直します。

>>354であげてくださった画像では
A1からH5の範囲にあるセルに色がついてるのですが
>>353の画像のように、15行目以降の元データに色をつけたいので
同じようになるか試してみていただけますか?
お時間いただけて可能であればで結構です。
よろしくお願いします。

>>363
すごく便利な式を教えていただきありがとうございます。
365名無しさん@そうだ選挙にいこう:2007/10/29(月) 19:54:39
1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

[データ]→[接続]で表示される「ブックの接続」に
Webクエリを登録しない設定にするには、どうすれば良いのでしょうか。

VBAでURLのパラメータを変えてWebクエリを実行すると、
その都度、別の接続として追加登録され、困っています。

よろしくお願いします。
366名無しさん@そうだ選挙にいこう:2007/10/29(月) 21:45:36
367331:2007/10/29(月) 22:04:45
>>364
解決です!できました!
本当に本当にありがとうございました!
368331:2007/10/29(月) 22:13:27
バージョンが2000で、条件付書式のメニューの見た目が違うため
設定の段階で選択を誤っていることに気付くのが遅れました。
早々に解答をいただいていたのにすみませんでした。

×→ セルの値が▼ | 次の値に等しい▼ | 数式

○→ 数式が▼ | 数式
こちらで上手くいきました。
ありがとうございます。
369名無しさん@そうだ選挙にいこう:2007/10/30(火) 01:59:01
質問させてください。

Excelのリストを使って用語集を作ろうと思っています。
範囲を指定してリストを作成するだけなので、簡単にできたのですが、リストの
青い枠線が気になってしょうがありません。

「アクティブでないリストの枠線を非表示」だけではなく、
「リストの枠線を非表示」にしたいのです。

アクティブになったときも枠線を表示しない方法ってありますか?
370名無しさん@そうだ選挙にいこう:2007/10/30(火) 07:27:19
リストって何?
371名無しさん@そうだ選挙にいこう:2007/10/30(火) 07:47:15
>>369 オプションの表示の枠線
372名無しさん@そうだ選挙にいこう:2007/10/30(火) 11:56:01
>>370
最新版ではテーブルに名前が変わった
373名無しさん@そうだ選挙にいこう:2007/10/30(火) 12:00:45
345
374名無しさん@そうだ選挙にいこう:2007/10/30(火) 12:38:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 経過日数 数式

Excelについて質問です。
商品の管理をしようとする時にまず
本日の日付をA1
商品@を入荷した日付をB1セルに日付を書きます。
商品Aも入荷した日付をC1に書きます。その後も商品数だけ下に書いていきます。

そしてそのファイルを毎日「別名で保存」にしてファイルを一日毎に増やしていきます。
※ファイルを一日毎に増やしていくことは必須となります。

そして本日の日付は入荷より何日経過したかが知りたいのですがどのような
数式を打ち込めば経過日数を表示してくれるのでしょうか?
375名無しさん@そうだ選挙にいこう:2007/10/30(火) 12:52:09
>>374
TODAY関数でブックを開いた時の日付けをゲットできるから後は引き算。
【ファイル】毎に開いて確認する必要が出るけど、関数やマクロを使っても同じ事だしね。

しかし・・・入力されるデータは【一つのシートにまとめる】事を強くお奨めする。
表示は別のシートで行えばいいし、複数の【ファイル】を開く必要もない。
月単位、期単位、年単位で【ファイル】を作れば管理がしやすくなるメリットもある。
376名無しさん@そうだ選挙にいこう:2007/10/30(火) 12:56:38
商品@  =DATEDIF(B1,NOW(),"D")
377名無しさん@そうだ選挙にいこう:2007/10/30(火) 15:17:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
以下の式をVBAで入力したのですが、

Worksheets("記録").Range(Cells(y, 3), Cells(y, 102)).ClearContents

「アプリケーション定義またはオブジェクト定義のエラーです」と言われてしまいます。
これのrangeの部分をrows(y)とすると問題なく動くのですが、これではダメだといいます。

というより、さっきまで支障なく動いていたのに、突然エラーを出すようになりました。
そんなことってありえるのでしょうか???

yにきちんと実数が入ることは確認済みです。文法の問題でしょうか?
378名無しさん@そうだ選挙にいこう:2007/10/30(火) 15:25:54
CellsがWorksheets("記録")でないとか?
379名無しさん@そうだ選挙にいこう:2007/10/30(火) 16:47:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

一つのセル内に複数行にわたる文字列を改行を伴って記載した場合であって、そのセルのセル高さが十分でないために、複数行にわたる文字列の最終行が表示されません。

この最終行を優先的に表示させるために、セルの書式設定で上詰めや下詰めなど縦位置をいぢりましたが、解決には至っておりません。

一つの解決策として、セル高さを大きくすれば足ります。しかし、他の事情からなるたけセル高さは大きくすることはせず、最終行を優先的に表示させたいのです。言い換えれば、一番上の行は表示されなくてもよいのです。

よろしくお願いします。
380名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:07:10
【1 OSの種類         .】 WindowsXP-HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA セル カウント

縦に並んだセル、例えば

小泉首相
小泉首相
 ・
 ・
 ・
安部首相
安部首相
 ・
 ・
 ・
福田首相
福田首相
 ・
 ・
 ・

で、途中の安部首相の縦方向のセル数をカウントしたく思います。
どのような方法が考えられるでしょうか? 宜しくお願い致します。
381379:2007/10/30(火) 17:12:12
int count=0;
for(i=0;i<ALL_ROW;i++){
if(cell(A_CL,i)=="安倍首相"){
count++;
}
}
printf("安倍首相は%d人いました。",count);
382名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:17:35
>380
@ = worksheetfunction.countif(worksheet("sheet1").range("a1:a65536"),"安部首相")
A for i = 1 to 65536
if worksheet("sheet1").range(cstr("a") & i ) = "安部首相" then a = a + 1
next i

二つくらいしか思いつかなかった…。
あと、安"倍"首相だと思う。
383名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:18:21
>>377
どっかに結合セルとか保護セルとか作ってない?
384名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:22:55
>>379
VBAで文字列の最後の行を返す関数を作るとか。
385名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:26:13
>>380
リストで数えられるけど、必ずVBA使わないとだめ?
386名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:53:53
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Google: Excel VBA "記入されたセル" 範囲

シート内で記入されたセルの範囲(全範囲)を把握する記述にはどのようなものが
ありますでしょうか?

例として(途中に空白セルがあり飛び飛びの状態)総行数が100,総列数が20
の場合、
Row = 100
Column = 20
という値で得たく思っています。
387名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:56:19
>>382, 385

380です。レスさんきゅうです。
他の動作をVBAで同時に行いたいのでVBAでやりたいです。



>>381
C言語?
388名無しさん@そうだ選挙にいこう:2007/10/30(火) 17:57:25
Excel2003でパスワードを設定するには
どうすればよいでしょうか?
389名無しさん@そうだ選挙にいこう:2007/10/30(火) 19:10:33
>386
UsedRange.Rows.Count とか
>>389
あんがと
391名無しさん@そうだ選挙にいこう:2007/10/30(火) 22:17:32
【1 OSの種類         .】たぶんWindows98
【2 Excelのバージョン   】 不明
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否 】否
【5 検索キーワード     】関数
関数に関する質問ってここでいいんだろうか…テンプレの項目が既に自分には難解だから、
初歩的すぎてバカらしいとは思うんだけど、答えてくれる人がいれば非常に助かります。

1.電話番号の中のハイフンを全て抜いて、番号だけを表示させる(関数で)
2.「東京都渋谷区」「山形県仙台市」等から、区名と市名だけを抜き出す(関数を二重で使う。恐らく答えを表示する関数はRIGHTかLEFTで、その中にどれかの関数を組み合わせる)
3.ローンの毎月の返済額の計算(年利1.5%、回数10、金額100,000円)たぶんPMT関数だと思うんだが、うまく答えにならない

スレ違いなら申し訳ない。宜しくお願いします
392377:2007/10/30(火) 22:45:11
>>383
いえ、作っていません。

rows(y)ならエラーにならないので、まったく意味がわからなくて混乱しています。
393名無しさん@そうだ選挙にいこう:2007/10/30(火) 22:57:25
>>391
宿題ですか
394名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:06:54
エクセルで質問です

エクセルの画面(BOOK1など画面自体)
をシートに貼り付ける方法が分かりません

シートを開いてそのままコピーするのかと思いましたが
うまくいきません。
どうか教えていただけますでしょうか
395名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:20:45
>>391
四日市市とか難しいな
396名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:20:51
>>394
意味が分からんが、スクリーンショットでGoogle検索すると幸せになれるかも知れん。
397名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:24:33
WindowsならPrint Screenでいいんじゃないの?
LinuxはExcelつかわんだろ
398名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:25:23
>394
画面自体って図にして貼り付けたいという事?
画面丸ごとならprintscreen、貼り付け
シートの中だけなら範囲を選択してコピー、shift押しながら編集メニューで図の貼り付け
399名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:26:45
>>391
ヒントだけ。使い方はヘルプなり見ること。
(1) Replace関数
(2) 必要な結果は「渋谷」か「渋谷区」のどっちだろう?
(3) そこまでわかってんなら検索汁
400名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:29:08
>>380
Application.WorksheetFunction.CountIf
なら1行でできる
401名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:29:09
>395
町も番地も入ってないんだからsearchとmidか
lenとsearchとrightのコンボでいけるんじゃないの
402名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:31:58
市川市とかな
403名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:32:07
>>394です
>>396-398さん
レス遅れてすみません!

シートを開いたときに上の方にある青いバーなども
含めて一つの図として別のシートに貼り付けたいのです。

よく手順を説明する時にエクセルの画面が一つの
図のようになって貼り付けられている…あれが
したいのです。

ほんとに分かりづらくて申し訳ありません…。
404名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:33:04
>>403
レスが遅れた事を謝る前に、レスいただいたのに、全く読んでいない事を謝れ!
405名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:33:57
>>403
それならAltを押しながらPrintScreenでエクセルの画面全体がクリップボードに入るから、
あとはそれを貼り付けるだけ。
406名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:36:15
>>404さんレス読ませていただきました

プリントスクリーンとはどのようにやるのでしょうか…。

ヘルプ画面でプリントスクリーンと入力したら
質問の意味が分かりませんと言われてしまいました。
407名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:37:15
>>405さん
レスのタイミング悪くてすみません!
ありがとうございます!
408名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:59:32
>>395
>>402
入ってないからおk
>>399
ありがとうございます。
2で表示させたいのは「渋谷区」です。すいません。3は指定参考書の通りにやっても答えが違ってしまう。何がいけないんだろうか。この場合のPMTって2のように関数を二重使いしますか?単品で求められますか?
>>401
ありがとうございます。後者の関数だとRIGHT(LEN-SEARCH"県")ですか?
409名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:02:49
都道府県名が4文字なのは神奈川県、和歌山県、鹿児島県の3つだけだから、
それだけ個別に判定して、あとは無条件に左から3文字を削除すればいい。
市区町村が必要なければ、右から1文字を削る。
410名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:08:42
>>409
方法は一貫せねばならないらしい。そのかんじだと4文字県は別にしなきゃならない、のかな?よくわからん。
RIGHT(LEN-SEARCH"県")にしたら結果が数字になった
もうだめぽ
411名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:26:17
>>410
一貫て、都道府県名の削除を1行で書けってこと?
まさかと思うけど、問題用紙に書かれたいくつかの住所だけが処理できればいいの?
郡部の処理は必要ないの?
412名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:33:21
>>411
すいません。全都道府県に対するものではなく、数個に対する関数だけです。でも鹿児島県は入ってました。
413名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:37:25
4文字目が県でなければ先頭に1文字追加すればいいね
414名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:37:38
>>412
東京都、京都府、大阪府、北海道が入ってないんなら「県」の文字の位置を調べるだけだと思うけど
415名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:43:21
もういい。
わからなすぎる。諦める道もありかなと思う。
みんなありがとうございますた。スレ汚してすまんかった。
416名無しさん@そうだ選挙にいこう:2007/10/31(水) 00:48:00
>410
関数の使い方を間違えてる

どっちにしても都道府は別にしなきゃいけないから
=IF(ISERROR(SEARCH("県",A1)),RIGHT(A1,LEN(A1)-3),RIGHT(A1,LEN(A1)-SEARCH("県",A1)))
て感じか、4文字県をIFで分別するのと大差ないと思う
417名無しさん@そうだ選挙にいこう:2007/10/31(水) 01:03:36
汎用性のないプログラムでよさそうだから、たぶんこんな感じだろう。

  s = "神奈川県町田市" '元のデータが変数sに入っているとして
  t = Right(s, Len(s) - InStr(s, "県")) '県以降を取り出して変数tに入れる
418名無しさん@そうだ選挙にいこう:2007/10/31(水) 01:18:39
模範解答

s = "東京都浦安市"
t = Mid(s, 4 - (Mid(s, 4, 1) = "県"))
419名無しさん@そうだ選挙にいこう:2007/10/31(水) 06:42:06
>>406
キーボードのPrintScreenを押す
何も貼っていないシートを開いていきなり貼り付けを行う
420名無しさん@そうだ選挙にいこう:2007/10/31(水) 09:21:26
模範になってない。。。_| ̄|○
421名無しさん@そうだ選挙にいこう:2007/10/31(水) 10:55:13
1990年からの毎日の売り上げをグラフにしたいのですが、件数が多すぎる
ので、毎月初日の売り上げだけをグラフにしようと思います。
毎日のデータから毎月初日のデータだけを抜き出すにはどうすれば良いで
しょうか?
どなたか、教えていただければ助かります。
422名無しさん@そうだ選挙にいこう:2007/10/31(水) 10:58:29
Office XPを使用しています。
ウェブサイトのデータベースなんかでは一般的な、
ドロップダウンリストから名称を選択したら、
それに対応したデータが表示され、抽出データのみを利用できるようにしたいのですが、
なかなかうまくいきません。

オートフィルタを使う方法で攻めたところ
たとえば、以下のような「果物」リストを作成して、

商品名|個数
りんご | 3
みかん| 5
バナナ| 2

オートフィルタで「りんご」のレコードのみを
ドロップダウンリストから選んで表示させることはできますが
行を非表示にしているだけで、セル番号が変わっているわけではないので
格納セル番号がユニークに決まらず、
たとえば、別に作成した「野菜」リストで、
同じようにドロップダウンリストから選んだ「きゅうり」の個数と
「りんご」の個数を足すことができません。

何かよい方法をお願いします。
423名無しさん@そうだ選挙にいこう:2007/10/31(水) 11:06:48
>421

日付が初日の売り上げデータを別セルに集め、それを
グラフ化すればOK

>422

質問の意図がよく分からんが多分COUNTIFでOK
424422:2007/10/31(水) 11:11:12
>格納セル番号がユニークに決まらず、
誤解を招く可能性があるので訂正します。
格納セル番号自体はユニークに決まっていますが、
表示セルがいつもバラバラなので特定ができない、という意味です。

A1に「りんご」
A2に「みかん」
A3に「バナナ」
だった場合

りんごを選んだときは1行が表示され
みかんを選んだときは2行が表示されるので
りんごを選んで、単純にsumを使ったら
合計欄にりんごの数だけが表示されるのではなく
常にりんご、みかん、バナナの合計が表示されてしまうということです。

長くなりましたが、要するに、
りんごを選んだらりんごの数を、みかんを選んだらみかんの数を
別の特定のセルで表示できるようにできれば
あとはこちらで応用可能だと思います。
宜しくお願いします。
425名無しさん@そうだ選挙にいこう:2007/10/31(水) 11:11:36
>423
質問が言葉足らずで申し訳ありませんでした。
確かにおっしゃるとおりなのですが、初日のデータだけを別セルに集める
ために、抜き出す方法がわかりません。
よい方法がありましたら、よろしくお願い致します。
426名無しさん@そうだ選挙にいこう:2007/10/31(水) 11:37:30
>425
どんな表かも説明されてないのにそれ答えるには
相当のエスパー能力が必要だな
俺には無理そう

>424
質問の最後の5行だけ読んで答えるけど
オートフィルタで表示させたものだけを集計したいならSUBTOTALだよ
427名無しさん@そうだ選挙にいこう:2007/10/31(水) 13:36:08
>>420
VBAと違ってワークシート関数のMIDは3番目のパラメータが省略できない。解決策としては

(1)十分に大きい値を指定する
=MID(A1,4+(MID(A1,4,1)="県"),99)

(2)文字数をちゃんと調べる
=RIGHT(A1,LEN(A1)-3-(MID(A1,4,1)="県"))

(3)別解としてIFでやるなら
=IF(MID(A1,4,1)="県",RIGHT(A1,LEN(A1)-4),RIGHT(A1,LEN(A1)-3))

それよりも誰か>>391の「山形県仙台市」に突っ込んでやれ
428名無しさん@そうだ選挙にいこう:2007/10/31(水) 14:39:51
【1 OSの種類         .】windows xp
【2 Excelのバージョン   】 excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否 】 可

1〜19までの数字をランダムに並べ替える方法を考えています。
ワークシート上なら、rand と rank で問題なく行えるのですが、できればVBA内部で行いたいので、
今悩んでいます。

思いついた方法としては、要素が19個ある配列変数にまた同様にランダムな数字を放り込んで、
それをrank 的な関数で順序付けていき、その結果を別の配列変数に代入する、というものがあります。

ここで問題なのは配列変数の内部の指定した部分でrankが動作するのか、または代わりの関数が存在するのか、
またはそもそももっといいやり方がある可能性、といったことです。

よって質問は二点です。
1.配列変数内に取り込まれたランダムな数字の順位をはじき出す方法はありますか?
2.または、それよりはるかに効率のいい数字のランダムな並べ替え方法がありますでしょうか?

ご存知の方、詳しい方、どうかご教授下さい。
429名無しさん@そうだ選挙にいこう:2007/10/31(水) 15:24:09
>>428
昔からよくある手。配列を用意して、その中の2つを乱数で選んでは入れ替える。

Dim R(1 To 19) As Integer
Dim I As Integer
Dim X, Y, W As Integer

For I = 1 To 19 '元となる配列を用意する
R(I) = I
Next I

For I = 1 To 100 '入れ替え作業を100回繰り返す
X = Int(Rnd * 19) + 1 '乱数で2つ選ぶ
Y = Int(Rnd * 19) + 1

W = R(X) '2つの配列変数の内容を入れ替える
R(X) = R(Y)
R(Y) = W
Next I
430名無しさん@そうだ選挙にいこう:2007/10/31(水) 15:47:21
Private Sub test()

Dim num(19) As Double
Dim i As Integer
Dim y As Integer
Dim z As Integer
Dim x(19) As Integer
Dim j As Integer

For i = 0 To 18
num(i) = Rnd
Next i

For y = 0 To 18
For z = 0 To 18
If num(y) <> num(z) Then
If num(y) < num(z) Then x(y) = x(y) + 1
End If
Next z
Next y

For j = 0 To 18
Worksheets("sheet1").Range(CStr("a") & j + 1) = x(j) + 1
Next j

End Sub
431名無しさん@そうだ選挙にいこう:2007/10/31(水) 15:57:10
>>430
それだと乱数で偶然同じ値が2個以上出てきたときに結果がおかしくなる。

初期データがちゃんと用意できたとして
If num(y) <> num(z) Then
の1行は、ない方が効率がいい。
432428:2007/10/31(水) 16:10:05
>>429
>>430
ありがとうございます!

さっそくご教授いただいた内容を基に試行錯誤してみようと思います!
433名無しさん@そうだ選挙にいこう:2007/10/31(水) 16:15:37
こうすれば乱数値が重複してても大丈夫

For y = 0 To 17
 For z = y + 1 To 18
  If num(y) < num(z) Then x(y) = x(y) + 1 Else x(z) = x(z) + 1
 Next z
Next y
434名無しさん@そうだ選挙にいこう:2007/10/31(水) 18:02:11
関数のことも質問していいんでしょうか?スレ違いだったらすみません。
【1 OSの種類         .】windows xp
【2 Excelのバージョン   】 excel 2003

数学のsin、cos、tanの計算をエクセルでをしたいんですが、
たとえば[sin60度]を関数で計算するとき、式は[=sin(60*PI()/180))]
となりますよね?そうすると、[sin^2 60度]という、sinがべき乗されている場合、
式はどうなるのでしょうか?しばらく考えたんですがわかりません。。。

くだらない質問で申し訳ないですが、回答よろしくお願いします。
435名無しさん@そうだ選挙にいこう:2007/10/31(水) 18:16:00
>>434
考えてもわからないことは、ヘルプを見るか検索する。
ヘルプで「べき乗」を検索してみ?
436名無しさん@そうだ選挙にいこう:2007/10/31(水) 20:36:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 重複 自動 

A         B        C
山田さん   東京大学   東京都
島田さん   福岡大学   福岡市
田中さん   京都大学   京都府
山田さん   東京大学   東京都
・・・

のようなデータがあります。たとえば、
1行目と4行目の山田さんのデータを重複データとして、D・E・F列に別途自動的に作成する
方法はありますか?
よろしくお願いします。
437名無しさん@そうだ選挙にいこう:2007/10/31(水) 20:45:10
>>436
基本的な考え方
Dn=IF(COUNTIF($A1:An,An)>1,An,"")
あとは希望にあわせてアレンジ
438名無しさん@そうだ選挙にいこう:2007/10/31(水) 21:32:08
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 WEBクエリ NATテーブル

WEBクエリを使って↓などを巡回しているのですが
http://www.monex.co.jp/StockOrderConfirmation/00000000/nighter/standard_price/1exec?word=a

途中で通信ができなくなって、調べてみるとルーターのNATテーブルがあふれていました。
1つのページを読むと、有効期限がすごく長いのが33個もNATテーブルに増えていました。
45個のページを読むので、33×45=1485個もテーブルを使うことになります。

どうすれば無事に通信できるでしょうか?
よろしくお願いします。
439名無しさん@そうだ選挙にいこう:2007/10/31(水) 21:33:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

A        B 
日本(JAPAN)
アメリカ(USA)
中国
韓国(KOREA)

のようなデータがあったとします。
A列に( )付で文字が入力してあったとしたら、そのカッコ内の文字
だけをB列に表示させたいのです。

A        B 
日本(JAPAN) JAPAN
アメリカ(USA) USA
中国     
韓国(KOREA)  KOREA

のようにです。
お分かりになる方、お願い致します。
440名無しさん@そうだ選挙にいこう:2007/10/31(水) 21:56:22
>439
括弧は全角のみと仮定すると

B列は
=IF(OR(ISERROR(C3),ISERROR(D3)),"",MID(A3,C3+1,D3-C3-1))

C列は
=FIND("(",A3,1)

D列は
=FIND(")",A3,1)

でどうでしょうか。
441名無しさん@そうだ選挙にいこう:2007/10/31(水) 22:16:40
>>439
同じく、カッコが必ず全角で、なおかつ
閉じカッコより右に空白などが入ってなければ、これでいけると思う。

=SUBSTITUTE(MID(A1,FIND("(",A1)+1,99),")","")

もっといい方法がありそうだけど…
442名無しさん@そうだ選挙にいこう:2007/10/31(水) 22:22:59
>>439
=IF(ISERROR(SEARCH("(",A1,1)),A1,SUBSTITUTE(REPLACE(A1,1,SEARCH("(",A1,1),""),")","")

 Search関数で”(”の位置を調べてエラーが返れば”(”無しと言うことでA1をそのまま表示
 ”(”まで左側の文字を空白に置換え
 ”)”を空白に置換え
長いけどこんなでどう?
443名無しさん@そうだ選挙にいこう:2007/10/31(水) 22:30:06
>>439 >>442
カッコがないときは何も表示しないみたいだから

=IF(ISERROR(SEARCH("(",A1,1)),"",SUBSTITUTE(REPLACE(A1,1,SEARCH("(",A1,1),""),")","")

とか?
444439:2007/10/31(水) 22:50:06
皆さん、ありがとうございます。
今、皆さんのものを試させてもらいました。
441さんのだと「JAPAN」,「USA」等表示され、空欄であって欲しい箇所は#VALUE!
でした。
442さんのだとそのまま「日本(JAPAN)」のようになりました。
443さんのだと、空欄になりました。

何はともかく、考えてくださりありがとうございます。
希望通りのものが見つかれば、ありがたいですが、とりあえずご連絡まで。
445名無しさん@そうだ選挙にいこう:2007/10/31(水) 22:51:44
【1 OSの種類         .】 WindowsXP pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 日本語 入力できない

セルへの日本語入力ができなくなりました
使用しているIMはME-IMEです
IMEをオンにしても、セル内へは英字しか入力できません
入力規則で日本語入力オンとしても英字のみしか入力できません

エクセルをセーフモードで起動しても症状は改善しませんでした
他のアプリではIMEは正常に機能しています
446名無しさん@そうだ選挙にいこう:2007/10/31(水) 22:59:34
>>444
じゃあこれで

=IF(ISERROR(SEARCH("(",A1,1)),"",SUBSTITUTE(REPLACE(A1,1,SEARCH("(",A1,1),""),")","")
447名無しさん@そうだ選挙にいこう:2007/10/31(水) 23:02:10
>>445
IMEのせい。
板違い。
448446:2007/10/31(水) 23:09:45
>>446
自己レス。
ごめん。これじゃダメだった。元データをよく見たら全角と半角が混じってる。
449名無しさん@そうだ選挙にいこう:2007/10/31(水) 23:15:25
普通に、置換で全角括弧を半角括弧に置き換えてから、「(」で区切り位置、
B列対象に「)」を空白に置換で終了だろ。関数なんか使うまでもない。
450名無しさん@そうだ選挙にいこう:2007/10/31(水) 23:23:06
>>449
そりゃ普通に列のコピーと置換とかすればできるけどさ、
そういった操作をせずにデータを変換するシートを作りたいんじゃないのかな?

>>444
というわけで再チャレンジ
=IF(ISERROR(SEARCH("(",ASC(A2),1)),"",SUBSTITUTE(REPLACE(ASC(A2),1,SEARCH("(",ASC(A2),1),""),")",""))
451450:2007/10/31(水) 23:24:44
↑あ、A2のとこはA1になおしてね。3ヶ所とも
452439:2007/10/31(水) 23:48:39
皆さん、ありがとうございます。
450さんの式で思い通りの操作が出来ました。
450さん、どうもありがとうございます!

この後、式の内容については自分で学習してみます。
453名無しさん@そうだ選挙にいこう:2007/11/01(木) 02:23:26
【1 OSの種類         .】windows xp
【2 Excelのバージョン   】 excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否 】 否

3
7
1
と数字(1-12までの12種類)を打った時に、1なら白(という文字)、2なら黄、3なら青・・・のように
自分が作った1vs1対応の規則どおりに横のセルに出力されるようにしたいです。つまり
3 青
7 茶
1 白
としたいんですが、いい方法はありますか?7つまでの数字だったらIFの関数内にネストするということで
できたのですが、12個となるとうまくいかないようです・・・
454名無しさん@そうだ選挙にいこう:2007/11/01(木) 02:30:40
>>453
VLOOKUP
455名無しさん@そうだ選挙にいこう:2007/11/01(木) 02:43:23
【再】1990年からの毎日の売り上げをグラフにしたいのですが、件数が多すぎる
ので、毎月初日の売り上げだけをグラフにしようと思います。
毎日のデータから毎月初日のデータだけを抜き出すにはどうすれば良いで
しょうか?
どなたか、教えていただければ助かります。
456名無しさん@そうだ選挙にいこう:2007/11/01(木) 02:47:16
>>455
毎日のデータはどんなシートに入ってんの?
457名無しさん@そうだ選挙にいこう:2007/11/01(木) 02:51:37
>>453
色がすべて1文字ならこういう方法もある
=IF(AND(ISNUMBER(A1),1<=A1,A1<=12),MID("白黒抹茶小豆珈琲柚桜金銀",A1,1),"")
                             ↑ここに色名を並べる
458名無しさん@そうだ選挙にいこう:2007/11/01(木) 03:31:32
>>456
A列 日付(1990/1/1など)
B列 売上(1253250など)
よろしくお願いいたします。
459453:2007/11/01(木) 03:52:35
>>454
助言ありがとうございます。
VLOOKUPで1行目(B1)はVLOOKUP(A1,Y1:Z12,Y1:Y12)で出したい文字ができましたが、
2段目以降は#REF!と出ました・・・
たとえばB2でVLOOKUP(A2,Y1:Z12,Y1:Y12)とすればいいと思ったのですがダメでした・・・

>>457
実際には一文字の色を使ってるわけではないのでちょっと無理そうです
また使える時に試して見ます、ありがとうございます。
460名無しさん@そうだ選挙にいこう:2007/11/01(木) 05:20:42
ぐぐるとよく出てくる質問なのですけど、打ち込んだシートの数字をクリアする
マクロ?のようなものがあれば教えていただきたいのですm(__)m

いくつかの操作の組み合わせでできるようなのですが、需要が多い操作のわりに
ちょっと面倒なのでワンタッチでできる便利なものがあるはず?かと、勝手に想像しております。
御存知の方、ご教授お願いいたします。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 シート 値 クリア

461名無しさん@そうだ選挙にいこう:2007/11/01(木) 05:37:16
>459
Y列に数字、Z列に色が書いてあるんだよね?
なら正しい式はVLOOKUP(A1,Y1:Z12,2,0)だよ
462名無しさん@そうだ選挙にいこう:2007/11/01(木) 07:36:58
>>460
ググる事が出来るなら、「マクロの記録」でググれば幸せになれるよ
463名無しさん@そうだ選挙にいこう:2007/11/01(木) 08:07:23
>460

マクロよりもグループ化した方が吉かも・・・

1.Ctrlを押しながら該当セルを全て選択する
2.左上の名前ボックスでグループ名をつける
464名無しさん@そうだ選挙にいこう:2007/11/01(木) 08:09:41
>458

=DAY(A1)
465名無しさん@そうだ選挙にいこう:2007/11/01(木) 09:11:25
>>460
そんなの簡単にできるよ

つ選択してDelete

466名無しさん@そうだ選挙にいこう:2007/11/01(木) 09:46:53
行高の自動調整をさせないようにするにはどうしたらいいですか?
467名無しさん@そうだ選挙にいこう:2007/11/01(木) 09:50:23
>466

保護
468名無しさん@そうだ選挙にいこう:2007/11/01(木) 09:53:49
>>466
いったんその行を選択して、右クリック→行の高さ
高さを変更しなくても、これを一度やればその行に自動調節は効かなくなる
469467:2007/11/01(木) 10:11:40
>466,468

「自動調整」か、ゴメン
470名無しさん@そうだ選挙にいこう:2007/11/01(木) 14:51:45
質問です
エクセルでシフト表を作成しようと考えております

店のシフトが勤務時間によってA,Bなどと分かれています
例;9:00〜17:00ならA
  9:00〜17:30ならBなど…

表を作成し、セルにいちいち入力する手間を省くため
ボタンを作りそれをクリックして入力できるようにしたいのです。
この場合どのようにやればできるでしょうか。

どうか皆さんのお知恵をお貸し下さい。
分かりづらかったら追って補足します。
471名無しさん@そうだ選挙にいこう:2007/11/01(木) 15:03:59
>>470
入力規制のリストを使えばいいんじゃない?
Excel 入力規制 リスト
でぐぐってみればいくらでも例が出てくる
472名無しさん@そうだ選挙にいこう:2007/11/01(木) 15:04:12
>>470
「VBAで出来るから自分でコード書いて」
473名無しさん@そうだ選挙にいこう:2007/11/01(木) 15:18:36
>>470-471
Excel2007だとリストがテーブルって名前に変わってるから注意な
474名無しさん@そうだ選挙にいこう:2007/11/01(木) 15:19:47
>>470
VLOOKUP使えば、AとかBとか入力したら自動的に時間が入るようにできる
475名無しさん@そうだ選挙にいこう:2007/11/01(木) 15:49:05
>>473
すまんがデータの入力規則を設定する際には、
そこの用語は2007でも「リスト」のままなんだよ

2003で言ってた「リストの作成」機能が拡張されて、
2007ではテーブルという名前に解消されただけ
476名無しさん@そうだ選挙にいこう:2007/11/01(木) 16:03:29
>>471-475さんありがとうございます

ほんとに初心者のためVLOOKUPというのが
今ひとつ分かりませんがちょっとやってみます!
477名無しさん@そうだ選挙にいこう:2007/11/01(木) 16:20:28
>>470です

ちなみに「表示」→「ツールバー」→「フォーム」
にあるボタンを使って
指定したセルに『A』や『B』などと入力できる様に
したいのですが、それもVLOOKUPというのを使うのですか?
478名無しさん@そうだ選挙にいこう:2007/11/01(木) 18:01:33
>>477
それならマクロの方でまとめて処理するかINDEXあたりを使う
479名無しさん@そうだ選挙にいこう:2007/11/01(木) 18:46:40
>>478さん
さっきググりながら調べて
マクロでボタンを作りましたが
一度ブックを閉じたらセキュリティがなんたらで
ボタンが無効になってしまいました><

八方ふさがりです…
480名無しさん@そうだ選挙にいこう:2007/11/01(木) 18:57:19
>>479
もし使っているのがExcel2007で、
「セキュリティの警告 マクロが無効にされました」
と表示されるだけなら、「オプション」をクリックして
「このコンテンツを有効にする」を選択してやるだけ。

慣れてないなら、いきなりマクロを使わんほうがいいとも思うが。
481名無しさん@そうだ選挙にいこう:2007/11/01(木) 19:01:32
>>480なるほど!やってみます
こんな初心者のために
ホントありがとうございます…
482名無しさん@そうだ選挙にいこう:2007/11/01(木) 19:41:54
教えてください。
1
2
11
12
21
22
31
32
.
.
.
91
92
101
102
というようなデータを作りたいのですが、うまい方法ありますか?
483名無しさん@そうだ選挙にいこう:2007/11/01(木) 19:54:27
>482

1.A1,A2にそれぞれ「1」と「2」を入力
2.A3に=A1+10,A4に=A2+10
3.A3:A4を選んでオートフィル
484名無しさん@そうだ選挙にいこう:2007/11/01(木) 19:54:36
1
2
=A1+10
=A2+10
以下3,4行目をこぴって
下までずらずらずら〜
485名無しさん@そうだ選挙にいこう:2007/11/01(木) 19:58:20
>>482
行|A列
1|1
2|2
3|=A1+10
4|=A2+10 :行3,4の式をコピー
486名無しさん@そうだ選挙にいこう:2007/11/01(木) 20:34:01
1
2
=A1+10
だけでいいだろ?
わざわざA4に=A2+10を入力する必要なし。
487名無しさん@そうだ選挙にいこう:2007/11/01(木) 20:45:35
>>486
( ´,_ゝ`)プッ
ば〜か
488名無しさん@そうだ選挙にいこう:2007/11/01(木) 20:49:45
さて本物の馬鹿は誰でしょう?
489487:2007/11/01(木) 21:00:44
あそうか!
恥ずかしいのでもう二度と書き込みません。
許してください。
490483:2007/11/01(木) 21:23:00
>486

ごもっとも。
気が付かんかったw
491482:2007/11/01(木) 21:51:21
>>483-486
できました。
こんなに簡単だったとは!
492名無しさん@そうだ選挙にいこう:2007/11/01(木) 22:46:45
なんとなく
1
2
11
12
と入れて、セルを4つとも選択して下に引っぱってみた。
…なぜこうなるのか理解できなかった。
493名無しさん@そうだ選挙にいこう:2007/11/02(金) 06:05:57
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Exel2007 近似曲線 傾き

あるデータの散布図に
近似曲線-線形近似
とやって近似曲線を表示させ、
オプションから
「グラフに数式を表示する」
にチェックをつけOKをクリックしました。

しかしなぜかy=実数という式が出て、右辺に変数が入っていません。
傾きが求めたいんですがどうすればよいでしょうか。

494名無しさん@そうだ選挙にいこう:2007/11/02(金) 06:38:16
>>493
データによるんじゃないの?
手元でいくつか作ってみたが、明らかに傾きが出ないようなデータのときは
線形近似の式は確かに y=実数 の形になる
495名無しさん@そうだ選挙にいこう:2007/11/02(金) 06:52:42
>>494
ありがとうございます。
桁が違いすぎたので、かけるE+○○の部分を消去してみたらできました
496ダブルインストの問題:2007/11/02(金) 11:43:45
【1 OSの種類         .】 Windows XP sp2
【2 Excelのバージョン   】 Excel 2000 & 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
いままでExcel2000で仕事をし、VBAで書かれたアプリを多用して何も問題がなかった。
今度、Excel2000を残したまま、Excel2007を導入したところ、どちらのExcelを起動しても、
起動時に「Visual Basic Error code 6」(オーバーフロー)の警告が出るようになってしまった。
そのまま無視して起動すると、次回はOKだったり、また、警告だったり、不安定な繰り返し。
このままでは仕事に使えない。まだ、Excel2007に前面切り替えできないので、困った。
これは、バグだろうか、それとも、私の環境だけだろうか。
ちなみに、Excel2000では起動時にVBアプリが同時に組み込むように設定してる。2007はまだまっさら。
また、システムの復元で元に戻すと全く問題ない。
497493へ:2007/11/02(金) 12:02:18
>>493
データは同じ長さの「数値」ですか?文字列が紛れ込んでいませんか?
グラフは欠損値を含んでも、描いてしまいますが、回帰計算はできないはず。
他の方法では、ツールの統計分析の回帰を使っても同じ結果が出ます。
498名無しさん@そうだ選挙にいこう:2007/11/02(金) 12:09:23
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】Excel 複数の検索値から一つの答を出す

VLOOKUPは、例えばA列に値を入れれば、B列、C列…に値をだすことができますが、それと反対のことがやりたいのですが。
例:ABCDに入力すれば、答がEに出てくるようにしたいのです。
ABCDE
あいうえ1
あいうお2
あいえお3
検索値が2つならピボットテーブルで縦と横の軸で、INDEX関数とMATCH関数でやりました。
IF関数とAND関数でやるのかなと思いましたがうまくできませんでした。どうすればいいか教えていただけませんでしょうか。よろしくお願いします。
499名無しさん@そうだ選挙にいこう:2007/11/02(金) 12:18:44
>>496
うちでは2000と2007は問題なく共存できてるんで、起動時に組み込むVBアプリの影響じゃない?

ただ、2000と2007は普通に使えてるけど、2003はヘルプが開けなくなった。
俺はこの3つがちゃんと共存できてる人がいるかどうか知りたい。
500名無しさん@そうだ選挙にいこう:2007/11/02(金) 13:11:36
>>498
DGETかな
501名無しさん@そうだ選挙にいこう:2007/11/02(金) 14:51:12
【1 OSの種類         .】windows xp
【2 Excelのバージョン   】 excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否 】 可

ユーザーフォームを現在作成しています。
ラベルを使っているのですが、ラベルの周囲に黒い線を入れたいなと思っています。
おそらくプロパティをいじればいいのでしょうが、いじってみてもよくわかりません。

どこを設定すればいいのでしょうか?
今の段階ではラベルを二枚重ねして線に見せかけることしかできていません。
502名無しさん@そうだ選挙にいこう:2007/11/02(金) 16:11:38
【1 OSの種類         .】windows xp
【2 Excelのバージョン   】 excel 2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否 】 可

続けて質問です。連投をお許し下さい。
現在、ユーザーフォームにスクロールバーを設置しました。
その最大数を、ワークシートのA3の値にあわせて変化させたいと思っています。

イニシャライズ時のコードにscrollbar1.max = worksheets("A").range("A3") と表記してみましたが、どうも違うようです。
そういったコマンドはひょっとしてないのでしょうか?
503名無しさん@そうだ選挙にいこう:2007/11/02(金) 17:28:10
【1 OSの種類         .】windows xp
【2 Excelのバージョン   】 excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否 】 可

マクロ操作のアンドゥを可能にする方法はないのでしょうか?
Excel自体の設定か、マクロのコードの書き方でも構いません。

あるいは、問題になっているマクロが 「形式を選択して貼り付け」&「値」の操作を、
ショートカットに割り付けているだけなので、
この操作をアンドゥ可能で、ショートカットに割り付ける方法でも構いません。

ご存知の方がいらっしゃれば、よろしくお願いします。
504名無しさん@そうだ選挙にいこう:2007/11/02(金) 19:04:16
>>498

2列の表を使ってVLOOKUP

A      B
あいうえ  1
あいうお  2
あいえお  3
505名無しさん@そうだ選挙にいこう:2007/11/02(金) 19:46:01
>>503
質問の主旨と少しずれるかもしれないが
「値貼り付け」は頻繁に使うから
ユーザー設定でアイコンをツールバーに
置いておくのが良いと思うよ。
506名無しさん@そうだ選挙にいこう:2007/11/02(金) 19:52:55
>>503
マクロ操作は元に戻すことが出来ないので
元に戻すマクロを作ってください
507名無しさん@そうだ選挙にいこう:2007/11/02(金) 20:25:26
>>498
&で4列の値を繋げ
508498の質問:2007/11/02(金) 20:47:26
>>500さん
DGET関数は使ったことがないんですが、ちょっと勉強してみます。ありがとうございました。
509498の質問:2007/11/02(金) 20:50:53
>>504さん
A列の4桁、B列の4桁…を自由に変えたので、ひとつのセルに入れてしまうと入力に時間がかかるので、4桁ずつセルをわけておきたいのです。もうちょっと考えます。ありがとうございました。
510498の質問:2007/11/02(金) 20:54:13
>>507さん
別のセルに4列の値をつないだのを入れて、それでVLOOKUPにするということですね。家にパソコンがないので、明日会社でやってみます。ありがとうございました。
511名無しさん@そうだ選挙にいこう:2007/11/02(金) 21:04:06
>>501
BorderStyle
512名無しさん@そうだ選挙にいこう:2007/11/02(金) 22:06:41
>>510
検索値に直接式を入れてもおk
=VLOOKUP(A1&B1&C1&D1,範囲,列番号,検索の型)
513名無しさん@そうだ選挙にいこう:2007/11/02(金) 22:58:22
前にExcel2000、2007同時インストの問題を書いたものです。自己解決編。
色々苦労したが、Excelとは無縁なATLAS2005(翻訳ソフト)の組み込みがVBAを使っていて、
これが2000に組み込んであると、2007インスト後、2000、2007共にエラーとなることが判明。
あーーしんどかった。
それから、Excel2007のカスタマイズ、なかなか楽しいですよ。リボン最小化と自己設定用のリボンのカスタマイズ、
これだけ知ってれば、2000、2003以上のカスタマイズができる。今は、広々とした画面で、好き放題に2007を使い始めた。
しかし、なんかまだOffice全体に不安感があるね。
たとえば、別板ネタだけど、Word2000、2007はカスタマイズ後、一方を起動すると、他は「構成を再構成」になってしまう。
(多分、僕の環境下では・・・、こういうことが不安定のゆえんだよね)
Excelではそういうことはおこらない。
514名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:02:45
【1 OSの種類         .】 WindowsXP、VISTA
【2 Excelのバージョン   】 Excel2003、2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】できれば否
【5 検索キーワード     】 Google 「Excel」「(読み取り)パスワード」「解析」

どうしても休み中に開かなければならない、パスワードのかかったExcelファイルがあります。
検索して出てきたフリーソフトを使ってみたのですが、試用版など使用制限のかかったものもあり、開けませんでした。
使ったソフトは、「VBA、Excel、Word、Accessパスワード解析/保護ツール(試用版)」「エクセルアナライザー for AdIn」「Excel UnPassword 0.40」「stirling」他。
インストール出来てもうまく起動しなかったり、解析出来なかったりしました。「これならっ!」というものはないでしょうか?
時間がないので、すぐ使えるものが希望です。
ご存じの方がいらっしゃいましたら、教えていただけますか?
宜しくお願いします。
515名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:07:19
>>514
他人の情報覗き見乙。
516名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:10:14
>>512
ありがとうございます。
A列〜D列まで値が入ってる場合とA列&B列のみとC列&D列のみに値が入る場合の3パターンあるんですが、問題ないでしょうか。明日試してみます。
517514:2007/11/02(金) 23:13:58
月曜日に会議で使用します。担当者は突然退職し連絡が取れません。
本来なら、こんなことはしてはいけないのでしょうが、背に腹はかえられません。
518名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:16:48
>>517
    ≡ ('A` ) 華麗にスル〜
   ≡ 〜( 〜)
    ≡  ノ ノ
519名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:17:18 BE:54886234-2BP(6001)
【1 OSの種類         .】 WindowsXPHE
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 一応可
【5 検索キーワード     】「エクセル 文字列 日付順 並」

2chの荒らし報告の書式をまとめています。
http://pc11.2ch.net/test/read.cgi/bsoft/1111111111/111 2007/08/20 08:57:20
http://pc11.2ch.net/test/read.cgi/bsoft/2111111111/222 2007/09/30 18:57:20
http://pc11.2ch.net/test/read.cgi/bsoft/3111111111/333 2007/07/10 08:10:30
http://pc11.2ch.net/test/read.cgi/bsoft/4111111111/444 2007/10/20 21:57:20
上のように並んでいる文字列を日付、時刻の古い順に並べる方法がありましたら教えてください。
520名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:21:15
>>519
=RIGHT関数で、日付以降を隣のセルに抜き出し、それをベースに並び替え。
521名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:23:48
>>519
rightで日時切り取ってそこキーにすれば
522名無しさん@そうだ選挙にいこう:2007/11/02(金) 23:33:21
>>517

解除してやるからどっかにupしておけ。
あと解除後の送付用にメアドも書いておいてな。
523514:2007/11/02(金) 23:55:34
>>517さん
大変ご親切なお申し出ありがとうございます。
ですが、どこにUPしておけばいいのか分かりません。
折角おっしゃっていただいたのに、申し訳ないです。
ありがとうございました。
524438:2007/11/03(土) 00:05:45
>438
ですが、どうもIEの問題っぽいので
移動します。
525名無しさん@そうだ選挙にいこう:2007/11/03(土) 00:30:10
さすがにこの糞スレでもパスワードを破る方法なんて書くバカはいないだろw
526名無しさん@そうだ選挙にいこう:2007/11/03(土) 00:55:32 BE:219542786-2BP(6001)
>>520
>>521
大変助かりました。
ありがとうございました。
527名無しさん@そうだ選挙にいこう:2007/11/03(土) 07:20:57
こんな質問は失礼かも知れません。
関数を使い初めた初心者用のオススメの本ありますか?
たくさん有りすぎて最初の一冊に絞れません。
バカな質問ですかお願いします。
528名無しさん@そうだ選挙にいこう:2007/11/03(土) 08:09:36
>>527
>>2の一番下見てみ。
ちなみに、それ系のスレもどっかにあった希ガス
529名無しさん@そうだ選挙にいこう:2007/11/03(土) 08:59:11
>>528
途中から読み始めたので肝心なルールを理解していませんでした。
今度技術的な事でお世話になるときはよろしくお願いします。
530名無しさん@そうだ選挙にいこう:2007/11/03(土) 10:47:07
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】「エクセル 軸 中央線」

下記のようなグラフをエクセルで作成したいのですが
どのような手順で行えばよいのでしょうか?

ttp://up2.viploader.net/pic2/src/viploaderf118319.jpg
531名無しさん@そうだ選挙にいこう:2007/11/03(土) 11:58:57
逆方向のデータをマイナスにする。
とりあえず全部横棒グラフにしてから一部のグラフの種類を折れ線グラフに
のこりを積み上げ横棒にする。
もっと楽な手順もあるかも。
532名無しさん@そうだ選挙にいこう:2007/11/03(土) 14:02:38
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】「エクセル 他シート 呼び出し」

八百屋やらせていただいている山本と申します。
エクセルについて皆さんのお力を貸してください。

トマトとレタス 白菜とキュウリのように2種類の野菜の栄養をエクセルでまとめたいのですが
今現在はフィルターを使って、列1と列2に野菜の名前を書き
列3〜〜5にその栄養を書いてありまして、フィルターをかけると
トマトとレタスの栄養はどれだけと出るようにしています。

これらのデータを、他のシートに書いた時に読み出せるようにできないでしょうか?
例えばシート2の列1行1にトマト、列1行1にレタスと書くと
列3〜列5に栄養項目が自動的にでるという感じにしたいのです。

読みだすデータを書いたシートと、それを読み出せるシートと2つあればいいと思うのですが
いまいち上手くいきません。
どうか御助け願います。


533名無しさん@そうだ選挙にいこう:2007/11/03(土) 14:05:04
>>531
お答えいただき、ありがとうございます
ですが……如何せん、上手くできないッス
534名無しさん@そうだ選挙にいこう:2007/11/03(土) 14:36:14
>>532
もしかしてネタですか?

1列目と2列目の組み合わせで3列目を表示させたいのなら
>>507>>512のようにしる

1列目だけに野菜名、2列目に栄養素のようにしないと後々面倒だと思うのだが。
そもそもなんで2種類?
3種類はありえないのかな?

やっぱりネタかな?
535名無しさん@そうだ選挙にいこう:2007/11/03(土) 14:41:08
>八百屋やらせていただいている山本と申します。

普通こんなので始めるか
ネタだよ
536名無しさん@そうだ選挙にいこう:2007/11/03(土) 18:49:12
本当に2ch初心者なら、名前欄に山本と書くだろうしなw
537名無しさん@そうだ選挙にいこう:2007/11/03(土) 18:57:59
いえいえ、ネタではございません。
DGET関数を使ってやっていたのですが、これだとどうもうまくいきませんで。
データ一覧からリンゴ トマトの場合の数値を持ってくることは可能ですが
それ1つしかできないじゃないですか。

皆さんならこれだけで想像できちゃうと思いますけど
食品1 食品2 栄養
リンゴ トマト =DGET(A1:H9,"ビタミン",E15:F16) ここはOKでも
リンゴ ブドウ =DGET(A1:H9,"ビタミン",E15:F17) 2行目にこうするとエラーになります。


538名無しさん@そうだ選挙にいこう:2007/11/03(土) 18:59:25
>>536
本当にと言われましても、2ch初心者とは一言も言っておりません。
もう3年ぐらい2chにはいるのですが、ビジネスソフト板の方たちは
何となくまともな人が多いと思ったので、名を名乗らせていただきましたw
539名無しさん@そうだ選挙にいこう:2007/11/03(土) 19:28:05
ここまで痛い感じを出すのも難しいな
540名無しさん@そうだ選挙にいこう:2007/11/03(土) 19:28:09
行末に”w”を使うところから、たぶん人種が違うと思いますのでお引取りください
541名無しさん@そうだ選挙にいこう:2007/11/03(土) 19:32:53
行末にwを使うと人種が違うのですが。
いったい今日一日で何万人の方が2chでwを使ったのでしょうね。
匿名で言いたい放題の場で、一応仮にも名を名乗り頭を下げて訪ねた人間に対しての扱いですか?
自分を恥じなさい、あなたはとても哀れな人だと自覚してくださいね。

それでは、さようなら。

一生1人の人間に恨まれていることを頭の隅において生きて行きなさい。
542名無しさん@そうだ選挙にいこう:2007/11/03(土) 19:36:28
これが八百屋クォリティか。
すげぇな
543名無しさん@そうだ選挙にいこう:2007/11/03(土) 20:37:26
まあ何にせよ平和が戻ったのは確か

では次の質問どうぞ
544名無しさん@そうだ選挙にいこう:2007/11/03(土) 21:20:06
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

次のような表から普通と特別が混在しているか、普通のみの人の行だけを残したいのですが、
どのような方法があるでしょうか。
○がついた行のみ表示されるか残るようにしたいです。
その人の科目がすべて特別になっている場合はその人の行すべてを非表示にするという方法でもかまいません。

山田太郎 普通  国語○
山田太郎 普通  英語○
山田太郎 特別  数学○
田中次郎 普通  国語○
田中次郎 特別  英語○
佐藤三郎 特別  国語
鈴木四郎 普通  国語○
伊藤五郎 特別  国語
伊藤五郎 特別  英語
伊藤五郎 特別  数学

よろしくお願いします。
545名無しさん@そうだ選挙にいこう:2007/11/03(土) 21:22:24
>>544
普通にオートフィルタ
546名無しさん@そうだ選挙にいこう:2007/11/03(土) 21:39:31
>>545
オートフィルタだと「山田太郎 特別  数学○」も非表示になるが、
>>544は「山田太郎 特別  数学○」は残しときたいのでは?
547名無しさん@そうだ選挙にいこう:2007/11/03(土) 21:53:44
>>545
オートフィルタだと普通だけと特別だけというフィルタしか出来ないのではないでしょうか。

>>546
そのとおりです。
山田太郎は普通も特別もあるので両方残す。
伊藤五郎は特別だけなので残さない。
鈴木四郎は普通だけなので残す。
ということになります。
普通がある人のすべての行(特別も含む)を残したいです。
特別だけの人はすべての行がいらないです。

よろしくお願いします。
548名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:00:54
>>546


"○" でオートフィルタで問題ないじゃん...
549名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:01:54
"普通"を含む名前の時にTRUEを返す条件式を作業列に入れて
その列でフィルタ掛ければいいだけじゃね
その式くらいは解るでしょ?

>>548
○は説明用に付加しただけだと思うが
550名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:08:16
各行の名前&普通がリスト中にあるかどうかを調べてフラグを立てればいい

=SUMPRODUCT(($A$1:$A$100=A1)*($B$1:$B$100="普通"))>0
551名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:10:17
セルに書いてる文字を移動するときに、書式などは移動させず文字だけ移動させるにはどうしたらいいんでしょうか?
552名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:13:42
1、コピーして貼り付けるときに値のみを貼りつける。
2、元の文字を消す。
553名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:15:01
>>552
コピーじゃなくてただ移動する場合です。やはり元のデータを消すという方法しかないのでしょうか
554名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:19:44
>>553
1、移動させる
2、書式を消す(ALT→E→A→F)
555名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:22:16
こういう奴は何教えても後からあとから文句言ってきそうだな
556名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:23:07
>>554
説明不足ですいません、元のデータの書式を消したくないんです

|
{
|
557名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:24:31
|あああ
|
|
|X

途中で書き込んでしまいました・・。
「あああ」をXに移動させた場合に「あああ」の左の線が消えてしまうのを解決させたいんです
558名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:25:53
>>556
誰も元データの書式を消せなんて言ってない罠。

あとは、
1、元データで、F2→Shift+Home→Ctrl+X
2、移動先で、Ctrl+V
559名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:29:57
>>558
ありがとうございます
560名無しさん@そうだ選挙にいこう:2007/11/03(土) 22:35:14
それでええんかいw
561名無しさん@そうだ選挙にいこう:2007/11/03(土) 23:26:26
ここは、突っ込み待ち満載のインターネッツですね...
562名無しさん@そうだ選挙にいこう:2007/11/03(土) 23:35:56
>559

そうきたかw
563名無しさん@そうだ選挙にいこう :2007/11/03(土) 23:52:32
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA 日付関数 期間 

ExcelのVBAで、ある期間の金額の合計を、日付関数で定義された日付に
基づいて算出するにはどうしたら良いでしょうか? 例えば1列目に日付が入り

2007/1/1=DATE(2007,1,1) , \100
2007/1/2=DATE(2007,1,2) , \30
 ・
 ・
 ・
2007/10/31=DATE(2007,10,31) , \50

とあって2列目の金額を合計する場合です。
564名無しさん@そうだ選挙にいこう:2007/11/04(日) 00:00:56
do while
if
cell
endif
loop
565名無しさん@そうだ選挙にいこう:2007/11/04(日) 00:01:31
>>548
○はこの行を残すという意味です。

>>549
すいませんが、式がわかりません。

>>550
名前をA、普通か特別をB、科目をCにし、教えていただいた式をDに入れると、
「FALSE」になってしまいました。どこかおかしいでしょうか。
566563:2007/11/04(日) 00:27:19
>>564
すいません、質問が言葉足らずでした。
上記の1/1〜10/31は全体のデータですので、特定の日付の
指定(期間の指定)はどうすれば良いのでしょうか?

つまり、1/1〜10/31中の4/1〜4/20のような感じです。
567名無しさん@そうだ選挙にいこう:2007/11/04(日) 00:51:40
日付期間はDateDiffでgoogle
568名無しさん@そうだ選挙にいこう:2007/11/04(日) 01:47:41
マクロでオートシェイプの中にある文字列も検索したいんですけど、
Application.Dialogs
に「オートシェイプの中も検索する」という機能を付け加えることってできますか?

よろしくお願いします。
569名無しさん@そうだ選挙にいこう:2007/11/04(日) 05:55:55
>>563
DSUM関数
Criteriaの書き方はフィルタオプションと同じ

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

通常使うプリンタではないネットワークプリンタで印刷させたいのです。
そいつはカラーで両面印刷ができてホチキスで留めてくれるすごいヤツなのです。

プリンタ名を指定する。ってところまでは検索して理解したのですが、
両面印刷やホチキスとか、オプション指定もしたいのです。

どうすればよいですか?よろしくお願いいたします。
571570:2007/11/04(日) 06:55:11
>>191でドライバに依存するものはダメって書いてあったので
あきらめることに致します。
572名無しさん@そうだ選挙にいこう:2007/11/04(日) 08:32:48
>>570
Sub Sample()
Application.ActivePrinter = "\\PRINTSERVER\Printer001 on Ne01:"
End Sub
573名無しさん@そうだ選挙にいこう:2007/11/04(日) 08:38:05
>>563
「期間終わりまでの合計」−「期間始まりまでの合計」
関数はSUMIF,DSUMなど
574572:2007/11/04(日) 08:44:12
ごめん。それ以降の話だったのね。それは知らん。
575名無しさん@そうだ選挙にいこう:2007/11/04(日) 09:30:25
mid関数みたいな感じで、「数式内の」何文字目かを切り出したいのですが
何か方法ありますか?

例えば、VLOOKUPを縦にずっとコピーしたあと、第一引数だけを別セルに
書き出して、連番になってるか確認するなどしたいのです。
576563:2007/11/04(日) 10:22:42
>>567, 569

てんきゅう
577名無しさん@そうだ選挙にいこう:2007/11/04(日) 10:46:35
>>575
get.formulaという関数を使えばできるけど、セル内で使うのは手順がかなり面倒だから
VBAでやった方がいいよ。
578名無しさん@そうだ選挙にいこう:2007/11/04(日) 11:31:20
>例えば、VLOOKUPを縦にずっとコピーしたあと、第一引数だけを別セルに
>書き出して、連番になってるか確認するなどしたいのです。
コピーして、連番になってるか、信用出来ないの?
579名無しさん@そうだ選挙にいこう:2007/11/04(日) 12:50:51
>>536
初心者なら名前欄に「山崎渉」でいいのでは?
580名無しさん@そうだ選挙にいこう:2007/11/04(日) 12:56:17
>>572レスさんくす〜
581名無しさん@そうだ選挙にいこう:2007/11/04(日) 13:02:15
>>575
一時的に "=VLOOKUP(" を "" に置換してLEFT取るとか、
582名無しさん@そうだ選挙にいこう:2007/11/04(日) 13:09:59
>>581
そこまでしたら元に戻せないよ
"=V"qを""でおk
583名無しさん@そうだ選挙にいこう:2007/11/04(日) 16:24:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 習い始めです
【4 VBAでの回答の可否】 可で
【5 検索キーワード     】 Excel セル 一致 コピー

10列3000行のシート1と、10列1000行のシート2があります。
それぞれに一列ずつ、同じ類の言葉(シート1にニューヨーク、東京、大阪・・・とあると、シート2にもニューヨーク、東京、大阪・・・)
が入ってる列があります。それ以外の、数値はバラバラです。

シート1のニューヨークの行に、シート2のニューヨークが含まれる行全部を、
行の並び順のままでシート1の行の後ろに貼り付けたいのですが、
何かヒントでも良いのでお願いします。
584名無しさん@そうだ選挙にいこう:2007/11/04(日) 16:35:17
シート1のデータの下にシート2のデータをペーストして並び替え
585名無しさん@そうだ選挙にいこう:2007/11/04(日) 16:44:56
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

名前     出身地
カカロット  埼玉
ナッパ    千葉
べジータ   神奈川
フリーザ   東京
田中太郎  埼玉
山田山男  千葉
   ・     ・ 
   ・     ・   
   ・      ・

上記のような表のから、
埼玉  5
東京  3
 ・   ・ 
のような、出身地別に人数の集計を取った表を作りたいんですが、右欄に左欄の出身地の人数が自動集計されるような関数はあるのでしょうか?
どなたかご教授お願いします。    
586名無しさん@そうだ選挙にいこう:2007/11/04(日) 16:46:10
COUNTIF
587名無しさん@そうだ選挙にいこう:2007/11/04(日) 16:57:10
ピボットテーブル
588名無しさん@そうだ選挙にいこう:2007/11/04(日) 16:58:42
>>586
申し訳ありません。間違えたので訂正します。下記のように1つのセルに市名まで入っているんです。
この場合だとCOUNTIFで「埼玉」と条件指定しても「埼玉県川越市」はカウントされませんよね?
何かよい方法はありませんか?

名前     出身地
カカロット  埼玉県川越市
ナッパ    千葉県市川市
べジータ   神奈川県藤沢市
フリーザ   東京都町田市
田中太郎  埼玉県桶川市
山田山男  千葉
   ・     ・ 
   ・     ・   
   ・      ・
589名無しさん@そうだ選挙にいこう:2007/11/04(日) 17:01:29
"埼玉*"
590名無しさん@そうだ選挙にいこう:2007/11/04(日) 17:04:31
>>589
おお!できました!!どうもありがとうございます。助かりました
591名無しさん@そうだ選挙にいこう:2007/11/04(日) 17:26:01
マクロの保有数が多くなって管理がしにくくなってきたのだが、
何かうまい方法はないですか
592名無しさん@そうだ選挙にいこう:2007/11/04(日) 19:34:39
逆に今、どのように記述して管理してんのよ?
593名無しさん@そうだ選挙にいこう:2007/11/04(日) 20:00:51
>>585
根本的に悟空もナッパもべジータもサイヤ人だからな
そこから考え直した方がいいぞ
594名無しさん@そうだ選挙にいこう:2007/11/04(日) 20:04:59
20数件つくって、3区分ので単に保存しているだけ。
作業中のブック、個人用ブック等エクセルでの保存ではだめなことはわかった。
ワードでエクセルマクロを管理するのが一番のようですね。
595名無しさん@そうだ選挙にいこう:2007/11/05(月) 13:47:17
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

オフセットがうまく使えず難儀しています。
Set ask = Worksheets("メッセージ").Columns(1).Find(what:=c, lookat:=xlWhole, searchdirection:=xlPrevious)
ask.Select

Exit Sub
Dim data(100) As Variant
For i = 1 To 4
data(i) = ask.Offset(0, 3 + i)
Next i

For i = 1 To 8
data(i + 4) = ask.Offset(0, 9 + i)
Next i

For i = 1 To 18
MsgBox ask(i)
Next i

上のように記述したのですが、なぜかオフセットが縦に移動しているようで、トンチンカンなメッセージが出てきます。
何がまちがっているのでしょうか。検索した値の右にあるデータが表示されるようにしたいのですが・・・。

あと、もう一つ質問がありまして、検索した結果のask からセルのyをrowの値を取り出すコマンドを度忘れしてしまいました。
ask.rows では違うようです。こちらもできれば宜しくお願いします。
596595:2007/11/05(月) 13:49:58
あ、途中にあるexit sub は消し忘れです。

宜しくお願いします。
597名無しさん@そうだ選挙にいこう:2007/11/05(月) 14:21:14
>>595
For i = 1 To 18
MsgBox ask(,i)
Next i
でおk

>検索した結果のask からセルのyをrowの値を取り出すコマンド
日本語でおk
598名無しさん@そうだ選挙にいこう:2007/11/05(月) 16:06:49
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

フォントの色番号が知りたくて、
http://hp.vector.co.jp/authors/VA016119/hajimete/udf1.html を参考にして以下のように書いたのですが、
条件付き書式で色を変えたフォントに対しては、条件が適用される前の色番号しか返してくれません。
どうしたらいいんですか?

Function FontColor(セル)
FontColor = セル.Font.ColorIndex
End Function
599名無しさん@そうだ選挙にいこう:2007/11/05(月) 16:55:44
Function FontColor(セル)
  If 条件付き書式の条件に当てはまれば Then
    FontColor = 条件付き書式で設定したカラーインデックス
  Else
    FontColor = セル.Font.ColorIndex
  End If
End Function
600名無しさん@そうだ選挙にいこう:2007/11/05(月) 18:06:13
回答ありがとうございます。ですが、また問題が・・・

条件付き書式の条件が
DATEDIF(TODAY(),$A1,"YD")<=E$2
なのですが、ここのところでエラーが出ます。

http://support.microsoft.com/kb/407898/ja を参考にして
"Datedif(TODAY()," & $A1 & "," & """YD""" & ") " <= " & E$2 & "
と書いてみたのですが、どこが間違っているのでしょうか?

601名無しさん@そうだ選挙にいこう:2007/11/05(月) 21:13:13
すいません質問です

グラフ作成時に系列X軸、Y軸の値を別シートから参照する際、
参照するセルの値ががI1、I2・・・I10と増加しているとします。
これを実際にグラフに反映しようとすると1、2、・・・10となります。
どうすれば正常に表示されるでしょうか?
602名無しさん@そうだ選挙にいこう:2007/11/05(月) 21:44:35
>>600
先頭の=忘れてない?
603名無しさん@そうだ選挙にいこう:2007/11/05(月) 21:48:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 すこし
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBAでSUMPRODUCT

シート1

年月 区分 職員cd key 125 150
1910 事務 101 1910101 1 2
1910 事務 102 1910102 2
1910 事務 103 1910103 3 4
1910 イベント 101 1910101 4
1910 イベント 102 1910102 5 6


シート2

年月 職員cd 給料 超勤手当
1910 101 110000 0
1910 102 120000 0
1910 103 130000 0
1910 104 140000 0
1910 105 150000 0

つづく
604名無しさん@そうだ選挙にいこう:2007/11/05(月) 21:49:30
つづき

Function 超勤手当(年月 As String, 職員cd As String, 給料 As Long)

Dim key, J125, J150 As Range
Set key = ActiveWorkbook.Names("key").RefersToRange
Set JIKAN125 = ActiveWorkbook.Names("_125").RefersToRange
Set JIKAN150 = ActiveWorkbook.Names("_150").RefersToRange

基礎単価 = 給料 / (40 * 52)
時間数125 = workbooksfunction.SumProduct((key = 年月 & 職員cd) * JIKAN125)
単価 = 基礎単価 * 125 / 100
超勤125 = 単価 * 時間数125

時間数150 = workbooksfunction.SumProduct((key = 年月 & 職員cd) * JIKAN150)
単価 = 基礎単価 * 150 / 100
超勤150 = 単価 * 時間数150

超勤手当 = 超勤125 + 超勤150

End Function

シート1に超勤時間が入力されてます。事務やイベントなどひとりの職員に複数の区分で記録してます。
key、125、150の列には名前を定義しています。
これを元にシート2で超勤手当を算出するためユーザー定義関数をつくりましたが、正しい結果が出ません。

どこが間違ってるんでしょうか?
605名無しさん@そうだ選挙にいこう:2007/11/05(月) 22:02:26
(key = 年月 & 職員cd) * JIKAN125 等が関数に渡るより先に先に計算される
606名無しさん@そうだ選挙にいこう:2007/11/05(月) 22:31:41
ぐぐったらVBAでSUMPRODUCTするならEVALUATEで文字列で渡さないとだめだという話がありましたが、うまくいかないです。
職員は300人いるのでDSUMもだめです(月ごと&職員ごとに条件範囲を定義するのは現実的でない)。
なんかうまい方法はないでしょうか?
607名無しさん@そうだ選挙にいこう:2007/11/06(火) 00:22:45
>>602
いえ、忘れていないです。
608名無しさん@そうだ選挙にいこう:2007/11/06(火) 01:34:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 Excel グラフ 軸の書式 等間隔

グラフ作成時、X軸の参照セルの値が1,2,3…100の時、軸の書式設定より、
目盛ラベルの間隔:25,に設定すると、軸が1,26,51,76…と、きりが悪くなってしまいます。
これを1,25,50,75と表示するにはどうしたらいいでしょうか?
※"1"の前に"0"は追加せずに 
609 :2007/11/06(火) 07:38:38
 
610名無しさん@そうだ選挙にいこう:2007/11/06(火) 08:25:11
>>608
ゼロからはじめてオートシェイプの文字(1)を重ねろ
611名無しさん@そうだ選挙にいこう:2007/11/06(火) 08:34:14
Excel2000です。

A1002
MM856
GJ321

こんな感じで、列方向に英数組み合わせた任意の文字列が並んでいます。

大体データ数は2万位です。

しかしながら元データが手入力されたので、重複している項目が出ています。

重複データを弾き出し、重複の無いようにするにはどうさたらよいでしようか?
VBA使わない方法があれば、教えていただけますか。
どうぞよろしくお願い申しあげます。


612名無しさん@そうだ選挙にいこう:2007/11/06(火) 08:57:52
>>611
いろんな方法があるけど、自分は他の列に COUNTIF関数を使って該当する文字列をカウントさせる
その後オートフィルタで 1 だけを表示させて
ジャンプで表示しているセルを選択
コピーして他のシートに貼り付ける
貼り付けたシートの上から COUNTIF関数を組み込んだ列を削除する


 =COUNTIF(A1:A$20000,A1)
これをB1セルに設定してB20000セルまでフィルでコピー
(名前ボックスに B1:B2000 と入力してEnter その後 Ctrlキーを押しながら Dキーを押す)
613名無しさん@そうだ選挙にいこう:2007/11/06(火) 09:09:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ に限りなく近いです
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル グラフ

質問ですが

X軸→時間軸  Y軸→数量 で時間軸が均等でない

月曜日 20:00 1200
月曜日 20:10 1250
月曜日 22:00 1300
月曜日 23:05 1500
月曜日 00:30 1630
火曜日 02:11 1730
火曜日 02:30 1750

こんなデーターから折線グラフは作れるのでしょうか?

自分で20:00 21:00 22:00を想定したデーターを作成しないと無理なのでしょうか?
宜しくお願いいたします



614名無しさん@そうだ選挙にいこう:2007/11/06(火) 09:11:48
>>613
っ散布図
615名無しさん@そうだ選挙にいこう:2007/11/06(火) 12:30:08
>>614
すっきり解決できました
ありがとうございます
616名無しさん@そうだ選挙にいこう:2007/11/06(火) 12:54:35
エクセル2000です。
文字列の先頭に、

見えない文字が挿入されています。
  エクセルで見ると
    りんご
    1234
  コピーしてテキストに張ると
    ■りんご
    ■1234
  コピーしてギコナビ レスエディターに張ると
    りんご
    1234
見えない先頭の文字をDeleteを押すと消えます。
3000行程あるのですが、消す方法ありますか?
見えない文字が挿入されている行と挿入されていない行があります。
■の部分は、テキストではもうちょっと小さい■です。
■の部分をVBAエディタに貼り付けると改行されてしまいます。
617616:2007/11/06(火) 12:55:26
例:
Dim 行, 列 As Long
Dim IDX As Integer
Dim strTEXT, STR As String
Dim strCHAR As String
For 行 = 9 To 3070
For 列 = 14 To 15
STR = ""
strTEXT = Cells(行, 列).Value
IDX = 1
Do While IDX <= Len(strTEXT)
strCHAR = Mid(strTEXT, IDX, 1)
If ((strCHAR <> "") And (Asc(strCHAR) <> 63)) Then  '←""の間にテキストから■をコピーして張り付けると改行される。
STR = STR & strCHAR
End If
IDX = IDX + 1
Loop
Cells(行, 列).Value = STR
Next
Next
です。宜しくお願いします。
618名無しさん@そうだ選挙にいこう:2007/11/06(火) 12:56:42
CRかな?
619名無しさん@そうだ選挙にいこう:2007/11/06(火) 13:02:02
とりあえず =CODE(A1) で正体を確認する
620名無しさん@そうだ選挙にいこう:2007/11/06(火) 13:15:45
>616
先頭の正体不明文字が1文字限定ならば、

Option Explicit

Sub test()

Dim i As Integer
Dim j As String
Dim k As Integer


For i = 1 To 3000

j = Worksheets("sheet1").Range(CStr("a") & i)
If Len(j) > 1 Then
k = Len(j)
j = Right(j, k - 1)
End If



Next i

End Sub

ワークシートに貼り付けて
ですべて消えると思います。
ダメなら、ごめんね。
621名無しさん@そうだ選挙にいこう:2007/11/06(火) 13:29:42
マクロならvbCRをvbCRLFに置き換えればいいんじゃね?
622名無しさん@そうだ選挙にいこう:2007/11/06(火) 13:29:51
>>618
そのようです。
あるHPからテキストを貼り付けて、改行を削除した列だけ見えない文字が発生。

>>619
調べたら文字番号13で*4でした。
CODE関数を取り入れて検索して削除しようとおもいます。
助かりました。

>>620
ありがとうございます。
1文字限定ですが、全ての行に見えない文字がないので・・・・・・
全ての行から1文字消す場合は、最良のプログラムだと思います。
623616:2007/11/06(火) 14:11:45
CODE関数についてですが、VBAで表記する時ってどうすれば・・・・・
コード番号=CODE(STR)
ではダメみたいなので・・・・・

>>621
貼り付けた文字列です。
624名無しさん@そうだ選挙にいこう:2007/11/06(火) 14:23:26
>>604
別のサイトで色々回答がついてるみたいだなw
Application.Volatileの言及もないし、そもそも数式をちょこっと足せばピボットテーブルで出来そうなもんだろ?
SUMPRODUCT並みのクソ重いユーザー定義関数を作ってもしょうがないと思うが。

>>623
つAsc関数
625名無しさん@そうだ選挙にいこう:2007/11/06(火) 15:03:44
【1 OSの種類         .】 WindowsXP-HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Google: Excel VBA 軸見出し 指定

グラフの軸見出し指定で質問です。

B7〜B9(氏名)とC7〜C9(金額)のセルに
安倍 , 70
福田 , 60
麻生 , 90

として、これを円グラフにするため下記ようにしましたが、軸見出しが
(C7〜C9の左隣の)安倍 , 福田 , 麻生 とはならず、JPGのように
1,2,3 となってしまいました。
http://sund1.sakura.ne.jp/uploader/source/up14399.jpg

Dim mySht As Worksheet
Set mySht = Worksheets("Top")
' グラフを追加する
With Charts.Add
' グラフの種類を指定する
.ChartType = xlPie
' グラフ化する元データ範囲を指定する
.SetSourceData mySht.Range("C7:C9"), xlColumns
' グラフ追加場所を指定する
.Location xlLocationAsObject, mySht.Name
End With

どうしたら良いでしょうか?
626616:2007/11/06(火) 15:06:37
>>624

Cells(行, 3) = Asc(str)
とか
  コード=Asc(Str)
で、エラーになるんだけど何故か分かりますか?
エラー内容:(プロシージャの呼び出し、引数が不正です。)
627名無しさん@そうだ選挙にいこう:2007/11/06(火) 15:17:58
あーあ>>604は他所の回答で「完璧」とか言って閉じちゃったよw
そのうちセルの値を変更したら、自動で再計算されないなんて言い出すんだろうなw
628名無しさん@そうだ選挙にいこう:2007/11/06(火) 15:40:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 不可

ソートをしたいのですが、まったくとりつく島もないといった状態です。
一応本を見ながら以下のように文を作ってみました。

名簿シートの(c,1)から(y,18)までを、cの6行目をキーに並べ替えたいのですが、
なにをどうやってもさっぱり動いてくれない状態です。

Worksheets("名簿").Activate
Range(Cells(c, 1), Cells(y, 18)).Sort key1:=Worksheets("名簿").Range(Cells(c, 6))

これに加えて、できれば
key2:=Worksheets("名簿").Range(Cells(c, 7)), _
order2:=xlAscending

も付け加えたいのですが、一体どのようにすればいいのでしょうか。
よろしくおねがいします、ペコリ。
629616:2007/11/06(火) 16:12:20
失礼、問題解決です。
630名無しさん@そうだ選挙にいこう:2007/11/06(火) 16:13:49
>>628
>【4 VBAでの回答の可否】 不可
まったくとりつく島もないといった状態です。
631名無しさん@そうだ選挙にいこう:2007/11/06(火) 16:15:19
馬鹿回答者は相変わらず文句だけは一人前だな
632名無しさん@そうだ選挙にいこう:2007/11/06(火) 16:41:48
>>600
Function FontColor(セル)
If DateDiff("y", セル, Now) <= Cells(2, 5) Then
FontColor = 8
Else
FontColor = セル.Font.ColorIndex
End If
End Function
633628:2007/11/06(火) 17:03:57
>>630
あれれ?不可になっていましたね。

どうもすいません。もちろん”可”です。
634名無しさん@そうだ選挙にいこう:2007/11/06(火) 17:07:45
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA プルダウンメニュー セル

リスト項目をあらかじめVBA文中に含ませておいて、あるセルにプルダウンメニュー
を設置し、そこから選べるようにするにはどうすれば良いでしょうか?

つまり、通常のExcelリスト機能を持ちつつ、その一覧がシート内にない状態です。
635名無しさん@そうだ選挙にいこう:2007/11/06(火) 17:34:34
>633
まずHELPの例どおりに打ち込んでみれ。
まさかcやyは列記号じゃないよな。
636名無しさん@そうだ選挙にいこう:2007/11/06(火) 18:46:53
すいません。ちょっと質問です。
エクセルは2003です。

例えばセルA1〜A20まで数字が適当(-含む)に入力されているとします。
+と-を色分けしたいのですが、どうすればよいでしょうか?
637名無しさん@そうだ選挙にいこう:2007/11/06(火) 19:12:43
>>636
表示形式または条件付書式
たとえば整数なら、表示形式を
0;[赤]-0;0
638604:2007/11/06(火) 19:17:49
>>627
やりたいことはできたのでおk。ただ、予想以上に重い。findをloopでぶん回す力技なので仕方ないんだけど。
VBAでDSUMの結果を得たいときはみんなどうしてるのかふしぎだ。
ほかにいい方法がありそうでしたら教えてください ><
639名無しさん@そうだ選挙にいこう:2007/11/06(火) 19:45:12
いい方法、あるにはあるけど・・・マルチするような奴に教えることは何もないなぁ
640名無しさん@そうだ選挙にいこう:2007/11/06(火) 21:39:21
>>382
>>430
>>620
× Worksheets("sheet1").Range(CStr("a") & i)
○ Worksheets("sheet1").Range("a" & CStr(i))
641名無しさん@そうだ選挙にいこう:2007/11/06(火) 22:28:04
>>638
本当にやりたいこと出来たか?
まともに再計算しない関数なんてクソだわなw
大体関数でやること自体がクソだがw
642名無しさん@そうだ選挙にいこう:2007/11/06(火) 22:46:21
つくれないひとは黙っててください
643名無しさん@そうだ選挙にいこう:2007/11/06(火) 22:52:22
作れないんじゃなくて作らねーの。
欲しがるからといって、そのとおりあたえちゃいけないんだよ。
644名無しさん@そうだ選挙にいこう:2007/11/06(火) 22:56:14
できないくせに口ばっかしですね
645名無しさん@そうだ選挙にいこう:2007/11/06(火) 22:57:45
だから関数でやっちゃいけないって言ってるだろ?
分からない子だねまったく。
646636:2007/11/06(火) 23:08:46
>>637
ありがとうございました
647634:2007/11/06(火) 23:18:06
すみません。
何かアドバイス頂けないでしょうか?
648名無しさん@そうだ選挙にいこう:2007/11/06(火) 23:36:30
>>647
入力規則のリストに直に設定。
記録マクロ取れば書き方は分かる。
649名無しさん@そうだ選挙にいこう:2007/11/06(火) 23:41:15
>>647
一覧がシート内になければ作ればいいだけなのではないですか?

どういう答えが御気に召すのかは知らないが、一例として。

Sub list()
  Worksheets(1).Select
  With Range("A1:C1").Validation
    .Add Type:=xlValidateList, Formula1:="就職,転職,自殺"
    .InCellDropdown = True
  End With
  Range("A1").Select
End Sub
650634:2007/11/06(火) 23:53:51
>>648, 649
感謝です
651名無しさん@そうだ選挙にいこう:2007/11/07(水) 00:42:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 ExcelXP
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

ハイパーリンクになってるファイルを検出する 検索プログラムって
VBAで出来ますか?
652名無しさん@そうだ選挙にいこう:2007/11/07(水) 00:49:06
できますよ
653名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:03:38
VBA ハイパーリンクでぐぐってね
654名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:43:43
ありがとう 出来るとわかれば勉強してやってみます
655名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:47:47
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ちょっとだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel マクロ フォルダ 作成 階層
VBAでAというフォルダを作成してその下層にBというフォルダを
作成したいのですがBを作る時点でエラー(実行時エラー、
型が一致しません)が出て進みません。
ここでA,Bは任意のセルの値です。

A = ActiveCell.Offset(0, 2).Value
B = ActiveCell.Offset(0, 3).Value

If Dir("C:\新しいフォルダ\") & A <> "" Then

MkDir Path:="C:\新しいフォルダ\" & A \ B

Else
MkDir Path = "C:\新しいフォルダ\" & A

MkDir Path:="C:\新しいフォルダ\" & A \ B

End If


End Sub

A単体は作れるのですがAの下にBを
作ることができません。どうしたら作れますでしょうか?

656名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:59:19
何を見たか知らんが、文法が根本的におかしい。

MkDir "C:\新しいフォルダ\" & A
MkDir "C:\新しいフォルダ\" & A & "\" & B
657名無しさん@そうだ選挙にいこう:2007/11/07(水) 04:02:36
【1 OSの種類         .】 WindowsXP(SP2)
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 パチンコ 抽選 シミュレーション Excel

質問です。
パチンコのシミュレーションを行いたいのです。
例えば1/300の大当り確率のパチンコ台があったとして、あるセルに「300」と入力して、
次にあるセルに「試行回数(例えば10000)」を入力すると、即座に結果を表示してくれる単純なもので
良いのですが…

45
522
315
68
128
641
198



という風に、この列が1/300を10000回試行した結果。
当たれば、当たった時の回数目を表示し、次々と抽選してくれるような…
658名無しさん@そうだ選挙にいこう:2007/11/07(水) 05:06:11
>>657
パチンコのルールはよくわからんが、ようするに、例えば1番目のデータなら

45×(1/300)×10000=

の答えを知りたいってこと?ならデータがA列に入ってるとして

=A1/300*$B$1

みたいな式をC1に入れてガーっと下にコピーすればいいんじゃね?試行回数はB1な。
659名無しさん@そうだ選挙にいこう:2007/11/07(水) 10:44:01
>640
どっちも同じ動きするから
×つけるのはじゃないと思うけど。
書き方の問題でしょ。
660名無しさん@そうだ選挙にいこう:2007/11/07(水) 10:45:07
>659
×つけるのはじゃないと思うけど。 ⇒ ×じゃないと思うけど。
661名無しさん@そうだ選挙にいこう:2007/11/07(水) 12:07:31
CStr("a")なんて書いてあったら俺も×を付けたくなるわ。10点満点なら1点しかやれん。
VBAのコンパイラなら勝手に最適化してくれるだろうけど、どの現場でも通用するとは限らんし、
動けばいいって考え方もよくない。
662名無しさん@そうだ選挙にいこう:2007/11/07(水) 16:00:52
質問させてください。
例えばセルA1に1.546という少数があります。
これを1.54というふうに単純に3桁にしたい時
どうすればよいでしょう?

また四捨五入で1.55と表示するやり方があれば、
併せて教えていただけるとありがたいです。
手入力は行がたくさんあるので時間がかかります。
663名無しさん@そうだ選挙にいこう:2007/11/07(水) 16:35:06
【1 OSの種類         .】 WindowsXP-HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA グラフ タイトル "Charts.Add"

グラフのタイトル挿入で困っています。

With Charts.Add
.ChartType = xlPie ' 円グラフ
.SetSourceData mySht1.Range("B7:C9"), xlColumns
.Location xlLocationAsObject, mySht1.Name
.HasTitle = True ' ←※
.ChartTitleText = "2006年"
End With

というようにグラフタイトルを2006年にしょうとしましたが、デバッグで※印
のところで「オブジェクトが必要です」と出ます。
他のwithプロパティ値は有効なのですが・・・・ 原因は何でしょうか?
664名無しさん@そうだ選挙にいこう:2007/11/07(水) 16:45:01
>662
3桁にするには、表示形式を数値にして、小数点以下、2桁にすれば良いと思うよ。
四捨五入するにはround関数で。
665名無しさん@そうだ選挙にいこう:2007/11/07(水) 17:36:20
>>662
セルの書式で少数以下の桁数を指定すると自動的に四捨五入される。
切り捨てたかったらROUNDDOWNを使う。
666名無しさん@そうだ選挙にいこう:2007/11/07(水) 17:59:44
>>663
プロパティの設定には順序があるのよ。
とりあえずこれでタイトル付きの円グラフは作れるから、あとは自分で調べて書き足してね。

Set mySht1 = Sheets("Sheet1") '←この行は動作確認用なので消す
Set chart1 = Charts.Add

With chart1
.ChartType = xlPie
.SetSourceData mySht1.Range("B7:C9"), xlColumns
.HasTitle = True
.ChartTitle.Text = "2006年"
.Location xlLocationAsObject, mySht1.Name
End With
667名無しさん@そうだ選挙にいこう:2007/11/07(水) 18:30:29
>>666
さんきゅう。出来ました!
668名無しさん@そうだ選挙にいこう:2007/11/07(水) 20:26:10
先頭2文字以外を削除する置き換え方法ってありませんか?
リスト全部に適用したいのですが
669exc:2007/11/07(水) 20:52:19
>>657
RANDBETWEEN()という関数を使ってみてはいかがですか。
670名無しさん@そうだ選挙にいこう:2007/11/07(水) 20:55:13
leftで先頭2文字だけ切り出せば?
671名無しさん@そうだ選挙にいこう:2007/11/07(水) 20:59:01
>>668
作業列使って先頭の2文字だけを取り出したらどうよ?
672名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:11:51
2000ですが、右クリック→ユーザ設定→コマンド からツールバーにドラッグしたコマンドに
ショートカットキーを設定することはできるのでしょうか?
673名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:16:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

行全体の幅を変えるにはA列とB列の間をダブルクリックすればいいと思うのですが、1つのセルだけ幅を変更してそのほかのセルは現状維持の場合はどうすればいいのでしょうか?
674名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:19:38
>>673
行と列の意味を取り違えてる気もするがここはエスパー。
AとBの間に列を挿入して結合するしかない。
タイトルか何か、文字を入れたいんならオートシェイプ使え。
675名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:26:10
>>673
1つのセルだけ変更って、こういうこと?
ttp://www.heat-devil.com/up/src/No1883.png
676名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:29:45
>>673
そのセルの幅を変えるんじゃないけど、俺はよくカメラ機能を使って印刷する。
677名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:36:20
>>670
>>671
=LEFT(C1,2)でできました
ありがとう
678名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:44:31
重ねて質問悪いのですが、関数式ではなく、関数で取り出した値自体を取り出し、コピー 貼り付けすることってできますでしょうか?
679名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:47:30
>>678
「形式を選択して貼り付け」
680名無しさん@そうだ選挙にいこう:2007/11/07(水) 21:48:34
>678
ヘルプぐらい嫁よ
681名無しさん@そうだ選挙にいこう:2007/11/07(水) 22:40:07
>>659
CStr って何する関数? "a" って何型? i って何型?
682名無しさん@そうだ選挙にいこう:2007/11/07(水) 22:42:02
必死だな
683673:2007/11/07(水) 22:54:55
>>675
そうです。
そんな感じにしたいのですが・・・
684名無しさん@そうだ選挙にいこう:2007/11/07(水) 23:07:39
セルの結合のことか?
685名無しさん@そうだ選挙にいこう:2007/11/07(水) 23:22:24
>>683
>>675のとおりやればいいじゃん。

具体的には>>674が教えてくれてる。
686662:2007/11/07(水) 23:52:56
>>664,665

ありがとうございました。
687655:2007/11/08(木) 00:20:14
>>656
ありがとうございます
688名無しさん@そうだ選挙にいこう:2007/11/08(木) 07:59:34
>>682
誰に言ってるの?
ほんとのこと書いてる人をからかうのはやめようぜ。
マクロは動けばいいってもんじゃないぜ?
動けばいいって言うのなら
Worksheets("sheet1").Range(CStr(Cstr(("a") & Cstr(i))))でも動くw
689名無しさん@そうだ選挙にいこう:2007/11/08(木) 08:00:19
("a")
690名無しさん@そうだ選挙にいこう:2007/11/08(木) 08:27:42
>>689
("a")でも動くだろ?
((("a")))でも動くw
691名無しさん@そうだ選挙にいこう:2007/11/08(木) 09:50:18
頭痛が痛いってことでよろしく
692名無しさん@そうだ選挙にいこう:2007/11/08(木) 09:55:43
危険が危ないということでよろしく
693名無しさん@そうだ選挙にいこう:2007/11/08(木) 10:06:55
動けばいいってもんじゃない例で書いてるのに、何必死になってるの?
Worksheets("sheet1").Range(CStr(Cstr(("a") & Cstr(CLng(Cstr(i))))))
プロならこのくらい書けないとお金をもらえねーかな?w
694名無しさん@そうだ選挙にいこう:2007/11/08(木) 10:17:17
単に遊んでるだけだと思うが
695名無しさん@そうだ選挙にいこう:2007/11/08(木) 10:20:53
自分が必死だから、軽くからかってる人まで必死に見える
696名無しさん@そうだ選挙にいこう:2007/11/08(木) 10:25:55
>>693
まさかそんなの書く奴いねーよと言いたいところだが
Set rng = Range(Cells(1, 1), Cells(Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1).Row, 1))
こんなの書いてる奴見たことある。
人には文章が長いから、適当に改行を入れてくださいとか言ってたが。
697名無しさん@そうだ選挙にいこう:2007/11/08(木) 10:44:57
("a") が動いて
((("a"))) になるんだろ?
698名無しさん@そうだ選挙にいこう:2007/11/08(木) 10:45:35
つまんね
699名無しさん@そうだ選挙にいこう:2007/11/08(木) 11:03:31
前世紀、プログラマーの給料がソースの文字数や行数で決まってた時代があってな、
必死に長文のコメント書いて水増ししてたヤツとか普通にいたんだよな。
CStr("a")見て、そんな昔話を思い出したよ。

俺は演算子の前後にスペース入れるのも邪道だと思ってたんだけど、
それは完全に仕様になっちゃったからなあ。
700名無しさん@そうだ選挙にいこう:2007/11/08(木) 11:15:02
Cells(1,2)をCells(1,Range("B1").Column)って書いてる人もいたよな。
おれはこれ見て2はマジックナンバーじゃねーだろ?とオモタ
"B"が使いたければCells(1,"B")とでも書けばいいとオモタが彼にとっては"B"がリテラル値なんだろうな。
そんなこと言い出したらRange("B1").Columnの"B1"もリテラル値のハードコーディングだわなw

701名無しさん@そうだ選挙にいこう:2007/11/08(木) 11:28:30
>>700
Cells(1,Columns("B").Column)は昔よくみたなぁ。
馬鹿じゃなかろーかと思ったが。
702名無しさん@そうだ選挙にいこう:2007/11/08(木) 11:54:06
【1 OSの種類         .】 Windows98
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

セルの書式設定をユーザー定義で
[hh]:mm
に指定していて現在34:30と表示されています
これを分の位を時間の小数点以下であらわすにはどうすればいいですか?
上の例で言うと34.50と表示させたいです
703名無しさん@そうだ選挙にいこう:2007/11/08(木) 11:57:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 不可

2つの数値の差を求めるんだけど
10-8なら2でいいけど
8-10なら0を返したい

セルの中のIF文の中に更に組み込みたいんでIF文以外の方法の式で出来ますか?
VBAでやらなきゃダメかな
704名無しさん@そうだ選挙にいこう:2007/11/08(木) 11:59:22
>>702
表示形式では無理
=A1*24と別のセルに表示させる。
表示形式は0.00な。
705名無しさん@そうだ選挙にいこう:2007/11/08(木) 12:00:36
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
実行中の(自分自身の)subの名前を取得する方法があったら教えてください。
感じとしては(こんなステートメントないですが)、
ThisSub.Name
のように取得できれば助かります。
よろしくお願いします。
706名無しさん@そうだ選挙にいこう:2007/11/08(木) 12:01:18
>>703
A1からB1を引くなら
=MAX(A1-B1,0)
707703:2007/11/08(木) 12:06:55
>>706
うほっこれはいい!ありがとう
目から鱗

708名無しさん@そうだ選挙にいこう:2007/11/08(木) 12:24:03
>>705
そのものズバリの方法はないから、自分で工夫する必要がある。
あとは、CodeModule、ProcOfLineあたりでぐぐるとヒントは得られるかも。

この変も参考に。
ttp://www.vbalab.net/vbaqa/data/excel/log/tree_54.htm
709705:2007/11/08(木) 14:31:15
>>708
レスありがとうございます。ポインタ先にも当たってみます。
ありがとうございました。
710exceler:2007/11/08(木) 15:27:04
Excel初心者です。
非常に初歩的な質問で申し訳ありませんが、宜しくお願いいたします。

Excelで他の枠を参照する為に「=A0」などと入力しますが、
反映されるシートと反映されないシートがあります。
シートごとの設定がなにか違っているのでしょうか。
新しく作成したシートは、反映されるのですが
既存のシートを編集したいのでなにか方法はないでしょうか。
711exceler:2007/11/08(木) 15:28:39
前提条件を追加いたします。
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
712628:2007/11/08(木) 16:52:39
やはりうまく行きません。ヘルプも参考にしたのですが、そもそもcellsを用いていないのであまり参考にならないというか・・・。

Worksheets("名簿").Activate
Worksheets("名簿").Range(Cells(c, 1), Cells(y, 18)).Select
Selection.Sort _
Key1:=Worksheets("名簿").Range(Cells(c, 6)), _
key2:=Worksheets("名簿").Range(Cells(c, 7))

yにもcにも実数が入ることは確認済みです。
エラーメッセージは「アプリケーション定義またはオブジェクト定義のエラーです」と出るのです。
どなたかお教え願えませんでしょうか?
713名無しさん@そうだ選挙にいこう:2007/11/08(木) 17:39:30
>>468 469 回答有難うございます。
それを列にしたり、最初から設定したりはできないんでしょうか?
714名無しさん@そうだ選挙にいこう:2007/11/08(木) 18:12:46
>>712
Range(Cells(c, 6)) → Cells(c, 6)
Range(Cells(c, 7)) → Cells(c, 7)
でエラーは出なくなる。
715名無しさん@そうだ選挙にいこう:2007/11/08(木) 22:42:25
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

金額を出す時に整数にならない場合、小数点第1位を切り上げているんですが、その際小数点第1位が1未満の時だけは、
切り捨てるようにしたいのです。
(例)
@ 4987.287・・・ → 4988

A 4987.023・・・ →4987 

@の条件だけならROUNDUPでできるのですが、Aの条件を含める適切な関数がわからないので困っています。どなたかご教授いただけないでしょうか。よろしくお願いします
716名無しさん@そうだ選挙にいこう:2007/11/08(木) 23:04:05
>>715
0.4足せ
717名無しさん@そうだ選挙にいこう:2007/11/08(木) 23:04:51
エクセルにQRコードを作る機能はないでしょうか?
ヘルプにのってなかったからないとは思いますが。
718名無しさん@そうだ選挙にいこう:2007/11/08(木) 23:07:59
=int(A1+0.8999)
719名無しさん@そうだ選挙にいこう:2007/11/08(木) 23:41:20
>>715
0.1引いてから切り上げ
0.4足してから四捨五入
0.9足してから切り捨て

お好きな方法をどうぞ
720名無しさん@そうだ選挙にいこう:2007/11/08(木) 23:44:35
721名無しさん@そうだ選挙にいこう:2007/11/09(金) 08:57:36
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 sum関数 範囲 変化


下記みたいな表があって、合計個数のところに、
今日の日付以降の合計個数が表示されるようにしたい
(つまり、一日経つごとに、セルの範囲が一つ減る)のですが、どうやったらいいのでしょうか?

     |合計個数→| |
日付↓|       | |
 11/06|       |7|
 11/07|       |4|
 11/08|       |2|
 11/09|       |1|
 11/10|       |0|
 11/11|       |0|
 11/12|       |2|
 11/13|       |1|
 11/14|       |3|
 11/15|       |0|
 11/16|       |1|
722名無しさん@そうだ選挙にいこう:2007/11/09(金) 09:56:13
>>721
普通にsum()じゃだめなん。
723名無しさん@そうだ選挙にいこう:2007/11/09(金) 10:04:07
sum(C:C)みたいに、単純にやれってことですか?
それだとダメなんですよ。

>>721の例で言うと、今日(11/09)は8と表示されるけど、
明日(11/10)は7と表示されるようにしたいんです。
724名無しさん@そうだ選挙にいこう:2007/11/09(金) 11:22:33
>>721
SUMIFで、条件はTODAY
但し日付がシリアル値の場合
725712:2007/11/09(金) 11:45:11
>>714
ありがとうございました!
また一つ理解が深まった気がします!
726名無しさん@そうだ選挙にいこう:2007/11/09(金) 12:58:43
>>723
11/1の個数がC1、11/16の個数がC16に入ってると仮定して、
1列目に=SUM(C1,C$16)と入れたらずらっと下の列までコピー。
これで累積は出る。

あとは、昨日以前のデータを出したくなかったらIFを組み合わせる。
日付がA列に入ってるんなら
=IF(TODAY()<=A1,SUM(C1:C$16),"")
727名無しさん@そうだ選挙にいこう:2007/11/09(金) 14:10:16
>>724, >>726
ありがとうございます。助かりました。
728名無しさん@そうだ選挙にいこう:2007/11/09(金) 14:41:36
>>710
オプションで計算方法が手動になっていると思われる

ツール → オプション → 計算方法 → 手動から自動に選択しなおす
または
F9を押す
729名無しさん@そうだ選挙にいこう:2007/11/09(金) 15:54:21
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 SUBTOTAL オートフィルタ
オートフィルタで抽出したデータを、合計、平均、個数を同じ表の中に
表示させるにはどうしたらいいですか?
SUBTOTALの関数を入れると最後の1行しか表示されません。
730名無しさん@そうだ選挙にいこう:2007/11/09(金) 20:40:54
>>729
ちゃんと範囲指定している?
731名無しさん@そうだ選挙にいこう:2007/11/10(土) 00:18:02
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

エクセルファイルを開こうとすると、”ファイルを読み込み出来ません”と
警告が出ます。その後、修復されたファイルとなって開かれますが、
おかしくデータが表示されてしまいます。
何が原因なのでしょうか?
732名無しさん@そうだ選挙にいこう:2007/11/10(土) 00:19:00
>>731
HDDやUSBメモリの故障では?
開けないファイルは一つだけ?
733名無しさん@そうだ選挙にいこう:2007/11/10(土) 00:49:37
分かれば教えてください

カーソルを合わせたセルのみを拡大表示することができる、と聞いたのですが
どうすればいいのでしょうか?
プレゼンの時に役に立ちそうなので知りたいのですがググってもわかりませんでした・・・

どなたか分かる方がいましたらご教授ください、よろしくおねがいします
734名無しさん@そうだ選挙にいこう:2007/11/10(土) 00:52:45
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

経理をしております。
エクセルで予実管理や利益分析をしているのですが、
いつも四捨五入の積み重ねで合計や累計があるべき数字からズレてきます。
関数は知ってますが、それだと行や列をいちいち非表示にせねばならないので手間がかかります。
シートごと四捨五入で小数点以下を切り捨て・切り上げする方法はないでしょうか。


735名無しさん@そうだ選挙にいこう:2007/11/10(土) 01:07:53
>>734
そういう計算では有効数字ってのが必ず決まってんだから、
途中経過をその都度ちゃんと丸めていくように式を書かない方が悪い。

つーか、日本語がおかしくて質問の意味がよくわからん。
四捨五入したいのか切り捨てたいのか切り上げたいのか、どっちなのよ。
736名無しさん@そうだ選挙にいこう:2007/11/10(土) 01:12:59
「四捨五入で小数点以下を切り捨て・切り上げする」と書いてるのだが。
もう少し大人の対応ができませんか?
期待してませんが。
737名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:04:28
新語誕生の瞬間?
738名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:36:52
日本語が不自由なひとをいじめちゃいかんよ

>>735
そういうときは「四捨五入する」でいいんだよ。切捨て、切り上げは四捨五入しない方法のことをいうの。
オプションの表示桁数で計算をチェックするといいんじゃないかな。
739名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:40:19
教えてください
表計算をしたいのですが

=E46-(H2*2)
=E47-(H2*2)
=E48-(H2*2)
=E49-(H2*2)
=E50-(H2*2)
=E51-(H2*2)
としたいのですが
セルをドラックして作ると

=E46-(H2*2)
=E47-(H3*2)
=E48-(H4*2)
=E49-(H5*2)
=E50-(H6*2)
=E51-(H7*2)

となってしまいます

H2のセルを固定係数にしたいのですがどうすれば出来ますか?
740名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:46:47
「小数点以下を切り捨て・切り上げする」って切り捨てたいのか切り上げたいのか。
四捨五入は何桁目に対して行うつもりなのか。

>>736は小数点以下一位で四捨五入したいんだろうけど、あまりにも日本語がおかしすぎる。
741名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:47:46
>>739
=E46-($H$2*2)をドラッグ
742名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:54:02
より正確に言うなら「小数点以下を四捨五入」な。
本当に経理を目指すんなら、こういう言葉はちゃんと区別して正確に使い分けなきゃいけない。
でないと計算が合わなくなって当然だし、場合によっては会社に多大な損害を与えることになる。

質問する方も謙虚にね。
743名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:56:21
>>739
固定したい部分の前に$を付ける。
行番号だけを固定する時はH$2と書く。列を固定したい時は$H2、
さらに行も列も固定するときは$H$2と書く。
744名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:56:28
>>741
ありがとうございます。
3時間かけて検索したのですが答えが見当たらず途方にくれていました
今度デートしてください
745名無しさん@そうだ選挙にいこう:2007/11/10(土) 02:57:56
>>743
ありがとうぞざいました。
お礼をしたいので口座番号を教えてください・・・
746名無しさん@そうだ選挙にいこう:2007/11/10(土) 03:11:55
今回のは貸しにしとくよ。
747名無しさん@そうだ選挙にいこう:2007/11/10(土) 07:20:01
こんなお堅いスレらしからぬ、しょうもない流れワロタw
748exc:2007/11/10(土) 10:39:12
>>734の日本語そんなにおかしいかな?わからないな。
749exc:2007/11/10(土) 11:02:44
>>735
有効数字って何?
750名無しさん@そうだ選挙にいこう:2007/11/10(土) 11:04:40
おまえ中卒?
751exc:2007/11/10(土) 11:24:37
>>750
いじわるしないで教えてくれよ。
752名無しさん@そうだ選挙にいこう:2007/11/10(土) 11:26:43
常時ageのコテハンやりたがるなんて中卒に決まってるだろ
スルーしれ。構った方が負け。
753名無しさん@そうだ選挙にいこう:2007/11/10(土) 12:12:54
【1 OSの種類         .】 Windows98
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】可?
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
ピボットテーブル・タブ・集計

エクセル初心者であまり詳しいことが分からないのです。すみません
会社のエクセルにはセルにタブ?がついていて、そこからトップテン、オプション等が選択でき
自分の見たいセルの条件を選ぶことが出来るのですが
なぜかそのタブが消えてしまい、元に戻したいのですが、
休日出勤だったので聞く人もおらず困っています。

こんな初心者の説明ですがもし理解出来る方がいらっしゃれば教えてください。
携帯からすみません。
もし、聞く場所が間違えていましたらどこで聞けばいいか教えてもらえれば大変助かります。
よろしくお願いします
754名無しさん@そうだ選挙にいこう:2007/11/10(土) 12:16:24
>>740
おまえもシツコイね〜 笑
おかしいと思えばスルーすりゃいいジャン。
ヒマな奴。。。
755exc:2007/11/10(土) 12:18:57
>>753
オートフィルタじゃないかな。
756名無しさん@そうだ選挙にいこう:2007/11/10(土) 12:19:20
>>742
2chで謙虚なんて必要ない。
これ常識。
757名無しさん@そうだ選挙にいこう:2007/11/10(土) 12:36:49
けど、傲慢な態度が損を生むのは事実。
758753:2007/11/10(土) 12:40:25
>>755さん

オートフィルタで出来ました!!
出来たのですが…すべてのセルが出てしまっていて、前のように検索することが出来ないのです…
どうすればいいのでしょうか?
いくつもすみませんが分かる方おられましたら教えてください
759exc:2007/11/10(土) 12:48:25
>>758
前のような検索ってどんなでしたか?
検索するだけだったら編集メニューの検索でもできるんだけどそれじゃだめ?
760753:2007/11/10(土) 12:55:59
会社の生産管理用のシートなのですが、
製品コード、搬入先の社名、製品名、納品数の検索でして
おそらくオートフィルタの方が都合がいいと思うんです
(作成したのは私ではないのではっきりとは分かりません…)
トップテンで取引回数や納入数、オプションで製品コードの分からないものを
社名や製品名の一部などで調べていました

やはり元に戻すのは難しいのでしょうか…
761名無しさん@そうだ選挙にいこう:2007/11/10(土) 13:01:40
休み明けに会社の人間に聞け
762731:2007/11/10(土) 13:03:34
>>732さん
複数のエクセルファイルが開けなくなっています。
つい先日、使用していたパソコンのハードディスクが壊れてしまったので、
その影響なのかもしれません。使用していたパソコンだと開けたのですが、
他のパソコンで開こうとすると、エラーが出ていたので。
763名無しさん@そうだ選挙にいこう:2007/11/10(土) 13:05:37
>>753
保存しないで閉じて、もう一度開くと
元に戻っているというオチじゃないだろなww
764exc:2007/11/10(土) 13:11:56
>>760
トップテンとオプションが使えないの?
なんでだろ。うちじゃ起こらないけどな。
調べてもよくわからなかった。
ごめんね。
765753:2007/11/10(土) 13:20:23
>>761さん
今日に戻しておきたかったんです
>>763さん
試してみました………orz
>>764さん
ヘルプで探してみてもしかするとリストになってない?と思い今ヘルプをみながらリストを作っています。
行き詰まったらまた教えていただければ助かります。
とりあえず自分で出来るところまでやってみます!!ありがとうございました!!
766exc:2007/11/10(土) 13:39:54
>>765
がんばって下さい!
767名無しさん@そうだ選挙にいこう:2007/11/10(土) 14:01:19
親切な奴もいれば、>>761のような糞もいるのが2ch
768名無しさん@そうだ選挙にいこう:2007/11/10(土) 14:19:22
>>757
そうだね。
回答にもならないレスしておいて質問者の揚げ足ばっかり取る奴なんかさ。
769名無しさん@そうだ選挙にいこう:2007/11/10(土) 14:40:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 最後列 取得

シートの最後列に入力された値を取得する関数ってありますか?

   A   B   C   D   E | F
1 10   20   30   40     | 40
2 15   10   5   0     | 0

上の例の場合、D列が入力された最後列になるのでF列にD列の値を取得したいのです。
よろしくお願いします。
770名無しさん@そうだ選挙にいこう:2007/11/10(土) 14:51:51
=OFFSET(A1,,COUNT(A1:E1)-1)
771名無しさん@そうだ選挙にいこう:2007/11/10(土) 14:56:21
>>770
ありがとうございました。
772名無しさん@そうだ選挙にいこう:2007/11/10(土) 14:57:59
>>769
A〜Dまで、データは左詰で収まっているなら
各行でデータの個数を数えろ
=COUNTA(A1:E1)

あとはOFFSET関数つかうなり
=OFFSET(A1,0,COUNTA(A1:E1)-1,1,1)
1行目にインデックス行を挿入して1〜5の番号振ってHLOOKUP関数つかうなり
=HLOOKUP(COUNTA(A2:E2),A$1:E2,ROW())
好きにしろ
773名無しさん@そうだ選挙にいこう:2007/11/10(土) 15:00:57
>>772
詳しくありがとうございます。
勉強になりました。
774名無しさん@そうだ選挙にいこう:2007/11/10(土) 15:06:47
>>772
お前一言余計なんだよ。
775名無しさん@そうだ選挙にいこう:2007/11/10(土) 15:12:08
>>774
オマエや俺みたいに回答らいしい事をなにもレスしないのが一番ウザいんだがなwww
776名無しさん@そうだ選挙にいこう:2007/11/10(土) 15:17:23
>>774
こういう風にすればいいのか?

>>769
A〜Dまで、データは左詰で収まっているのでしたら
各行でデータの個数を数えてみてください。
=COUNTA(A1:E1)

あとはOFFSET関数をお使いになるなり
=OFFSET(A1,0,COUNTA(A1:E1)-1,1,1)
1行目にインデックス行を挿入なさって、1〜5の番号をふりHLOOKUP関数をお使いになるなり
=HLOOKUP(COUNTA(A2:E2),A$1:E2,ROW())
お好きなほうをお選びください♪
777753:2007/11/10(土) 15:22:58
やっとできました!!
オートフィルタの下にいらない空白をいれていたからなのか
その空白の列を削除したら元に戻ってくれました…
初心者のわけの分からない質問に答えてくださってありがとうございました(´・ω・`)
778名無しさん@そうだ選挙にいこう:2007/11/10(土) 16:18:38
好きな物買えって言われるかもしれないけど
EXCELの基礎から応用までが網羅されているテキストありますか?
お勧めあったら教えてください
779名無しさん@そうだ選挙にいこう:2007/11/10(土) 16:19:19
>>777
おめでと!
780名無しさん@そうだ選挙にいこう:2007/11/10(土) 16:29:15
>>778
ここで聞くこと自体間違っている
とりあえず書店に走れ

で、

 好 き な 物 買 え
781名無しさん@そうだ選挙にいこう:2007/11/10(土) 16:43:47
なぜ俺を買わない?
782名無しさん@そうだ選挙にいこう:2007/11/10(土) 16:57:23
要らないから
783名無しさん@そうだ選挙にいこう:2007/11/10(土) 16:58:06
>>781
ウホ!いくら?
784exc:2007/11/10(土) 17:11:43
>>778
EXCELでやりたいことってたいてい集計だと思うんですよ。
ピボットテーブルレポートさえ使えたら他の複雑なテクニックはあまり必要
ないと思います。
こんな本どうでしょう。立ち読みした時なかなかいいなと思いましたよ。

ビジネスデータ分析実践の極意 住中光夫
785名無しさん@そうだ選挙にいこう:2007/11/10(土) 17:18:25
>>780
色々あって迷っちゃうんだ
>>781
^^;
>>784
ありがとう。参考にしてみるよ
786名無しさん@そうだ選挙にいこう:2007/11/10(土) 18:36:05
>EXCELでやりたいことってたいてい集計だと思うんですよ。
ハハハ、、ここのヤツラはそんなもんだろう
787名無しさん@そうだ選挙にいこう:2007/11/10(土) 19:19:55
>>778
俺がExcel使い始めた頃に役に立った本は「Excel計算式[表現]事典」かな。
788名無しさん@そうだ選挙にいこう:2007/11/10(土) 21:10:54
エクセルってゲームしたりアニメ見るためのソフトでしょ?
ttp://gigazine.net/index.php?/news/comments/20061002_excel_game/
789名無しさん@そうだ選挙にいこう:2007/11/10(土) 21:50:21
>>788
ニート乙。
790名無しさん@そうだ選挙にいこう:2007/11/10(土) 22:05:23
Excelでアニメってこんなやつか
ttp://www.nicovideo.jp/watch/sm586011
791名無しさん@そうだ選挙にいこう:2007/11/10(土) 22:36:48
>>786
お前もここに居るじゃねーかwwwwwwwwwwwwwwwwwwwwww
タコっ!
792名無しさん@そうだ選挙にいこう:2007/11/11(日) 00:18:43
アイコンについての質問なんですが、よろしいですか?
仕事で使っているエクセルファイルのアイコンの隅に、
たま〜に白黒の小さい時計のようなマークがついているのがあるのですが
何の印なのでしょうか?
そのアイコンのプロパティを開いてみると「全体」だけで
「カスタム」や「概要」のタブがありません。
気になって何度が検索したのですが、小さいマークなので
もしかしたら時計じゃないのかも知れないです。
よろしくお願いします。


【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(そんなに詳しくないです)
【4 VBAでの回答の可否】 可??
【5 検索キーワード     】 エクセル アイコン 時計マーク
793名無しさん@そうだ選挙にいこう:2007/11/11(日) 00:54:29
>>792
うp
794名無しさん@そうだ選挙にいこう:2007/11/11(日) 00:54:45
本なんて自分が必要な情報がたくさん載ってるのを買えばいいんだから
ここで紹介するだけ無駄
つーか宣伝乙
795792:2007/11/11(日) 01:08:12
すみません。
会社でしか出たことがないマークなので、
お見せ出来ないんです。
796名無しさん@そうだ選挙にいこう:2007/11/11(日) 01:18:03
>>792
拡張子を見てみろ
797名無しさん@そうだ選挙にいこう:2007/11/11(日) 01:42:48
excelのスキルをそれなりに使いこなせるようになるには大体どのくらいかかりますか?
798名無しさん@そうだ選挙にいこう:2007/11/11(日) 02:12:30
人と目的による。
799797:2007/11/11(日) 04:25:02
事務系の仕事で内定もらえたとこなんですが、excelスキルが条件なのですが全く使えないのに使えるといいました。4月までには覚える必要があります。
800名無しさん@そうだ選挙にいこう:2007/11/11(日) 05:20:02
スクール行ったら、MOS取得目指すコースでも大体25時間前後で教えてくれる模様。

独学で1日1時間ずつでも、2ヶ月もあれば事務レベルのスキルはつくんじゃね?
どの程度のスキルが求められてるか知らんが。

後は>>797の脳みそ次第。
801792:2007/11/11(日) 08:00:28
>>796
休み明けに見てみます。
802名無しさん@そうだ選挙にいこう:2007/11/11(日) 09:58:51
つーか、この手の質問多いけど、「やるべきこと」が職種などによって違うので、
一概に「使いこなせてる」となるレベルが違うだろって。

職場の事務担の女の子は基本は分かってて、与えられた仕事をこなす中では
十分に使いこなしているが、別で集計など取っているチームの仕事しろって
言えば無理だからなー。
803名無しさん@そうだ選挙にいこう:2007/11/11(日) 10:15:35
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい (簡単なものならば)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 日付 比べる

特定のセル(例えばA1)に該当月の数字(1〜12)が有ります。
特定のセル範囲(例えばA2〜32)に該当日の記号(○)がいくつか有ります。
別のセル2つ(例えばB6とB7)に日付(H19.11.11の様に)が入っています。
A1の月で、A2〜32の末尾(該当月で記号の入力された最終日)が、
B6もしくはB7の日付から3ヶ月経過しているかどうかを比べたいです。
比べた結果、3ヶ月以内ならばそのまま、3ヶ月以上経過していればメッセージボックスを出したいです。
B6とB7両方に日付が有る場合には、B7の日付と比べます。
B7が空欄の場合にはB6(必ず入力されている)と比べます。
よろしくお願い致します!
804名無しさん@そうだ選挙にいこう:2007/11/11(日) 10:21:54
>>803
日付はH19.11.11のような文字列ではなく
シリアル値で管理するのが吉。
俺ならまずシリアル値に直した後に3ケ月以上かどうか比べるな
805名無しさん@そうだ選挙にいこう:2007/11/11(日) 10:31:46
分かりづらいんであんま読んでないけど、メッセージボックス(VBA)じゃなくても
Datedifで日数チェックして作業列にアラートの文字列出すだけで良いんじゃね?
ワークシート関数だけで。
806803:2007/11/11(日) 10:54:39
804さん、805さん有難う!
チョット調べて取組んでみます。
807名無しさん@そうだ選挙にいこう:2007/11/11(日) 11:35:26
>>799
Excelで何をやるかは会社に入ってからでないとまずわからないし、
最低限のことはちゃんと研修などで教えてくれるんで、
とにかく基本操作やマクロをしっかり覚えて、何にでも対処できるようにすること。

あと、事務系の職場ではExcelのことしかわからないExcelバカが多いので、
Windows全般や一般的なパソコンのトラブルに対処する知識があると
重宝がられることがけっこうある。
808名無しさん@そうだ選挙にいこう:2007/11/11(日) 11:45:10
事務でマクロはいらんだろw
基本的な関数だけ覚えれ
809名無しさん@そうだ選挙にいこう:2007/11/11(日) 12:01:43
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 関数 自動更新 カレンダー

給与計算の際、1ヵ月ごとに勤怠表をexcelで作っています。 日付の欄を
簡単に翌月の日付に自動更新できるようにしたいんですが、何かいい方法はないでしょうか?

日付      出勤時間   退勤時間 ・  ・
10月1日    9:00 17:01
10月2日  8:50 18:20
  ・
  ・
810名無しさん@そうだ選挙にいこう:2007/11/11(日) 12:02:42
あら、表がずれちゃいましたね。申し訳ない
811名無しさん@そうだ選挙にいこう:2007/11/11(日) 12:15:08
>>809
10月1日を11月1日に変えて下にドラッグしたらいいのでは?
または、2日目以降に=a1+1みたいにしておくとか。

もっと簡単な方法を教えろと?
812名無しさん@そうだ選挙にいこう:2007/11/11(日) 13:57:41
これだけは言っておく。
ここは2chだ。
まともな回答は期待しない方が良い。
現に少し難しい質問が出ると茶化してるだろ。
マトモな回答が欲しければ、某掲示板の方が良い。
813名無しさん@そうだ選挙にいこう:2007/11/11(日) 14:04:20
そうだね ここで回答つかなくて向こうにもってったらていねいに教えてくれたこと何度もあるし
814名無しさん@そうだ選挙にいこう:2007/11/11(日) 14:45:19
【1 OSの種類         .】 Windows98 vistaで確認
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 SheetChange,SheetChange error

表を入力していき、残りが少なくなったら自動的に追加するようにしたいです。
追加する行は5〜10行で考えています。(同時に印刷範囲の設定も行うので用紙の無駄を省くため)

VBAの勉強もかねながら作ったのですが、うまく動きません。(ソースは以降のレスに載せます)
原因を自分なりに考えると、イベントマクロでSheetChangeを使ったため、
変更が起きると永久ループに入ってしまうのかなと思っています。

なんとかこれらを回避する手段、もしくは別の手を使って表の自動追加を実現する
方法を教えていただけないでしょうか?


815809:2007/11/11(日) 14:45:24
>>811

すいません曜日も入っているんです。

日付      出勤時間   退勤時間 ・  ・
10月1日    9:00      17:01
10月2日     8:50      18:20
  ・
  ・




816809:2007/11/11(日) 14:46:57

何度も訂正すみません。

日付      出勤時間   退勤時間 ・  ・
10月1日 火  9:00      17:01
10月2日 水   8:50       18:20
  ・
  ・
のような感じです。
817名無しさん@そうだ選挙にいこう:2007/11/11(日) 15:05:34
>>816
ヘルプでシリアル値関連を読んだらスグ判るよ
818名無しさん@そうだ選挙にいこう:2007/11/11(日) 15:06:06
>>809
日付と曜日を分ける必要はあるの?
表示形式で日付と曜日を表示すればイイだろ
819814:2007/11/11(日) 15:21:34
VBAのソースです(1/2)

Sub Worksheet_Change(ByVal Target As Range)

Dim WNO
Dim CNO
Dim CNO2

'残り行数がどれくらいかチェック
CNO = Range("C7").End(xlDown).Row
WNO = Range("E" & CNO).End(xlUp).Row

'残り行数が指定された行数より少ない場合は増やす操作を実行する
If CNO - WNO < 3 Then

'表の最終行をコピーする
Range("C" & CNO : "I" & CNO).Copy

'何行コピーするか(今回の場合5行)
CNO2 = CNO + 5

'書式のみ貼り付け
Range("C" & CNO : "C" & CNO2).PasteSpecial Paste:=xlPasteFormats
820814:2007/11/11(日) 15:25:26
残り(2/2)

'印刷範囲の設定
With ActiveSheet.PageSetup

.PrintArea = "C2 : C" & CNO2
.Orientation = xlPortrait

End With

End If

End Sub

ループしているんじゃないかと思った原因は、if文の中をMsgBoxのみに置き換えた場合は
固まることが無いからです。(if文の中を数値をセルに代入するような場合は固まりました)
よろしくおねがいします。
821名無しさん@そうだ選挙にいこう:2007/11/11(日) 15:47:52
>>815
曜日は=TEXT(A1,"aaa")で出せる。
これいれとけ
822名無しさん@そうだ選挙にいこう:2007/11/11(日) 15:52:50
>>814
うまく動かないとは固まってしまうという事ですか?
ブレークポイントを設置するなどして確認してみたら
823814:2007/11/11(日) 17:13:55
>>822
そうですねキー操作を受け付けなくなり、画面はずっとコピペを
繰り返しているような感じです。途中にMsgBox関数を仕込むと
その表示を繰り返し吐き出し続けます。

>ブレークポイントを設置するなどして確認してみたら
確認してみました。やはりコピーの部分まではいってるみたいですが、
ペーストの段階でプログラムの先頭まで戻っているみたいです。
(ステップイン:F8でも確認)


自分なりに考えた解決方法としては
if文中のペーストする部分より前で、適当なセルに値Xを入れて、
先頭に戻った後に今度はそのXで条件分岐させようと考えています。

でも。なんか力技っぽい気もするし、もっとスマートな回答ってありませんかね?
824名無しさん@そうだ選挙にいこう:2007/11/11(日) 17:45:36
>>823
Application.EnableEvents
825名無しさん@そうだ選挙にいこう:2007/11/11(日) 17:48:26
Dim WNO
Dim CNO
Dim CNO2
Dim Fiag As Boolean

'残り行数がどれくらいかチェック
CNO = Range("C7").End(xlDown).Row
WNO = Range("E" & CNO).End(xlUp).Row

'残り行数が指定された行数より少ない場合は増やす操作を実行する
If CNO - WNO < 3 Then

Application.EnableEvents = False '←これを追加してみて

'表の最終行をコピーする
Range("C" & CNO & ":I" & CNO).Copy
'何行コピーするか(今回の場合5行)
CNO2 = CNO + 5
'書式のみ貼り付け
Range("C" & CNO & ":C" & CNO2).PasteSpecial Paste:=xlPasteFormats
'印刷範囲の設定
With ActiveSheet.PageSetup
.PrintArea = "C2 : C" & CNO2
.Orientation = xlPortrait
End With

Application.EnableEvents = True '←これを追加してみて

End If
826名無しさん@そうだ選挙にいこう:2007/11/11(日) 18:41:08
>>816
日付と曜日は別々の列に入ってるの?
書式で「yy"月"d"日 "aaa」って設定すれば、いっぺんにできるからまとめた方が早いと思うよ。
あとは、A3に「=A2+1」って書いて下までコピーしとけば、A2に11/1って入力した瞬間に
下まで日付と曜日が自動的に入る。
827名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:06:53
【1 OSの種類         】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    】 使えない
【4 VBAでの回答の可否 】 不可
【5 検索キーワード     】PHONETIC

 人から貰ったデータなんですけど、入力してある漢字をPHONETICでフリガナ出したら
たとえば「漂白剤」が「ひょうしろざい」とか、「女性用下着」が「おんなせいようしたぎ」
などと、いいかげんな読みが出てくるのは入力時にそのように打ち込んだからでしょうか?
それとも、Excelのバージョンの違いや、文字を直接打ち込む以外の作成方法など、何か
他に原因となる可能性があるのでしょうか?
 ググッて、得た知識としてはWordからExcelに持ってくると読み情報が無くなってしまうという
ことですが、この件と関係あるのかよく解りませんでした。
 御意見、よろしく御願いします。
828名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:07:56
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ 。セルの色を変えるとかそんなレベルです。
【4 VBAでの回答の可否】 可 。教えて頂けるととても嬉しいです
【5 検索キーワード     】 マクロ 検索 初心者 

A      B  C
1 あああ  a 1000
2 いいい  a 2000 
3 おおお  a 1200
4 おおお  b 1100
5 かかか a 200
6 ききき  a 5000
7 ききき  b 3000
8 いいい  a 2500
9 おおお  c  300

Sheet1に上記のような表があるとしてマクロで検索ボタンを作成することは可能ですか?
現在Aにフィルタをかけて調べているのですがデータの種類が1000個を超えてしまい、
フィルタの中から欲しい情報を探す次点で時間が掛かってしまっている状態です。
下記のような検索ボタンを付けれたら嬉しいです。
_________________
|                        |
|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|         |
||  おおお         |    検索 |
||__________| |
| |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
検索結果
おおお a 1200
おおお b 1100
おおお c 300
829名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:39:05
>>828
一例
適当に変更して

検索ボタンのイベントに

Private Sub CommandButton1_Click()
  Dim str As String
  str = TextBox1.Value
  If TextBox1.Value <> "" Then
    Range("A1").AutoFilter 1, str
  Else
    MsgBox "検索文字を入力せよ。"
  End If
End Sub
830名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:42:09
>>828
1.D1セルに検索したい値を入力。

2.標準モジュールに下記の通り記述。

Sub Macro()
Selection.AutoFilter Field:=1, Criteria1:=Range("D1")
End Sub

3.検索用セル(D1)の横あたりに、フォームのボタンを配置。

4.「マクロの登録」で、ボタンに上記のマクロを登録する。
831名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:44:01
データベース関数じゃだめなの?
マクロがいいの?
832名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:49:43
>>827
単に入力時にそのように打ち込んだからです
833名無しさん@そうだ選挙にいこう:2007/11/11(日) 20:50:17
>>828
829補足

検索フォームを作って標準モジュールに

Sub showform()
  UserForm1.Show
End Sub

を記述するように考えています。
834名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:00:12
月曜日 1 2 3 4
火曜日 5 6 7 8

例えば以上のような数列があったとして
数字の 7 はどの曜日にあるのかエクセルで
検索するにはどのような関数を使えばよろしいでしょうか
使っているエクセルは2000です
よろしくお願いします
835814:2007/11/11(日) 21:14:04
>>824-825
ありがとうございます。無限ループはなくなりました。
しかしながらなぜかまだ重い・・・ orz
印刷範囲の選択を除けば軽くなるのでまた別要因だと思います。
これは自分で何とか解決してみます。

教えてくれたみなさん本当にありがとうございました!!
836名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:16:40
>>834
Sub youbi()
  MsgBox "7は" & WeekdayName(7) & "です。"
End Sub
837名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:21:56
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

一枚のシートに、各行に日付が入っているデータが数年分にわたってあります。
各年毎に月別で集計するには、どのように処理すればよいでしょうか?

A B C ...
aaa bbb ccc ... yyyy/mm/dd
ddd eee fff ... yyyy/mm/dd
838名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:25:05
>>837
SUMIF
839名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:49:44
>>836ありがとうございます

また、別件ですが

1日 月  1 2 3 
2日 火  3 4 5
・  ・  ・ ・ ・
・  ・  ・ ・ ・

という風に毎週の最大値、最小値の曜日を表示させるには
どうしたら良いでしょうか。似たような質問ですいません
よろしくお願いします

また 初歩的な質問ですが、曜日を自動的に入力させるにはどうしたら
良いでしょうか
840名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:56:04
>>837
1月の場合
=SUMIF(範囲,"<=1/31",集計範囲)-SUMIF(範囲,"<=2006/12/31",集計範囲)
2月の場合
=SUMIF(範囲,"<=2007/2/28",集計範囲)-SUMIF(範囲,"<=2007/1/31",集計範囲)
841名無しさん@そうだ選挙にいこう:2007/11/11(日) 21:59:40
>曜日を自動的に入力

A列に日付、B列に曜日が入っているとすると、
B1を、=A1 とし、書式設定をユーザー定義で aaa とすればいい。
ただ、A列の日付は、西暦から入力しないといけない。
もし、「〜日」としか表示させたくないのなら、 d"日" とすればいい。
表示を全角にしたかったら、[DBnum3]d"日" にする。
842837:2007/11/11(日) 22:08:47
>>838 >>840
ありがとうございます。
ご指摘のSUMIFでできました。
843名無しさん@そうだ選挙にいこう:2007/11/11(日) 22:09:31
841ありがとうございます

ただ 西暦入れずにすでに入力してしまったんです
今から訂正するにはどうしたら良いでしょうか?
844名無しさん@そうだ選挙にいこう:2007/11/11(日) 22:17:06
>>843
日付セルをクリックした時に数式バーに西暦が正しく表示されれば
表示形式を変更すればOkではないかと思います
845名無しさん@そうだ選挙にいこう:2007/11/11(日) 22:25:04
>>843
一番上のセルだけちゃんと入力して、
あとはオートフィルしちゃえばいいんじゃない?

日付が連続していないなら面倒な作業になるけど。
846828:2007/11/11(日) 23:21:12
回答ありがとうございました。
お礼に時間がかかって申し訳ありません
試行錯誤してました
>>830さんの方法でできました!
>>829さんのやり方は自分には高度のようで上手くできませんでした(´・ω・`)
ヒントとして、もうちょっと勉強してみます!
847名無しさん@そうだ選挙にいこう:2007/11/11(日) 23:31:34
>>839
B1からE2に数字が、A1、A2に曜日が入っているとしてMsgboxで
最大値が入っている曜日を表示します。
例えば最大値は

Sub saidaichinoyoubi()
  Dim i As Integer
  Dim j As Integer
  Dim Maxcell As Range
  i = Application.WorksheetFunction.Max(Range("B1:E2"))
  Set Maxcell = Range("B1:E2").Find(what:=i, LookIn:=xlValues)
  If Maxcell Is Nothing Then
    MsgBox "見つからないですね〜。"
  Else
    j = Maxcell.Row
    MsgBox Cells(j, 1).Value
  End If
End Sub
848名無しさん@そうだ選挙にいこう:2007/11/11(日) 23:50:05
>>847さん、その他曜日設定の質問に答えて頂いた方ありがとうございます。

曜日設定は上手くいったのですが、最大値検索にはVBAの入力がいるんですね
大昔に習った経験ありますが、ほとんど覚えていません・・・
初歩ばかりの質問して申し訳ございません
普通にこのVBAをコピーして、セルに貼り付ければよろしいのでしょうか?
849名無しさん@そうだ選挙にいこう:2007/11/12(月) 00:22:48
時系列データを扱っていまして、それぞれの列には年、月、日、時間、分、秒のデータが数値データとして入っています。
これを結合して日付・時間のデータにしようと思い、
=""&A6&"/"&B6&"/"&C6&" "&D6&":"&E6
という式を書きました。たとえば「2007/11/11 23:50:00」というフォーマットになります。
ここで、書式を日付のフォーマットに指定したのですが、どうやら文字列として認識されたままのようで、
日付として扱うことができません。
セルをコピーして、「形式を指定して貼り付け(値)」としてから、日付のフォーマット指定してもダメでした。
(たとえば、24時間表示をam/pm表示に使用としても変わらない。)

日付・時刻の各要素(年、月、日、時間、分、秒)が別々のセルに入っていて、
これを使って日付・時刻として認識されるデータを作る場合、どのようにすればいいのでしょうか?
850849:2007/11/12(月) 00:27:07
バックグラウンドは以下の通りです。

【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
851名無しさん@そうだ選挙にいこう:2007/11/12(月) 00:28:47
>>849
DATEVALUEとTIMEVALUE
852名無しさん@そうだ選挙にいこう:2007/11/12(月) 00:31:05
>>848
最大値の検索だけならMax関数だけでいいと思います。

VBAのコードは標準モジュールに貼り付けてください。
[ツール]→[マクロ]→[Visual Basic Editor]でVBEを表示し(若しくはAlt+F11)
[挿入]→[標準モジュール]で標準モジュールを追加します。そこに貼り付けます。
マクロの実行は
[ツール]→[マクロ]→[マクロ](若しくはAlt+F8)で出てきたダイアログボックスで
プロシージャ名を選択し実行ボタンを押します。
853名無しさん@そうだ選挙にいこう:2007/11/12(月) 00:33:03
>>851
=DATEVALUE(文字列)+TIMEVALUE(文字列)
とすると解決しました。
どうもありがとうございましたm(_ _)m
854名無しさん@そうだ選挙にいこう:2007/11/12(月) 01:26:47
>>852ありがとうございます

実行をしてみて、範囲指定箇所を入力し直し最初一度だけメッセージボックスから日付の表示が出ましたが、
その後、範囲指定などを入れなおしてやり直したのですが、何故か見つかりません
メッセージばかり・・・

VBAだと使い方がわからない部分があるせいだと思いますが、最大値、最小値曜日を
表示させるたびに、範囲指定を変えなければいけないのでしょうか?

セルに関数を入れて(エクセル2000に用意されているもの)上手く、組み合わせたりして
その週の最大値、最小値のそれぞれの表示をさせたいのですが、可能でしょうか

深夜遅くつまらない質問ばかりですいません
855名無しさん@そうだ選挙にいこう:2007/11/12(月) 01:28:32
その週の最大値、最小値のそれぞれの曜日の表示

の間違いでした。すいません
856名無しさん@そうだ選挙にいこう:2007/11/12(月) 01:51:14
>>855
VLOOKUP
857名無しさん@そうだ選挙にいこう:2007/11/12(月) 02:17:52
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 印刷 図 差 mm

オートシェイプで指定したサイズを図を作成しても、
印刷すると、実際のサイズと違うサイズになってしまうのはどうすればよいですか?
プリンター:PIXUS MP970

例:縦横17cmの正方形を作成しプリントしたものを定規で測るとすると、
  15cm位になってしまう

858名無しさん@そうだ選挙にいこう:2007/11/12(月) 12:01:45
変数(kigen)をD13かD14の大きい方から選択。
D15と変数(kigen)を比べて、d15が大きい時にメッセージを出したいです。
以下の様に書いてみましたが、
実行時エラー6
オーバーフローしました・・・との事。
どうしたら良いでしょうか?

Sub test1()

Dim kigen As Integer

If Range("d14") >= Range("d13") Then
kigen = Range("d14")
Else
kigen = Range("d13")
End If

If Range("d15") > Range("kigen") Then
MsgBox ("注意!")
End If

End Sub
859名無しさん@そうだ選挙にいこう:2007/11/12(月) 12:25:44
>>858
integerに収まらない値だったんじゃね?

Dim kigen As Long
860名無しさん@そうだ選挙にいこう:2007/11/12(月) 12:27:04
kigen = Range("d14") じゃなくて
kigen ="d14"
こうしないとだめだろ
861858:2007/11/12(月) 13:18:13
解決しました。

Sub test1()

Dim kigen As Long

If Range("d14") >= Range("d13") Then
kigen = Range("d14")
Else
kigen = Range("d13")
End If


If Range("d15") > kigen Then

MsgBox ("注意!")

End If

End Sub
862名無しさん@そうだ選挙にいこう:2007/11/12(月) 14:55:20
ちょいと、質問なんですが、Excel2007で作成したオートシェイプの図形を印刷すると、一部分が印刷されず困っています。
Excel2003で印刷すると、その図形は印刷されるのですが、これは仕様でしょうか?
863名無しさん@そうだ選挙にいこう:2007/11/12(月) 15:12:41
>>828
オートフィルターのオプションじゃだめなの。
864名無しさん@そうだ選挙にいこう:2007/11/12(月) 15:34:47
質問なのですが
オートシェイプの図形なかにフローチャートでいう
ループの図形がありません。ループ図形はないんでしょうか?
865名無しさん@そうだ選挙にいこう:2007/11/12(月) 17:38:22
>>857
Excelの寸法指定はとてもいいかげんなので、自分で工夫する必要があります。
オートシェイプだけでなくセルの幅なども、印刷すると指定した寸法になってくれません。

自分のプリンターで印刷された物の寸法を調べ、その分大きく描くしかありません。

プリンターの設定で拡大できる場合もあります。その場合、
経験上110%ぐらいに拡大すれば、だいたい指定した寸法になってくれます。

もっと正確に図形を印刷する必要があるなら、CADソフトを使った方がよいでしょう。
866名無しさん@そうだ選挙にいこう:2007/11/12(月) 17:42:21
>>858
>Dim kigen As Integer
Integerに収まるのは1989/9/16まで
LongかDateに変更

>If Range("d15") > Range("kigen") Then
If Range("d15") > kigen Thenに変更
867名無しさん@そうだ選挙にいこう:2007/11/12(月) 17:43:58
>>864
ありません。直線を並べて作ってください。
グループ化して登録しておくとよいでしょう。
868名無しさん@そうだ選挙にいこう:2007/11/12(月) 18:29:05
Sub test1()
  If Range("d15") > Range("d14") Or Range("d15") > Range("d13") Then MsgBox "注意!"
End Sub
869名無しさん@そうだ選挙にいこう:2007/11/12(月) 20:02:16
指定のセルでEnterするとフォームで作成したボタンに移動させる方法ってありますか?
870名無しさん@そうだ選挙にいこう:2007/11/12(月) 20:09:44
パレート図を書く途中でどうしても
両端の棒グラフが半分の幅になってしまうのですが・・・なぜでしょうか。
ttp://sylphys.ddo.jp/upld2nd/pc2/src/1194865743741.jpg
871名無しさん@そうだ選挙にいこう:2007/11/12(月) 22:34:14
ちょっとだけご教授を

数値入力のセルに、ある数値以上になったら
注意のコメントを出す書式ってどうするの?
872名無しさん@そうだ選挙にいこう:2007/11/12(月) 22:39:29
>>871
入力規則でぐぐれ
873名無しさん@そうだ選挙にいこう:2007/11/12(月) 22:40:58
>>871
入力規則
エラーメッセージで情報を選択

874名無しさん@そうだ選挙にいこう:2007/11/12(月) 22:51:12
サンキュウ
875名無しさん@そうだ選挙にいこう:2007/11/12(月) 22:58:20
あほな質問ばかりだな
876名無しさん@そうだ選挙にいこう:2007/11/13(火) 02:40:31
誰でも最初は初心者だよ。あんたもね。
877名無しさん@そうだ選挙にいこう:2007/11/13(火) 05:42:38
878名無しさん@そうだ選挙にいこう:2007/11/13(火) 16:43:08
100   14
103   15
105   16
108   17
110   18
このように不連続な数字を
100   14
101   14
102   14
103   15
104   15
105   16
106   16
107   16
108   17
109   17
110   18
連続な数字に変換するにはどうやったらよいでしょうか?
879EXC:2007/11/13(火) 17:08:20
>>878
forecastはいかがですか?
880名無しさん@そうだ選挙にいこう:2007/11/13(火) 17:40:46
>>878
まずは手動でやってみな

ってか、説明くらいちゃんとやれ
説明もロクにでき無いような奴にやりかたなんて教えたくない
日本語通じるのかメッチャ不安だよ
881名無しさん@そうだ選挙にいこう:2007/11/13(火) 19:45:55
>>879
ありがとうございます。こんな便利な関数があるんですね。

>>880
これだけの説明でわかる人もいるけどお前にはわからないということは
どういうことかわかるか?
882名無しさん@そうだ選挙にいこう:2007/11/13(火) 19:51:28
足りないやつが偉そうにコメントできるのが2ちゃんのいいところ。
883名無しさん@そうだ選挙にいこう:2007/11/13(火) 19:53:26
セルに文字列を入力し、「Enter」キーで入力を確定するとセルカーソルはすぐ下のセルに移動します

住所録のように横に移動してデータを入力する場合は、これではちょっと不便です。横に移動しながらスイスイ入力できるコツを教えてください。

884名無しさん@そうだ選挙にいこう:2007/11/13(火) 20:17:51
>>883
横方向は[Tab]キーで移動すると楽かな。
それか[Enter]キーの移動方向自体を[ツール]-[オプション]で変えちゃうとか。
885名無しさん@そうだ選挙にいこう:2007/11/13(火) 20:20:32
>>883
オプション-詳細設定でカーソルの動く向きは選べるよ。
表の右端まで行ったら次の列の左端に動かすこともできる。
886名無しさん@そうだ選挙にいこう:2007/11/13(火) 21:07:52
>>881


887質問:2007/11/13(火) 21:21:34
下記例の様に、それぞれABC列にある動物を合体させて
D列にその結果を表示させたいです。
ただし、Cのように同じ動物が被った時には
D列に表示させるのは1匹だけです。
これをEXCELの関数を使って結果をD列に表示する
方法を、どなたか優しい人教えてください。
(説明分かりずらくてすいません。)

例@
  A列 B列 C列  D列
1行 馬  鳥     馬、鳥


例A
  A列 B列 C列  D列
1行    犬  馬  犬、馬


例B
  A列 B列 C列   D列
1行 馬  鳥  犬  馬、鳥、犬


例C  
  A列 B列 C列   D列
1行 馬  馬       馬
888名無しさん@そうだ選挙にいこう:2007/11/13(火) 21:37:02
>>887
VBA使ってもいい?
889名無しさん@そうだ選挙にいこう:2007/11/13(火) 21:58:16
>>888
いいよー
890名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:00:26
>>883
最初に入力したい範囲をまとめて選択する。横に1列、とか。
選択された状態で入力しEnterを押すと、選択範囲内で次のセルに勝手に移動する。
891質問:2007/11/13(火) 22:15:59
>>890
コメントありがとうございます。
できればVBAなしの方法教えていただきたいです。
892名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:22:50
>>887
俺の頭じゃこんな関数作る方法しか思い付かん。

Function animals(a, b, c)
If b = "" Then b = c: c = ""
If a = "" Then a = b: b = c: c = ""

If b = c Then c = ""
If a = c Then c = ""
If a = b Then b = c: c = ""

animals = a & "、" & b & "、" & c
If c = "" Then animals = a & "、" & b
If b = "" Then animals = a
If a = "" Then animals = ""
End Function
893名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:34:31
>>887
これは空白行が2つあった場合にはエラーになりますが
適当に直してください。

D1=IF(AND(A1=B1,A1=C1),A1,IF(A1="",B1 & "、" & C1,IF(B1="",A1 & "、" & C1,IF(C1="",A1 & "、" & B1,A1 & "、" & B1 & "、" & C1))))

としてオートフィル
894名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:35:34
空白行が2つあった場合→1行に空白セルが2つあった場合
に訂正
895名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:35:38
>>887
=IF(A1="","",A1)&IF(B1=A1,"",B1)&IF(OR(C1=B1,C1=A1),"",C1)
896名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:38:45
>>895
句読点が出てないよ
897名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:40:53
>>893
「馬 馬 空白」 が 「馬、馬」 になる
898名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:41:40
>>892
それならもうちょっと短縮できる

Function animals(a, b, c)
If b = "" Then b = c
If a = "" Then a = b: b = c

If a = c Or b = c Then c = ""
If a = b Then b = c: c = ""

If b <> "" Then b = "、" & b
If c <> "" Then c = "、" & c
animals = a & b & c
End Function
899名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:41:58
FileSystemObjectを使ってGetFolderでネットワークのパスを取得すると

\・・・\ のような文字化けを起こすのですが、どのように回避すればよいのでしょうか?
900名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:42:11
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 フィルタ

一つのシート内に複数の表を作って印刷したいのですが、
表の状態が

品目 価格 業者←タイトル1
aaaa 0000 zzzz
bbbb 0000 zzzz
cccc 0000 vvvv

品目 価格 業者←タイトル2
dddd 0000 vvvv
eeee 0000 zzzz

のようなときに、特定の列にフィルタをかけて表示させたい(業者zzzzのみなど)のですが、
オートフィルタにすると中のほうにあるタイトル2や空白行も消えて一つの表になってしまいます。
Ctrl+ドラッグで範囲を選択するとフィルタがかけられないというメッセージが出ます。

一つのシートの中の複数の表の形式を崩さないままフィルタをかけることはできるのでしょうか。
もしくは、任意に選択した複数のセルに条件付けしてフィルタをかけることはできるのでしょうか。
わかりづらくてすいませんが、よろしくお願いします。
901質問887:2007/11/13(火) 22:43:02
みなさんありがとうございます。
当方初心者のためできれば説明していただければ嬉しいです。

今からそれぞれの関数を確認してみたいと思います。
902名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:44:12
>>887
動物の名前は必ず漢字1文字?
903名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:46:51
>>898
適当になおして〜
904名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:49:56
>>887
すっごい冗長になるけど
D1=E1&IF(OR(E1="",F1=""),"","、")&F1&IF(OR(F1="",G1=""),"","、")&G1
E1=IF(A1="","",A1)
F1=IF(OR(A1=B1,B1=""),"",B1)
G1=IF(OR(A1=C1,B1=C1,C1=""),"",C1)
905質問887:2007/11/13(火) 22:50:04
>>902
質問では1文字になっておりますが、
2文字以上の名前でもできるようお願いします。
906名無しさん@そうだ選挙にいこう:2007/11/13(火) 22:53:01
>>905
どこか別の列を作業用に使ってもいい?
907名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:07:39
>>906
はいokです。

句読点はありませんが
>>895さんの関数を利用した所
上手くいきました。できれば簡単に説明していただけないでしょうか?

908895:2007/11/13(火) 23:13:08
=IF(A1="","",A1)
↑A1セルが空白の時、空白を返す。それ以外はA1セルの内容を返す。

&IF(B1=A1,"",B1)
↑B1セルとA1セルが同じ内容のとき、空白を返す。それ以外はB1セルの内容を返す。

&IF(OR(C1=B1,C1=A1),"",C1)
↑C1セルとB1セルが同じ内容のとき、あるいはC1セルとA1セルが同じ内容のとき、空白を返す。それ以外はry

でも作業列使えるなら>>904のがお勧め。
909名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:23:54
>>907
えー、句読点なくてもいいの?そこが一番難しくて、みんな苦労してんのに。
910質問887:2007/11/13(火) 23:30:24
>>908さん
分かり易い説明ありがとうございました。

>>909さん
私も句読点をつけるにはどうすれば良いか知りたくなりました。
色々ためしてみます。
答えが見つかった方どうぞ教えてください。
911名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:47:35
>>910
=IF(A1="","",A1)&IF(OR(A1="",B1=""),"","、")
&IF(OR(A1=B1,B1=""),"",B1)&IF(OR(B1="",C1=""),"","、")
&IF(OR(A1=C1,B1=C1,C1=""),"",C1)
912名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:49:49
作業列もうひと組つくって2つめ3つ目があるかないかで句読点の判断すればいいね
913名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:51:36
>>911
「馬 馬 空白」 が 「馬、馬、 」 になる
914名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:54:10
VBAでテキストボックスを使おうと思っていますが下記のやり方がわかりません。
どうか教えて頂けないでしょうか?

@複数テキストボックスがあり、入力後tabキーを使った時のカーソルが移動するテキストボックスの順番を指定したい
Aテキストボックスには4桁の文字列を入力したらEnter押さなくても次のテキストボックスにカーソルが移動するようにしたい

どうぞよろしくお願いします。
915名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:59:45
今度はどうだ!

=IF(A1="","",A1)&IF(OR(A1="",A1=B1,B1=""),"","、")&IF(OR(A1=B1,B1=""),"",B1)
&IF(OR(A1=B1,B1=C1,A1=C1,C1=""),"","、")&IF(OR(A1=C1,B1=C1,C1=""),"",C1)
916名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:02:34
>>915
「馬 馬 犬」が「馬馬、犬」になる
917名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:03:43
やったー、できたー!!!

=IF(OR(AND(A1="",B1=""),AND(A1="",C1=""),AND(B1="",C1="")),A1 & B1 & C1,
IF(OR(AND(A1=B1,OR(B1=C1,C1="")),AND(A1=C1,B1="")),A1,IF(AND(A1="",B1=C1),B1,
IF(OR(B1="",C1=""),A1 & "、" & B1 & C1,IF(OR(A1="",A1=B1),B1 & "、" & C1,
IF(AND(A1<>B1,B1<>C1,C1<>A1),A1 & "、" & B1 & "、" & C1,A1 & "、" & B1))))))

つ、疲れた…
918名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:07:02
>>914
1.フォームを選択→右クリック→タブオーダーで移動順にテキストボックスを並べる。
2.テキストボックスを選択→プロパティのAutoTabをTrueに設定。
  MaxLengthを「4」に設定。
919名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:12:32
>>918
おぉお〜う出来たっ!
ありがとう
920名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:18:12
>>917をちょっとだけ整理

=IF(OR(A1&B1="",A1&C1="",B1&C1=""),A1 & B1 & C1,IF(OR(AND(A1=B1,OR(B1=C1,C1="")),A1=B1&C1),A1,
IF(A1&B1=C1,B1,IF(OR(B1="",C1=""),A1 & "、" & B1 & C1,IF(OR(A1="",A1=B1),B1 & "、" & C1,
IF(AND(A1<>B1,B1<>C1,C1<>A1),A1 & "、" & B1 & "、" & C1,A1 & "、" & B1))))))

>>910
これでどうでしょう?改行は消して、ぜんぶ1行につなげてね。
921 ◆adhRKFl5jU :2007/11/14(水) 00:20:40
>887
=SUBSTITUTE(TRIM(A1&" "&REPT(B1,B1<>A1)&" "&REPT(C1,COUNTIF(A1:B1,C1)=0))," ","、")
922914:2007/11/14(水) 00:23:10
あとすみません。解決したらまたわからないことが出てきたのでお願いします。
同じくVBAのテキストボックスで入力している文字列を右クリックでコピーできないのですが
できるようにするにはどうすればよろしいのでしょうか?ctrl+cならできるんですが。。。
923名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:39:10
>>922
出来ません。

VBAでそれっぽい動きをさせることならできるけど。
924名無しさん@そうだ選挙にいこう:2007/11/14(水) 01:03:06

【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使える
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vlookup 2つ 変数 行 列 マクロ

以下のような表があったとして、列と行の文字(または数字)をそれぞれ指定し、
交差するセルの値を返す関数、もしくはマクロはありますでしょうか。
縦に並ぶ1-4, A-D: エクセル固有の列及び行を指定している記号です。
月-木、横に並ぶ1-3、いろは...ち: セル内に入力した記号です。
具体的には、関数X(1, 月)なら "い" を返し、 関数X(3, 木)なら "ち"、
関数X(3, 火)なら "え"を返すといった具合にしたいのです。ご教示願えませんでしょうか。
(Vlookupだと、行を変数を用い検索、列は固定値となっているため、実現できませんでした。)

A B C D
1 1 2 3
2 月 い ろ は
3 火 に お え
4 水 ど ど ど
5 木 ど ど ち
925924:2007/11/14(水) 01:07:33
すみません、図表がうまく再現できませんでしたので以下参照下さい。

http://2sen.dip.jp:81/cgi-bin/upgun/up1/source/up9974.png
926名無しさん@そうだ選挙にいこう:2007/11/14(水) 01:13:59
>>924
INDEX
927914:2007/11/14(水) 01:16:07
>>923
そうなんですか、、、あきらめます。
ありがとお
928名無しさん@そうだ選挙にいこう:2007/11/14(水) 01:28:00
>>924
なぜVLOOKUPではだめなのか、今ひとつ理解できないのだが…

目的の関数X(a,b)は、
=VLOOKUP(b,A2:D5,a)
と書けば同じ結果になるのだが。
aもbも、どちらも変数(セル番号)を入れることができる。
929928:2007/11/14(水) 01:29:32
間違えた。1足すの忘れてた。

=VLOOKUP(b,A2:D5,a+1)
             ~~
930名無しさん@そうだ選挙にいこう:2007/11/14(水) 07:55:08
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか】 使えない
【4 VBAでの回答の可否】 可
【5 検索キーワード】関数・エクセル・非表示

会社で台帳をエクセルで管理してますが、かなり重くなってしまって・・・
シート@・・・社内データをダウンロードし、そのまま貼り付け管理する台帳
シートA・・・各種帳票
シートB・・・作業用シート
シート@は管理対象者を下段へそのまま貼り付け積み重ね管理する台帳、1名1行で管理してます。
シート@の台帳が入力されると、シートBの作業用の関数で計算し、帳票他へ反映されるようにしてます。
シートBの関数を、今後の台帳入力も考え1000行(100列程)も作ってしまい それが重い原因かなぁと。
現在台帳へ入力されている行150行以下はエラー値他が表示されています。

例えばシート@へ10行入力があったのならば、シートBへ上行の関数がそのまま10行分入るというような方法があれば教えてください。

あと、シート@の台帳へ 管理終了対象者へは色を付け非表示にしております。
現在目視で行を選び非表示にしていますが、ボタンを設置、色つき行の表示/非表示の切り替えをしたいのですがこちらの方法も教えていただけると助かります。
よろしくお願いします。
931名無しさん@そうだ選挙にいこう:2007/11/14(水) 09:33:33
>>930
VBA使わないと無理
コード書いて欲しいならそのブックをうpしないと無理

というわけで、ブック出せるならうp
出せないなら、さようなら
932名無しさん@そうだ選挙にいこう:2007/11/14(水) 18:17:37
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか】 使えない
【4 VBAでの回答の可否】 否
【5 検索キーワード】Excel 標準 書式 表示形式 ツールバー ボタン

自己解決した
933バニー:2007/11/14(水) 20:00:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 『EXCEL 一括削除』 『カタカナ 一括削除』

シート内のカタカナをすべて削除したいのですが
何か方法はありませんか?
尚、置換えする方法もあるかと思いますがワードが
多すぎて対処できません。(50音すべて必要)
どなたかよろしくお願い致します。
934名無しさん@そうだ選挙にいこう:2007/11/14(水) 20:30:58
>>933
正規表現を使いましょう。

参考
ttp://officetanaka.net/excel/vba/tips/tips38.htm
935名無しさん@そうだ選挙にいこう:2007/11/14(水) 21:19:21
すみません。教えて下さい。
2002でA3横の表を作って、印刷プレビューで見たら
1ページに全項目を納めることができたんですけど、その
ファイルを2003で開くと、ページ設定、余白、フォン
トサイズを同じにしているのにも係わらず、一番右の項目
だけがはみ出てしまうんです。改ページプレビューで調節
すれば拡大/縮小が98%(2002は100%)になって
納めることができるんですけど、これって2002と20
03でずれがあるってことなんでしょうか?
よろしくご教示願います。
936名無しさん@そうだ選挙にいこう:2007/11/14(水) 21:21:57
>>935
プリンターが違うというオチでは?
937名無しさん@そうだ選挙にいこう:2007/11/14(水) 21:37:13
>>935
プリンターの設定が違うというオチでは?
938名無しさん@そうだ選挙にいこう:2007/11/14(水) 21:40:52
>>936
935です。その通りみたいで、プリンタのプロパティ
いじってたら全項目収まりました。お騒がせしました。
939名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:54:43
| A | B | C | 平均 |
├──┼──┼──┼───┤
| 120 | 150|   |135  |

このように(A+B+C)/3 のような平均値を出したいのですが
Cが空欄のときの計算式を教えてください
940名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:57:58
bookの保存の時、デフォルトでの名前がbook1.xlsですが、
WORDのように、先頭行の値が名前になるようなマクロやアドイン?ないでしょうか?
941名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:57:59
=AVERAGE(A2:B2)
942名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:59:29
>>941
ありがとうございました。
943名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:59:40
>939 これかな?
=sum(a:c)/counta(a:c)

944名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:02:32
>>926

ありがとうございました!
945名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:03:56
>>939
Cが空欄の時は無視したいの? =(A+B)/2
それとも0とみなすの? =(A+B)/3
946名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:04:32
>>943
ありがとうございます。
941で解決できました
947名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:06:37
簡単な問題だとレス早いし多いなw
948名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:26:05
自分含めそういうレベルの回答者が多いってことだ
949887:2007/11/15(木) 00:31:09
>>887です
みなさん沢山のコメントありがとうございます。
もう1つ質問があります。
>>887を関数のif exactを使用して結果を求める方法はないでしょうか?
※それ以外の関数も一緒に使用してもかまいません。
950名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:38:17
>>949
>>921の式の中にセルを比較してる部分が1ヶ所あるから、その部分をEXACTに置き換えても
結果は同じになるけど、あんまり意味がないというか必要性が感じられない。

学校の宿題?
951 ◆adhRKFl5jU :2007/11/15(木) 01:12:49
>>949
なんで、その関数を使いたい見た目が長くなっちゃうけど

=SUBSTITUTE(TRIM(A1&" "&IF(EXACT(B1,A1),"",B1)&" "&IF(OR(EXACT(C1,A1),EXACT(C1,B1)),"",C1))," ","、")
952名無しさん@そうだ選挙にいこう:2007/11/15(木) 01:25:07
おまいらマルチ野郎に優しいな
953 ◆adhRKFl5jU :2007/11/15(木) 01:28:47
>>952
マルチなの? (・д・)
んじゃ、ここまで
954930:2007/11/15(木) 07:14:26
>>931さま
ご回答ありがとうございます

今日会社行って暇時間があったらうp出来るよう中身加工してみますです。
955名無しさん@そうだ選挙にいこう:2007/11/15(木) 08:52:16
エクセルで表作ってますが、いつも横軸のところにアルファベットでABとか出ていたのに急に数字で1、2、3とか出てきてしまい入ってた式も変になってしまいました。アルファベットに戻すにはどうしたらいいのでしょうか?申し訳ありませんがよろしくお願いします。
956名無しさん@そうだ選挙にいこう:2007/11/15(木) 10:45:09
alt+t -> o -> 全般 -> 「R1C1参照形式を使用する」のチェックを外す。

excel2007なら、左上のOfficeボタンから、execlのオプションで出来る。
957名無しさん@そうだ選挙にいこう:2007/11/15(木) 10:45:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

Excelでは、標準のセル背景色(”自動”の色)は
Windowsの配色設定の「ウインドウ」で指定した色を
使用するようになっているようですが、これをExcel独自に指定することはできませんか?

Windowsの画面のプロパティで、目にまぶしくない配色を設定し、
「ウインドウ」の項に濃いグレーを指定したのですが、
Excelのセル背景色までその色になってしまい、セルの背景色と罫線が「自動」の場合、
印刷したときに黒100%の罫線の箇所がグレーになってしまいます。

これを回避するために、セルの背景色はWindowsに追従せずに「白」に固定したいのですが、
設定する場所が判りません。よろしくお願いいたします。
958957:2007/11/15(木) 10:59:27
追記です。
黒のみで印刷する書類は、印刷プロパティの「白黒印刷」をチェックすることで、
罫線がグレーになる問題は回避できるのですが、カラーの書類の時に困っています。
罫線色の「自動」が「デフォルトセル背景色(ウインドウの色)」を使用しなければいいのですが・・・
959名無しさん@そうだ選挙にいこう:2007/11/15(木) 11:48:40
永遠の初心者「せんせー ◆adhRKFl5jU」が、名前消して再登場
どうせならトリップも消せばいいのに、どうしても自己主張したいらしい
どうせたいしたことは答えられないのにw
960名無しさん@そうだ選挙にいこう:2007/11/15(木) 11:53:37
>>957-958
再現できません。
当方の環境では罫線色の「自動」は「ウインドウの背景色」にかかわらず「ウインドウの文字色」で印刷されます。
とりあえずシートに白い背景画像を設定し、描画色に自動でない黒を設定するとかでどうですか?
961名無しさん@そうだ選挙にいこう:2007/11/15(木) 12:01:34
962名無しさん@そうだ選挙にいこう:2007/11/15(木) 12:06:19
>>960
すいません。解決しました。
罫線色の「自動」は「ツール->オプション->表示タブ」にある「枠線の色」に従属するようです。
通常は「自動(白)」のところにグレーを指定していたため、
印刷時にグレーになったようです。
「自動(白)」に戻したところ、100%スミ黒に戻りました。
ありがとうございました。
963名無しさん@そうだ選挙にいこう:2007/11/15(木) 14:33:02
Excel 2000 で ウィンドウをタスクバーに表示 のチェックをはずすと MDI 挙動に
なりますが、しばらくすると勝手にチェックが復活してしまいます。
結構頻繁なのですが、なにか原因わかるかたいらっしゃいませんでしょうか。

ひょっとしたら「ウィンドウをタスクバーに表示」に何かショットカットキーでも定義されているのかも
と思ってヘルプ検索したりぐぐったりしてみましたが情報なし_| ̄|○

環境: Windows 2K Pro(SP4) + Excel 2K(SP3)
964名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:12:55
956さん。
ありがとう!
助かりました。
会社のやつらには聞きたくなかったので、よかったです!
あなたはイイ人だ!
965名無しさん@そうだ選挙にいこう:2007/11/15(木) 19:34:09
会社の奴等に聞きたくないって…
966名無しさん@そうだ選挙にいこう:2007/11/15(木) 19:41:19
あれれ?目が変だ。「あなたは」と「イイ人だ」の間に
おぼろげながら「都合の」の字が、、、
967名無しさん@そうだ選挙にいこう:2007/11/15(木) 20:36:10
EXCEL2007を使っています。
計算式でマイナスなった場合、0もしくは非表示にする方法ありますか?
968名無しさん@そうだ選挙にいこう:2007/11/15(木) 20:49:06
>>967
どっちもできる。
とりあえず0か非表示か決めろ。
969名無しさん@そうだ選挙にいこう:2007/11/15(木) 20:53:34
>>968
0でお願いしますm(_ _)m
970名無しさん@そうだ選挙にいこう:2007/11/15(木) 20:59:57
>>969
元の式を、以下のようにMAX関数で囲む。

=MAX(0,元の式)
971名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:05:37
>>970
プラスでも0になってしまいました>Д<
972名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:12:15
>>970
ごめんなさい。excelが調子悪いのでチョット待って下さいm(_ _)m
973名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:12:53
>>971
ゼロとコンマは忘れずに入れた?
結果が本当にプラスになってるか確認してみ。
974名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:34:52
>>973
できました!
ありがとうございましたm(_ _)m

ここで質問する前に、設定をいろいろといじくちゃったんで、計算が反映しなくなってました>Д<(ブロックをクリックしてエンターしないと計算しない)
今は、その設定を直すのに必死です^^;
975名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:40:35
>>973
計算方法を手動にしてました^^;
お騒がせしてすみませんm(_ _)m
976名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:16:51
すみせん。
プログラムを教えて欲しいのですが、
Excelで入力されているIPアドレスを
頭以外、全て三桁で表すようにするにはどうすればいいのでしょうか?

例えば、
99.10.2.3 → 99.010.002.003
という風に変換したいです。
977名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:21:15
よろしくお願いします。
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル リスト 抽出

全く別の9つのエクセルファイルの表から特定の文字列を持つセルを行ごと抽出して
新たなリストを作りたいのです。
表の項目の並び順もそれぞれ違います。
(例:Aファイルは 製品名 型番 単価 数量 金額(全て手入力
Bファイルは 商品名 型式 @ 数量 税抜(関数使用)
Cファイルは請求書仕様)

特定の文字列はそれぞれのシートで表記が違います。
1.aaakasaa
2.ka445465
3.8uuu8kal
4.sjjjlaffd1
5.kajjj3033
上記のようなリストから、「ka」を含んだ文字列の行のみを抽出し、リストを作成することは出来るでしょうか。
978名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:28:33
フィルタ
979 ◆adhRKFl5jU :2007/11/16(金) 00:17:29
>>959
>永遠の初心者「せんせー ◆adhRKFl5jU」

気に入った。今度使わせてもらうよ。
980名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:39:33
うぜえな
981名無しさん@そうだ選挙にいこう:2007/11/16(金) 01:05:49
>>980
相手にするから悪い
相手にしなきゃ普通の回答者だ
982名無しさん@そうだ選挙にいこう
>>976
ソートできるようにしたいんかな?
とりあえず考えてみたけど、もっとうまい方法がありそうな希ガス。

=LEFT(A1,FIND(".",A1)-1)&"."&RIGHT("00"&MID(A1,FIND(".",A1)+1,FIND(".",A1,FIND(".",A1)+1)-FIND(".",A1)-1),3)&"."&
RIGHT("00"&MID(A1,FIND(".",A1,FIND(".",A1)+1)+1,FIND(".",A1,FIND(".",A1,FIND(".",A1)+1)+1)-FIND(".",A1,FIND(".",A1)+1)-1),3)&
"."&RIGHT("00"&RIGHT(A1,LEN(A1)-FIND(".",A1,FIND(".",A1,FIND(".",A1)+1)+1)),3)