Excel総合相談所 76

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

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

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

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

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

前スレ
Excel総合相談所 75
http://pc11.2ch.net/test/read.cgi/bsoft/1226470880/
2名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:07:45
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:08:22
★ルールを無視すると…
 >>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名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:09: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名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:09:36
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
6名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:10:14
   ||
   || ━ 質問のしかた ━
   ||
   || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
   || ★2 要望は具体例や図を使って明確かつ具体的にしる。
   || ★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
   || ★4 質問テンプレ(雛形)は必須ではないが、
   ||    OSやExcelのバージョン、VBAの可否などは必須情報。
   ||
   ||            ∧ ∧   。
   ||          ( ,,゚Д゚)/ ジュウヨウ!!      E[]ヨ
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| ________________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \    は〜〜〜〜い      /
    ∧ ∧    ∧,,∧   ∧ ∧
    ( ,, ∧▲  ミ  ∧ ∧ (  ∧ ∧
  〜(_(  ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
    @(_(,,・∀・)@ (   *)〜ミ_ (   ,,)
      @(___ノ 〜(___ノ    〜(___ノ

エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536
7名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:10:47
【 このスレの登場人物 】
┌─質問者───────────
どこにでもいるごく普通の初心者だったり
会社で上司に無理難題を押しつけられて困っている人だったりする。
たまに学生が宿題を持ち込んでくることも。
┌─回答者───────────
テンプレを使わないと無視したり、質問を小出しにするとキレたりするくせに
自分は回答を小出しにして優越感に浸りニヤニヤしている嫌なヤツ。
┌─自称回答者─────────
質問者を煽ったり、回答者を煽ったり、とにかくスレを引っかき回すだけで
何の役にも立たない賑やかし。単なるヒマ潰しでこのスレを見ている。
┌─VBA厨 ───────────
VBAは万能と信じ、どんな単純な問題もついVBAで解いてしまう。
Module1がデフォルトで挿入されている世界を夢見るが、いまだ実現していない。
その実態はほとんどが理系の(元)学生。ピボット厨に目の敵にされている。
┌─ピボット厨──────────
ピボットテーブルの機能が強力すぎるため、なんでもできると錯覚している。
口癖は「データを正規化して出直せ」「ピボッと参上ピボッと解決」など。
弱点は大嫌いなVBAを使わないとテーブルのリアルタイム更新ができないこと。
┌─啓蒙先生──────────
ピボット厨一派の過激派。Excelはピボットテーブルだけのためにあり、
それ以外の機能はワークシート関数すら不要と言い切る。ピボットテーブルで
解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。
┌─そのほか──────────
ワークシート関数厨……何重にも入れ子になった複雑怪奇な数式を作り出し、
関数だけでどんな問題も解いてしまう。たまに自分でも何をやっているか
わからなくなる。悩みは数式バーが1行しかないこと、頭が薄くなってきたこと。

配列数式厨……意外と使えるやつだが滅多に出てこない、というか出番がない。
極めてマイナーな存在。見かけたらその日はいいことがあるかも。

ナレーター……誰か知らない人。
8名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:37:35
マクロを途中で一時停止させるにはどうしたら良いのでしょうか?
お願いいたします。
9名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:40:35
中断ボタンを押すか、Ctrl+Break
毎回特定の場所で一時停止させたいならMsgBoxでも使え
10名無しさん@そうだ選挙にいこう:2008/12/07(日) 22:54:47
表を作るときに指数部分を揃える方法ってないでしょうか?
どうしてもE-02やE-01など混ざってしまいます
11名無しさん@そうだ選挙にいこう:2008/12/07(日) 23:13:07
>>8
F8押せば一行ずつ実行できる
ステップインとかでぐぐれ
12名無しさん@そうだ選挙にいこう:2008/12/08(月) 00:08:47
>>10
指数表示をやめればいいのでは?
13名無しさん@そうだ選挙にいこう:2008/12/08(月) 00:13:14
>>10
##0.0E+00
のように#を好きなだけつける
14名無しさん@そうだ選挙にいこう:2008/12/08(月) 03:30:29
>>12-13
ありがとうございます
15名無しさん@そうだ選挙にいこう:2008/12/08(月) 06:11:21
以前はPCにあったエクセルが消えてしまったんですが、復活させる方法はあるのでしょうか?
また、消えてたってことは自分で削除したってことですよね・・・?
16名無しさん@そうだ選挙にいこう:2008/12/08(月) 06:16:29
>>15
消えたってのはアンインストールされてるってこと?
デスクトップやスタートメニューにアイコンがないってこと?
具体的に書け

アンインストールされてるならインストールしなおすしかない
アイコンないだけならexeからショートカット作り直せばいいだけだからまた聞け
17名無しさん@そうだ選挙にいこう:2008/12/08(月) 07:31:16
>>15
ウィンドウズキー+R、ボックスに
excel.exe
と入れてok
起動すれば残ってる、起動しなければ残ってない
ディスクが残ってなければOOoでもいれとけ

18名無しさん@そうだ選挙にいこう:2008/12/08(月) 09:30:30
>>9

Ctrl+Break ってどうやるのですか?
Breakボタンってどれのことなのでしょうか?
19名無しさん@そうだ選挙にいこう:2008/12/08(月) 09:53:38
Sub 自動グラフ作成()

For i = 5 To 32 Step 3
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=distance!R18C1:R1009C1"
ActiveChart.SeriesCollection(1).Values = "=distance!R18C" & (i + 2) & ":R1009C" & (i + 2)
Next
End Sub


上記のように表の中の決められたセルからデータを取り出して自動的にグラフを作成してくれるマクロを作成したのですが、奇数個めのグラフは正常に生成されるのですが、偶数個めのグラフになぜか
x=
y=distance!$M$18:$M$1009
x=
y={1}
みたいな必要なグラフ以外に上記の2つのグラフを混じってしまいます。これってどこがおかしいのでしょうか?
どなたか助けて下さい。
お願いいたします。
20名無しさん@そうだ選挙にいこう:2008/12/08(月) 09:57:18
Excel VBAで有効数字ってどうやって指定するのでしょうか?

計算である有効数字以下全く計算しない設定にするにはどうしたら良いのでしょうか?
21名無しさん@そうだ選挙にいこう:2008/12/08(月) 09:58:59
>20

つRound
22名無しさん@そうだ選挙にいこう:2008/12/08(月) 10:12:46
>>21

小数点何桁以下の四捨五入とかではなく、有効数字で決める方法はないのでしょうか?

それと例えば24324342*453454353
みたいな計算があるとして、有効数字5桁目以下を全く計算せず四捨五入する
みたいな方法も教えて頂けないでしょうか?
お願いいたします。
2315:2008/12/08(月) 10:25:16
PCから>>15です
レス有難うございます
曖昧な書き方でごめんなさい
>>17の方法で出なかったので、ファイル名を指定して実行をしました
あったので開こうとしたら、「オブジェクト ライブラリ(vbean32.old)が見つからないか、または壊れています。
セットアップ プログラムを実行し、インストールし直して下さい。」と出て開けませんでした
ok押すと、「Miclosoft excelは現在のユーザー用にインストールされていません。セットアップを実行してアプリケーションを
インストールして下さい。」と出ました
ちなみに、数ヶ月前まで使えていたWordも開けませんでした
これも「Miclosoft wordは現在のユーザー用にインストールされていません。セットアップを実行してアプリケーションを
インストールして下さい。」出ました
これらは修復可能なんでしょうか?
OSはXPで、6年以上前に購入したPCで古いです
どうかよろしくお願いします;;
24名無しさん@そうだ選挙にいこう:2008/12/08(月) 10:43:57
マウスのダブルクリックを使わずにキーボードから、
選択セルを「編集モード」にするにはどうすればいいですか?
25名無しさん@そうだ選挙にいこう:2008/12/08(月) 10:52:02
F2
26名無しさん@そうだ選挙にいこう:2008/12/08(月) 10:53:35
>>25
ありがとうございます
27名無しさん@そうだ選挙にいこう:2008/12/08(月) 11:12:59
>22

つRound/Rounddown/Roundup
28名無しさん@そうだ選挙にいこう:2008/12/08(月) 12:51:35
>>22
値が必ず整数の場合
=ROUND(値,有効数字−値の文字数)
その他の場合は上式を工夫する
29名無しさん@そうだ選挙にいこう:2008/12/08(月) 13:17:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 空白セル 挿入

一行にある入力済みの複数のセルの任意のセル間に空白セルを挿入する際に、
マウスやメニュー操作等を用いず、キー操作だけ(なんかのキー+Tab等)で行う方法はありませんでしょうか?

例1:ここに空白セルを挿入したい
.    ↓
東京都|西新宿|1-1-1

     ↓↓↓

東京都|    |西新宿|1-1-1

例2:ここに空白セルを挿入したい
.           ↓
神奈川県|横浜市|1-1-1

             ↓↓↓

神奈川県|横浜市|    |1-1-1

よろしくお願いします。
30名無しさん@そうだ選挙にいこう:2008/12/08(月) 13:25:29
Alt i e i Enter
31名無しさん@そうだ選挙にいこう:2008/12/08(月) 13:35:33
>>30
早速にありがとうございます。
確かにできますね。
ただ手間としてはマウス右クリック→挿入とそれほど大差ないですね、、、
もっと手間の少ない入力方法があれば・・・思ったのですが、諦めますorz
ありがとうございました。
3218:2008/12/08(月) 13:47:21
何卒よろしくお願い致します。

33名無しさん@そうだ選挙にいこう:2008/12/08(月) 13:50:22
Dim i As Long

みたいに変数の型を定義しなかった場合どうなりますか?
何に定義されるのでしょうか?
34名無しさん@そうだ選挙にいこう:2008/12/08(月) 13:50:49
バリアント
35名無しさん@そうだ選挙にいこう:2008/12/08(月) 14:09:29
>>29
挿入だけ続けてやるなら Ctrl + Y が便利だけど
それじゃだめなのかな
3615:2008/12/08(月) 14:12:43
>>23について分かる方いませんか?
他スレで回答聞いた方がいいのでしょうかorz
37名無しさん@そうだ選挙にいこう:2008/12/08(月) 14:15:32
グラフについて教えて欲しいのです
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ・まったく
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel総合相談所

普通の棒グラフなのですが、棒の色を半透明というか透過とうか
そういうことってできませんか?

単純な成績のグラフで、実績と挙績の数字があって
実績のグラフの中を挙績のグラフで塗りつぶしていこうという目論見なのです
棒の重なりを100にして重ねることはできたのですが
このままだと挙績>実績になるとどこまでが実績かわからなくなってしまうので
挙績の棒を半透明みたいにスケレートンにしたいのです
よろしくお願いしたいのです
38名無しさん@そうだ選挙にいこう:2008/12/08(月) 14:25:35
>>36
OSクリーンインストールして出直してこい。スレ違い。
3915:2008/12/08(月) 14:31:11
>>38
すみません;;
ちなみに>>38の「vbaen32.olb」でした・・・
40名無しさん@そうだ選挙にいこう:2008/12/08(月) 14:38:13
>>32
キーボードの右上あたりに、押したことのないキーが並んでるでしょ。
よく探してごらん。BreakとかBRKとかいうのがあるはず。
41名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:01:30
>>37
手前側になる方のグラフを塗りつぶしなしにして半透明のオートシェイプを貼り付ける。

別の方法としては、Mac版Excel2004でグラフを作ってインポートする。
Mac版2004ではワンタッチでグラフを半透明に出来て、しかもそれをWin版2002や2003で読み込むと
ちゃんと半透明のまま表示される。
42名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:02:42
>>40
うひょおおおおおお
ありがとうございます。

できれば一時停止の仕方もありましたら教えて下さい。
何卒よろしくお願い致します。
43名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:13:36
Range(Cells(2108, 2), Cells(3108, 2)).Cut Destination:=Cells(13, 2)
を使ってあるワークシートから違うワークシートに決められたセルの内容をコピぺしたい場合には
どう記述したら良いですか?
44名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:15:23
【1 OSの種類         .】 WindowsXP HE
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

以下のような源泉徴収票摘要欄のデータが数百行あります。
(ひとつのセルです)

前職:鰍Qちゃんねる 給与654254 税10840 社保82380

ここから給与、税、社保それぞれ別なセルに金額のデータを取り出したいのです。
規則性があるといえば、給与でいえば、"給与" から " "の間の数字になります。
45名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:17:21
>>42
Ctrl+Breakで一時停止、F5で一時停止したところから再開
46名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:22:16
>>43
Destination:=Worksheets("Sheet2").Range("B13")
47名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:25:59
>>44
=MID(A1,FIND(" 給与",A1)+3,FIND(" ",A1,FIND(" 給与",A1)+1)-FIND(" 給与",A1)-3)
48名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:29:26
給与
=MID(A1,FIND(" 給与",A1)+3,FIND(" ",A1,FIND(" 給与",A1)+1)-FIND(" 給与",A1)-3)

=MID(A1,FIND(" 税",A1)+2,FIND(" ",A1,FIND(" 税",A1)+1)-FIND(" 税",A1)-2)
社保
=RIGHT(A1,LEN(A1)-FIND(" 社保",A1)-2)
49名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:39:47
社保=MID(A1,FIND(" 社保",A1)+3,9)
50名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:42:51
給与=MID(A1,FIND(" 給与")+3,FIND(" 税",A1)-FIND(" 給与",A1)-3)
税  =MID(A1,FIND(" 税")+3,FIND(" 社保",A1)-FIND(" 税",A1)-2)
5144:2008/12/08(月) 15:43:04
>>47-48
感謝感謝です。
52名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:44:05
>>46

ありがとうございます。

開いている全てのワークブックからそのファイル名と決められた位置のセルの内容を
A1にファイル名、A2:A1001にデータ
B1にファイル名、B2:B1001にデータ
・・・
みたいな感じで、複数のファイルからの内容を一つのワークシートにまとめるような
マクロを作りたいのですが、どうすれば良いのでしょうか?
For eachだとうまく作れないのですが、どうすれば良いのでしょうか?
53名無しさん@そうだ選挙にいこう:2008/12/08(月) 15:59:04
>>52
こんな感じでできるはずだけど
Sub Sample1()
  c = 1
  For Each W In Workbooks
    Cells(1, c) = W.Name
    c = c + 1
  Next
End Sub
54名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:08:26
【1 OSの種類         .】 WindowsXP HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中・初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

BookAにはシートが50個あります。BookBはデータ処理し数値抽出用。BookCは真っ白。

BookAのシート1のデータをコピー(全抽出)してBookBに貼り付け、抽出されたデータをBookCに貼り付け。
次にBookAのシート2のデータをコピー(全抽出)してBookBに貼り付け、抽出されたデータをBookCに貼り付け(BookAシート1の時の下の段に)
次にBookAのシート3を・・・ 
というふうに自動でできるようにしたいのですが、どのようにマクロやVBAを使えばいいでしょうか?
例や使うべき命令などを教えていただけないでしょうか?よろしくお願いします
55名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:11:44
BookBを何に使ってるのかよくわからない
56名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:14:45
>>55
すみません。
BookBはBookAからコピーしてきた数値に特定の数値を足したり引いたりしているBookです
57名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:35:56
>>56
コピペには色々な方法があるけど、見た目でわかりやすいのはこう。
ブック名、シート名、範囲と、貼り付け先をこんなふうに書く。

Sub セル内容の一括コピー()
  Workbooks("BookA").Worksheets("Sheet1").Range("A1:C100").Copy  'コピー
  Workbooks("BookB").Worksheets("Sheet1").Range("A1").PasteSpecial  '貼り付け
End Sub
58名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:44:23
>>54
ワークシートは名称で指定するのが普通だけど左から何番目かで指定することもできるから
for i = 1 to Worksheets.Count 〜nextとか使って
Worksheet(i)の望みの範囲をコピー貼り付けすればいいんじゃないの
59名無しさん@そうだ選挙にいこう:2008/12/08(月) 17:49:14
>>56です
>>57-58
ありがとうございます!とりかかってみます!
60名無しさん@そうだ選挙にいこう:2008/12/08(月) 18:29:37
>>53

うおおお、できましたありがとうございます。

あと2つよろしいでしょうか?
いま001.xls、002.xls、003.xls・・・というファイルの中にそれぞれ001、002、003・・・というシートが入っているのですが、

Sub Sample1()
  c = 1
  For Each W In Workbooks
    Cells(1, c) = W.Name
    c = c + 1
  Next
End Sub
でファイル名ではなく、そこに入っているファイル名と同じシート名を抜き出すためにはどうしたら良いのでしょうか?

それと、001.xls、002.xls、003.xls・・・というファイルの中の001、002、003・・・というシートから
それぞれ同じ箇所のセルからデータを抜き出したいのですが、
Destination:=Worksheets("Sheet2").Range("B13")
というのにどう書き加えれば良いのでしょうか?
何卒よろしくお願い致します。
61名無しさん@そうだ選挙にいこう:2008/12/08(月) 18:41:44
>>53
質問者じゃないんだけれどこのWって何なの?
何の定義もせずに使えるものなの?
6260:2008/12/08(月) 18:50:51
Sub Sample1()
c = 2
For Each W In Workbooks
For Each ws In Worksheets
Cells(12, c) = ws.Name
Range(Cells(2108, c), Cells(3108, c)) = ws.Range(Cells(2108, 2), Cells(3108, 2))
c = c + 1
Next
Next
End Sub


これでうまくいくと思ったのですが、
Range(Cells(2108, c), Cells(3108, c)) = ws.Range(Cells(2108, 2), Cells(3108, 2))
で定義エラーと出てくるのですが、なぜなのでしょうか?
63名無しさん@そうだ選挙にいこう:2008/12/08(月) 19:08:57
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows Vista Ultimate x64
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 折り返して全体を表示 ずれる 印刷

「折り返して全体を表示する」で複数行になっているセルを印刷プレビューや印刷をすると
下の行の文字がかなりの確率で印刷時切れてしまいます。
印刷前は文字が隠れたりはしないように適宜改行しているのにです

1.一セルの文字数は40字以上で減らすことは難しいです。
また、縮小表示も目視できずとり得ません。
その他にこれをなくすための改善策は2003ではありませんでしょうか?

とくに、
現状調べた中ではAlt+改行を繰り返すというのがありますが、
これをまくろでやることってできるんでしょうか。

2.Excel2007以降では改善されているのでしょうか。
64名無しさん@そうだ選挙にいこう:2008/12/08(月) 19:37:34
>>61
変数宣言は一応省略もできるけども、しないといろいろ困るよね

>>63
Chr(10)が改行に当たる文字コードだからこれをマクロで挿入すればいいんだろうけど
Alt改行は好きな位置で改行が出来るというだけで、編集画面と印刷プレビューでずれる問題は
折り返して全体を表示の時と変わらないと思う

2007ではページレイアウトっていう新しい編集画面が出来たからこれでズレは防げるんじゃないかなあ
自分は2007あんまり使ってないから断言できない、ごめん
6562:2008/12/08(月) 19:39:56
どうしてもうまくいきません。

どうすれば良いのでしょうか?

どなたか何卒よろしくお願い致します。
66名無しさん@そうだ選挙にいこう:2008/12/08(月) 19:57:38
つーか、また計算ソフトで文書作成してる頭の弱い子ですか...
67名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:00:01
>>66

どういうことですか?
他に何か方法があるのですか?
6863:2008/12/08(月) 20:05:01
>>64
ありがとうございます

バージョンアップして解決できるならエクセル2007明日にでも買うんですが。。。

69名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:08:33
2007はやめといたほうがいいような・・
2003で作って2007で最終仕上げ+印刷だけするってならわからんでもないけど
70名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:15:43
>>65
やはり前スレのあなたでしたか・・・

>>68
2007のヘルプより

>印刷機能の向上
>[ページ レイアウト] ビュー
>Office Excel 2007 では、[標準] ビューと [改ページ プレビュー] ビューに加えて、
>[ページ レイアウト] ビューが用意されています。
>このビューを使用すると、印刷時の見栄えを確認しながらワークシートを作成できます。
>このビューでは、ページのヘッダー、フッター、および余白の設定をワークシート内で直接操作したり、
>グラフや図形などのオブジェクトを目的の位置に適切に配置できます。
>また、新しいユーザー インターフェイスである [ページ レイアウト] タブでは、
>すべてのページ設定オプションに簡単にアクセスでき、用紙の方向などのオプションをすばやく指定できます。
>各ページに印刷される内容を簡単に確認できるので、何度も印刷を試したり、
>印刷時にデータの欠損が生じたりするのを避けることができます。

まあ2003と2007は一応共存できるし・・・2007だけ使おうとすると最初かなりイライラさせられるかも
71名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:20:36
>>62
作業してるシートをアクティブにすれば動くかもね
72名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:34:10
>>61
VBAは変数を宣言しなければシステムが勝手にバリアント型の変数を作ってくれる。
Dim W As Valiant を省略したのと同じ動作になる。
人間が楽を出来るかわりにパフォーマンスやメモリの利用効率が落ちる。
厳密にやるなら Dim W As Workbook と宣言する。
73名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:40:08
>>71
もちろんアクティブにしているのですが、うまくいきません。
どなたか助けて下さい。
74名無しさん@そうだ選挙にいこう:2008/12/08(月) 20:54:26
>>62
シートを操作する時、どのブックの中のシートかをちゃんと書かないと常にアクティブワークブックが対象になってしまう。
For Each ws In Worksheets
          ↓
For Each ws In W.Worksheets
これをふまえて修正すると、こんな感じになる。ブック名と、各ブック内のシート名の一覧表を作るサンプル。
Sub Sample2()
  Dim W As Workbook
  Dim ws As Worksheet
  Dim r As Integer
  Dim c As Integer
  c = 1
  For Each W In Workbooks
    Cells(1, c) = W.Name
    r = 2
    For Each ws In W.Worksheets
      Cells(r, c) = ws.Name
      r = r + 1
    Next ws
    c = c + 1
  Next W
End Sub
ブック名を文字列変数に入れて拡張子を切り取ればいい。シート名を指定してコピーする方法は>>57
75名無しさん@そうだ選挙にいこう:2008/12/08(月) 21:04:07
>>21>>27>>28
君たち有効数字って知ってる?
76名無しさん@そうだ選挙にいこう:2008/12/08(月) 21:12:05
>>74
ありがとうございます。
でも実行してもうまくいかないのですが・・・

それと全てのシートの全てのデータを抜き出したいのではなく、
全てのシートの
Range(Cells(2108, 2), Cells(3108, 2)) に該当するデータだけを
Range(Cells(2108, c), Cells(3108, c))のセルにそれぞれ移したいのですが、
どうすれば良いのでしょうか?
For each だと範囲を指定できないのではないのでしょうか?

それと Next ws  Next W って初めて見たのですが、
これってどういう意味があるのでしょうか?
77名無しさん@そうだ選挙にいこう:2008/12/08(月) 21:29:38
7863:2008/12/08(月) 21:35:51
>>69>>70

ありがとうございます。
非常に悩ましいですが70さんの説明だといけそうですね。

しまった。。。

大学で印刷する予定なのでOffice2003と下位互換性があるかお聞きして良いでしょうか

それとも1シート毎PDFで保存してPDFとして印刷すればよいのでしょうか。
79名無しさん@そうだ選挙にいこう:2008/12/08(月) 22:14:21
>>78
詳しい人出てこないから答えちゃうけど

97-2003形式のxlsファイルで保存すれば一応互換性は保たれる事になってる
でも細かいレイアウトとかに関してはちょっとわからない

2003でプレビューと行ったり来たりしながら調整していくか
2007で作って2003で最終確認してから持っていくか
2007で作ってPDF化するか、のどれかになるのでは
8076:2008/12/08(月) 23:51:24
うおおおおおおおおおおお
どなたかお願いしますよおおおおおおおおおおお
81名無しさん@そうだ選挙にいこう:2008/12/09(火) 00:10:30
>>80
Nextのあとに書くのは制御変数。なくても動くしバイナリの速度もサイズも変わらない。
バグよけのおまじない。
82名無しさん@そうだ選挙にいこう:2008/12/09(火) 00:54:15
そういえばNextの後ろに書くべきって遺体子がいたな。
83名無しさん@そうだ選挙にいこう:2008/12/09(火) 01:15:22
>>80
こうか?

Workbooks("BookA").Worksheets("Sheet1").Activate: Range(Cells(2108, 2), Cells(3108, 2)).Copy
Workbooks("BookB").Worksheets("Sheet1").Activate: Range(Cells(2108, c), Cells(3108, c)).PasteSpecial

シート名を指定する"Sheet1"ってのは単なる文字列だから好きに変えればいい。
84名無しさん@そうだ選挙にいこう:2008/12/09(火) 02:14:46
>>80
>>62
Sub Sample1()
dim W as workbook
dim ows as worksheet
dim ws as worksheet
dim c as integer
set ows = activesheet
c = 2
For Each W In Workbooks
For Each ws In W.Worksheets
ows.Cells(12, c).value = ws.Name
Range(ows.Cells(2108, c), ows.Cells(3108, c)).value = Range(ws.Cells(2108, 2), ws.Cells(3108, 2)).value
c = c + 1
Next
Next
End Sub

かな。試してないけど。activate はしなくてもできるはず
省略なんて、省略するとどういう動作をするのかをちゃんと把握してからやるもんだ
85名無しさん@そうだ選挙にいこう:2008/12/09(火) 09:51:28
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 メール エクセル 背景色が変わる

メールにてエクセルの表を添付し送ってもらうと送信者の意図しない
背景色に勝手に変わって表示されてしまうのですが、
(背景色をなしで作成してメールを送ってもらうとこちらで開くと灰色に変わってたり)
この原因って何が考えられられますか?
分かる方教えて下さい。
8637:2008/12/09(火) 12:00:36
>>41
棒の数が100や200ではないのと
デイリーに毎日作るグラフであること、
会社のPCなのでMAC版も無理なので
あきらめることにします・・・
お返事ありがとうございました
87名無しさん@そうだ選挙にいこう:2008/12/09(火) 12:03:07
>>86
オートシェイプの貼り付けは棒の本数に関係なく、1つのグラフに1回やるだけ
88名無しさん@そうだ選挙にいこう:2008/12/09(火) 12:13:34
>>86
作業列を作って、重なって見えなくなるときは作業列のデータを表示する
ttp://upload.jpn.ph/upload/img/u30793.png
89名無しさん@そうだ選挙にいこう:2008/12/09(火) 12:44:13
>>84
ありがとうございます。
うまくいきました。
それと自分自身ファイルからはデータを転送する必要がないので下記のような書き加えをしたのですが、
なぜかエラーが出てきます。これは一体どこがまずいのでしょうか?

Sub Sample1()
Dim W As Workbook
Dim ows As Worksheet
Dim ws As Worksheet
Dim c As Integer
Set ws1 = ThisWorkbook.ActiveSheet

Set ows = ActiveSheet

c = 2
For Each W In Workbooks
If W.Name <> ThisWorkbook.Name Then

For Each ws In W.Worksheets
ows.Cells(12, c).Value = ws.Name
Range(ows.Cells(13, c), ows.Cells(1013, c)).Value = Range(ws.Cells(2108, 2), ws.Cells(3108, 2)).Value
c = c + 1

End If

Next
Next
End Sub
90名無しさん@そうだ選挙にいこう:2008/12/09(火) 12:58:13
>>89
インデントちゃんと付けてる?End Ifを入れる場所がおかしいよ

Sub Sample1()
  Dim W As Workbook
  Dim ows As Worksheet, ws As Worksheet
  Dim c As Integer
  Set ws1 = ThisWorkbook.ActiveSheet
  Set ows = ActiveSheet
  c = 2
  For Each W In Workbooks
    If W.Name <> ThisWorkbook.Name Then
      For Each ws In W.Worksheets
        ows.Cells(12, c).Value = ws.Name
        Range(ows.Cells(13, c), ows.Cells(1013, c)).Value = Range(ws.Cells(2108, 2), ws.Cells(3108, 2)).Value
        c = c + 1
      Next ws
    End If
  Next W
End Sub
91名無しさん@そうだ選挙にいこう:2008/12/09(火) 13:14:08
>>90

ありがとうございます。
でも上記のものをコピペして使ってもまだ、自分自身のセルから
データを転送するようなのですが、
これはどうすれば良いのでしょうか?
92名無しさん@そうだ選挙にいこう:2008/12/09(火) 13:17:41
こうかな?
If W <> ThisWorkbook Then
93名無しさん@そうだ選挙にいこう:2008/12/09(火) 13:53:11
変な並びで作成されてしまった住所リストを普通のリストの形に並び替える方法がわかりません。

A1:100−0000 B1:100−0001 C1:201−3000
A2:住所ゴニョ01 B2:住所モニャ02  C2:住所ホニャ03
A3:社名ムニャ01 B3:社名モニョ02  C3:社名ヘニョ03
A4: 空 白 行
A5:次のデータ
    ・
    ・
のようになっており、非常に使いづらいのです。
しかも規則正しく並んでいるわけではなく、時々データが入っていなかったりします。
1レコード?分だけ飛び飛びで後から削除したような形です。
前任者に軽い怒りを覚えてます><

よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 リファレンスを見ながら格闘して負ける程度です
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル テーブル 並び替え

94名無しさん@そうだ選挙にいこう:2008/12/09(火) 14:00:40
>>93
質問者に軽い怒りを覚えてます
95名無しさん@そうだ選挙にいこう:2008/12/09(火) 14:12:16
>>>92

このメソッドには対応していません。というエラーが出るのですが・・・

なんなんでしょうか?
これは?
96名無しさん@そうだ選挙にいこう:2008/12/09(火) 14:24:12
>>93
オートフィルタで空白行以外
コピーして貼り付け
97名無しさん@そうだ選挙にいこう:2008/12/09(火) 14:29:50
>>93
4セル1組で並んでるなら
2列目の先頭から最後尾を1列目の最後尾の1セル後に挿入(もしくは貼付)
1レコードずつ横に並べたければこの後、別シートにでも関数で並べれば?
縦になってるやつを横にするのはROWやINDIRECTやOFFSETとか使ってやってる例が
過去スレとかにいっぱいある

>>94
激しくではないが同意

>>95
.Nameで比較して問題ないはず
デバッグで条件通りに動いているか見てみるべき
Ifとその下のForにブレークポイント置いてその条件の時に
処理を飛ばしているか確認してみるんだ
Ifの条件をウォッチ式に追加しておくと分かりやすい
9893:2008/12/09(火) 14:35:02
ごめんなさいよく解りませんでした。結局コピペするしかないって事ですね。ありがとうございました<><><><
9997:2008/12/09(火) 14:40:17
・・・前言撤回して少し訂正
>>94
激しく同意
100名無しさん@そうだ選挙にいこう:2008/12/09(火) 14:50:44
質問があります。
実験結果を散布図に表示したいのですが、点をグループごとに色分けしたいです。
「やろうとしていることは、Aグループに所属する点は赤色
Bグループに所属する点は青色」
というように色づけをして、あとはそれぞれの点を
x軸、y軸の値よりプロットするだけです。

形式は
「グループ,x,y」
という形のcsvファイルから読み込む予定です。
A,312,789,
B,546,111,
という感じです。

もしよろしければ、アドバイス頂けないでしょうか。よろしくお願いします。
10195:2008/12/09(火) 14:53:22
>>97
ありがとうございます。
マクロのおいてある場所が、現在開いているファイルではなく、002.xlsファイルにあったため、
うまくいっていないことが分かりました。
でも一応ブレークポイント、ウォッチ式についても教えて頂けないでしょうか?

それと
If W.Name <> ThisWorkbook.Name And W.Name <> "PERSONAL.XLS" Then

でPERSONAL.XLSを除外できないのはなぜなのでしょうか?
何卒よろしくお願い致します。
102名無しさん@そうだ選挙にいこう:2008/12/09(火) 15:09:21
Andでやるからだろ
そのマクロをPERSONAL.XLSに入れてる場合にしか引っかからないよ

ブレークポイント ttp://www.vba-world.com/breakpoint.html
ウォッチ ttp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_040_025.html
少しはヘルプやネットで検索しような・・・
103名無しさん@そうだ選挙にいこう:2008/12/09(火) 15:45:50
>>そのマクロをPERSONAL.XLSに入れてる場合にしか引っかからないよ

ではどうしたら良いのでしょうか?
皆目検討がつかないのですが・・
104名無しさん@そうだ選挙にいこう:2008/12/09(火) 15:50:33
And→Or
105名無しさん@そうだ選挙にいこう:2008/12/09(火) 16:13:58
motarouくんの応用力のなさはガチだな、、、
106名無しさん@そうだ選挙にいこう:2008/12/09(火) 16:48:22
>>104
orにするとW.Name <> ThisWorkbook.Nameの方も無効になってしまったのですが、
なんなんでしょうか?

107名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:01:07
使用ソフト:EXCEL2003

ハイパーリンクについて質問させてください。

1.セルにハイパーリンクを設定して、名前を定義したセルに飛ぶ。
2.オブジェクトにハイパーリンクを設定して、名前を定義したセルに飛ぶ。

はできたのですが、

3.セルにハイパーリンクを設定して、特定のオブジェクトに飛ぶ。
4.オブジェクトにハイパーリンクを設定してオブジェクトに飛ぶ。

3.4.は可能ですか?
できる場合、方法も教えていただけると助かります。

宜しくお願いいたします。

108名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:13:46
>>106
よく見たら<>だからAndで合ってるのかw
もしかして条件が足りないのでは?
これならどう?
If W.Name <> ThisWorkbook.Name And W.Name <> ows.Parent.Name And W.Name <> "PERSONAL.XLS" Then
109名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:15:51
【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルの中の文字とスペースを同時に何個か消したいのですが、
消したい文字は必ずセル入力の最初にありそのあとに全角スペースが
あります。文字数は一緒ですが文字は違う場合があります。例えば、

ABC 123456
ABC 2344567
ABC 44444
BBB 5568777

のようになっていて最初のアルファベット3文字だけ消して

123456
2344567
44444
5568777

というようにすることはできないのでしょうか?
宜しくお願い致します。
110109:2008/12/09(火) 17:19:24
>>109
× のようになっていて最初のアルファベット3文字だけ消して
○ のようになっていて最初のアルファベット3文字と全角スペースを消して
111名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:20:44
>>100
AとBのデータをきっちり分けないとだめ。
作業列に移してもいいし、ソートしてもいい。方法はいくつもあるから自分が一番簡単だと思う方法で。
たとえばこんなふうに。
A列=Aグループのx
B列=Aグループのy
C列=Bグループのx
D列=Bグループのy
112名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:21:58
>>109
最初の3文字を削るだけなら
=MID(A1,4,99)
113名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:23:23
>>110
アルファベット3文字と全角スペース1個、あわせて4文字を削るってことは5文字目以降を残すってことだから
=MID(A1,5,99)
114名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:27:57
>>103
抜き出したデータをまとめるブックがあるでしょ。そのブックにマクロを登録するんだよ。
VBEを起動して左側のツリーを見ると、モジュールがどのブックに属しているかがわかるから。
115名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:43:29
>>109
データ/区切り位置
ウイザードに沿っていけば簡単にできるよ
詳細はヘルプで確認してね
116名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:49:13
すいません、>>107ですが、テンプレ見落としてました。

【1 OSの種類         .】 Windows xp pro
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ハイパーリンク オブジェクト excel

宜しくお願いいたします。


ハイパーリンクについて質問させてください。

1.セルにハイパーリンクを設定して、名前を定義したセルに飛ぶ。
2.オブジェクトにハイパーリンクを設定して、名前を定義したセルに飛ぶ。

はできるのですが、

3.セルにハイパーリンクを設定して、特定のオブジェクトに飛ぶ。
4.オブジェクトにハイパーリンクを設定してオブジェクトに飛ぶ。

3、4は事はできますか?
できる場合、方法も教えていただけると助かります。

宜しくお願いいたします。
117名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:55:05
>>106
Orで出来ることはAndでもできる。

If foo<>"hoge"x And foo<>"hage" And foo<>"huga" Then
   '処理
End If

これをOrで書けば
If foo="hoge" Or foo="hage" Or foo<> "huga" Then

Else
   '処理
End If

となる。
Select Caseで書いた方がいいと思うが。
118名無しさん@そうだ選挙にいこう:2008/12/09(火) 17:57:19
すまん、最初の"hoge"の後ろのxはゴミだ。
119名無しさん@そうだ選挙にいこう:2008/12/09(火) 18:02:04
>>108
うおおおお、うまくいきました。
ows.Parent.Name And W.Name って何なんですか?

120名無しさん@そうだ選挙にいこう:2008/12/09(火) 18:03:17
>>116
ttp://www.kotaete-net.net/Default.aspx?pgid=14&qid=120459505264
解決にはなっていないが代案なら出てる
121名無しさん@そうだ選挙にいこう:2008/12/09(火) 18:05:45
>>108
ows.Parent.Name

ows(アクティブなシート)のParent(この場合はブック)のName(名前)
122121:2008/12/09(火) 18:08:06
安価ミスった
>>119
123109:2008/12/09(火) 18:37:36
>>112>>113>>115
できました、助かりました。ありがとうございました。
124名無しさん@そうだ選挙にいこう:2008/12/09(火) 18:43:29
>>121
うおおおおおおおおおありがとうございます。

もう一つよろしいでしょうか?
いまの状態だとこのマクロをPERSONAL.XLSにおいたままだと使うことができないのですが、
このマクロをどこのファイルにおいた状態であっても、開いているファイルに対して
このマクロが適用されるようにするにはどうしたら良いのでしょうか?
何卒よろしくお願い致します。
125121:2008/12/09(火) 18:55:47
>>124
PERSONAL.XLSに入れて試したか?
除外してる条件は
 マクロが入っているブック
 マクロを動かした時にアクティブになっているブック
 PERSONAL.XLS

つまり「マクロが入っているブック」が「PERSONAL.XLS」だった場合も同じ動きのはず
126名無しさん@そうだ選挙にいこう:2008/12/09(火) 19:29:43
>>>>>>>>>>>125555555555555

うひょおおおおおおおおおおおおおお
こりゃすげええええええええええええええ
ありがとうございます!!!!!!!!!
127名無しさん@そうだ選挙にいこう:2008/12/09(火) 19:42:58
↑バカがきっ、もう来なくていいよ
128名無しさん@そうだ選挙にいこう:2008/12/09(火) 20:16:57
結局全部人に考えてもらったな
12920:2008/12/09(火) 20:24:06
結局、有効数字の件はどうなったのでしょうか?

よろしくお願い致します。
130名無しさん@そうだ選挙にいこう:2008/12/09(火) 20:42:50
IDが出ない板でよかったね
131名無しさん@そうだ選挙にいこう:2008/12/09(火) 20:52:58
自分なりに有効数字の出し方を考えてみたのですが、
Function xxxxx(x)
xxxxx = WorksheetFunction.Round(Buffer, (3 - Int(Log(x))))
End Function




これってどこが間違えていますでしょうか?
132名無しさん@そうだ選挙にいこう:2008/12/09(火) 20:55:53
>>129
一発で有効数字を設定する方法はない。たとえばこういう式を使っていちいち変換する必要がある。
=ROUND(A1,4-INT(LOG(ABS(A1)))-1)
    .   ↑
これが有効数字の桁数。この場合は4。
133名無しさん@そうだ選挙にいこう:2008/12/09(火) 20:56:55
>>129 >>20
>>28、これじゃダメ?
134名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:01:43
>>131
変数Bufferが初期化されてないので常に0になる。
それだと負の数に対応できない。
135名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:02:55
>>133
質問者のレベルから判断して、「工夫する」の部分ができないと思われ
136名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:03:25
すいません、

Function xxxxx(x)
xxxxx = WorksheetFunction.Round(x, (3 - Int(Log(x))))
End Function
の間違えです。どこが間違えているのでしょうか?
137名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:08:18
>>136
それだとxがマイナスの時にエラーになる。
Log(x)の部分をLog(Abs(x))にする必要がある。
138名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:09:58
>>136
せめて
Function RoundX()
みたいな、もうちょっとマシな名前付けようよ
139名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:29:17
>135さん、なるほど分りました

>>129 >>20 これでどうぞ
A1に対象となる値があるとして(有効数字4の場合)
=ROUND(A1,4-ROUNDUP(LOG10(A1),0))
140名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:36:28
こうだな
=TEXT(A1,"0.000E+0")*1
141名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:43:26
>>137
すいません、負の数でなく正の数のときでもエラーが出るのですが・・・・
それと
>>139
Excel functionではなく、VBAでこれを行いたいのですが・・・

何卒よろしくお願い致します。
142名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:50:15
ここの回答者ってなんでこんなに有効数字のことに無知なの?
143名無しさん@そうだ選挙にいこう:2008/12/09(火) 21:54:57
グラフの凡例マーカーの色や形の一括変更や凡例をまるごとコピペってできませんよね?
一括変更や任意選択した凡例項目の変更をするためにはVBAでマクロ作らないとダメでしょうか?
144名無しさん@そうだ選挙にいこう:2008/12/09(火) 22:06:32
>>142
だったら、教えてくれよ、賢い解答を ( ´,_ゝ`)プッ
145名無しさん@そうだ選挙にいこう:2008/12/09(火) 22:07:55
>>142
そんなもん知る必要がまったくない
円周率を何桁まで言えるぜーとかと同レベル
まったく役に立たない金にもならない覚える必要なし
逆に教えて欲しかったら懇切丁寧に有効数字について解説してみろやクソガキ
146名無しさん@そうだ選挙にいこう:2008/12/09(火) 22:22:47
>>142が居なくなったジャマイカ・・・/(^o^)\ナンテコッタイ
147名無しさん@そうだ選挙にいこう:2008/12/09(火) 22:37:14
>>145
香ばしいな。
148名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:03:24
有効数字とかぐぐった方がよほど早くて正確で身になると思う
ここの回答者って実務以外にかなり弱いよなw








149名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:09:59
正解はわかるだろうけど身にはならないよね。ようするに質問者は答えを丸写しするんだから。
150名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:12:25
がんばって作ってみた。これでどう?
x=元の数、n=有効数字の桁数
Function RoundN(x, n)
  s = Sgn(x)
  x = Abs(x)
  j = 10 ^ (n - Int(Log(x) / Log(10)) - 1)
  RoundN = s * Int(x * j + 0.5) / j
End Function
151名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:16:56
質問者がExcelに直接関係ないVBAの有効数字型を作ってくれみたいな
丸投げで回答を求めてるようにしか見えないです
Roundなりで工夫して欲しいのです
152名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:17:20
>>149
自分で調べると、その情報の周りにある情報も見てしまう。それが非常に価値が高いらしい

例えばここで回答者に有効数字はxx桁、と言われるよりもwebで有効数字は云々〜と言われるほうが価値が高く、さらに辞書で有効数字の周りにある情報を見てしまうのが脳としては情報の価値が高いとか
眉唾
でも辞書で呼んだことはなかなか忘れないんだよなー
153名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:18:52
まぁ
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_050_06.html
有効数字一覧
データ型によるとしか
154名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:26:00
あきれたやつらだな。本当に有効数字知らないんだな。
>>150
つまらないプログラム組む前にまず有効数字をぐぐれ。
155名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:28:19
それで結局>>136のどこが間違えているのですか?
アルゴリズム的には間違えはないように思うのですが・・・
156名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:30:23
>>154
質問をよく読め
157名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:36:18
>>155
VBAのLog関数は底がeだから底が10の時の対数を求めるにはLog(x)/Log(10)としなきゃならない
158名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:38:35
>>155
VBAで作る前に、ワークシートにその式を入れて結果を見てごらん
159名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:39:04
>>156
>>20のことか?読んでるよ。
「ある有効数字以下の計算をしない」ことになんの意味があるんだと
思ってたところ、へんてこな回答がいっぱい出てきてびっくりしている。
160名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:41:58
>>159
意味とか…
おまえこそ有効数字の意味を調べて出直してこい
161名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:43:49
>>155
Function xxxxx(x)
  xxxxx = WorksheetFunction.Round(x, 3 - Int(Log(Abs(x))/Log(10)))
End Function
162名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:46:07
有効数字で計算することの意味も知らない>>159はまちがいなく中卒。
しかも実際は学校へ行ってなくて、お情けで卒業させてもらった。
163名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:48:01
>>161
ありがとうございます。
でも0のところで#VALUEというエラーが出るのですがどうにからないのでしょうか?
何卒よろしくお願い致します。
164名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:49:40
>>162
Excelで「ある有効数字以下の計算をしない」ことにどんな意味があるの?
165名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:50:23
>>163
Function xxxxx(x)
  If x <> 0 Then
    xxxxx = WorksheetFunction.Round(x, 3 - Int(Log(Abs(x)) / Log(10)))
  Else
    xxxxx = 0
  End If
End Function
166名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:50:26
さーせん。有効数字ネタに埋もれてしまったんですが、
設定かなんかで>>143が可能かどうかだけ教えてくれませんか?
無理そうなら今から徹夜でマクロ作らないといけないので。
167名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:52:59
おまいらやさしいな…
正解やヒントがこんだけ出てんのに、ロクに自分で考えようとしない>>20
有効数字の使い所も知らない中卒の相手なんかしなくていいよ…
168名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:53:26
>>164
計算スピードは速くすることです。
169名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:53:47
>>166
ごめん。質問の意味がよくわかんない
170名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:55:25
>>167
正解出てる?どこに?
>>168
例えば>>150みたいなの?
171名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:58:56
>>168
残念ながらコンピューターは二進数、人間は十進数と、扱う体系が違うので、
人間基準で有効数字を操作するとかえって計算が遅くなる
172名無しさん@そうだ選挙にいこう:2008/12/09(火) 23:59:07
>>152
の言うとおり薀蓄語ってるサイト探した方がいいと思う

有効数字って計算しても意味がない部分を切り捨てるとかどーたらこーたら〜って事でしょ
計算スピードが速くなるのは結果であって直接的には何の意味も無い
173名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:01:32
>>170
137でAbsを入れろとか、157で底はeだとか言ってるのに自分ではまったく修正してない
174名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:03:32
>>173
君ほんとに有効数字知ってるの?
175名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:07:04
>>140が一番シンプル
これをWorkSheetFunctionで呼び出せばいいんでね?
176名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:11:34
もう解決したみたいだから有効数字はNGワードでいいよね
177名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:11:56
>>175
例えば1と入れた時1.000にならないんだけど。
178名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:13:37
くだらない話してないで
おまえらもう寝ろよ。
179名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:24:32
何卒よろしくお願い致します。

をNGにすればいいのに・・・
ヘルプ見ないし調べないしエラーが発生するたびにしつこく連投してくるし
前スレからずーっと張り付いてるやつじゃないの
180名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:40:24
プロファイリング
中学校の理科の先生。40代。女性。
181名無しさん@そうだ選挙にいこう:2008/12/10(水) 00:56:03
>>177
文字列にするか書式にするか
182名無しさん@そうだ選挙にいこう:2008/12/10(水) 05:48:04
>>180
学生と思ってた。
183名無しさん@そうだ選挙にいこう:2008/12/10(水) 07:08:30
>>20
有効数字は、指定するモンじゃなく、
体系の中で、決まるもの。
従って、具体的な例がないと、
有効数字は、求められない。
184名無しさん@そうだ選挙にいこう:2008/12/10(水) 07:17:29
>>183
1行目から4行目までまったく意味がわからない。
185名無しさん@そうだ選挙にいこう:2008/12/10(水) 10:49:50
Excel2003において、見積書の明細(罫線と見出しだけの入っている表)を必要時に簡単に挿入したいのですが
CAD等である「ブロック挿入」のように、内容を固定させてすぐに組み込めるようにする方法はありませんでしょうか?

現状だと出来上がった見積書の明細の途中の部分に後から挿入する際、非常にめんどいです・・・
186名無しさん@そうだ選挙にいこう:2008/12/10(水) 10:58:20
CADとか使ったことないから「ブロック挿入」は知らんが
明細を「コピー」して「コピーしたセルの挿入」をするのとは何か違うのか?
187名無しさん@そうだ選挙にいこう:2008/12/10(水) 11:17:30
表の行数を増やしたいってこと?
行単位でのコピペや挿入は簡単にできるけど、もっと簡単にやりたいならマクロを登録だな
188名無しさん@そうだ選挙にいこう:2008/12/10(水) 11:58:45
>>185
まず何を何に対して、どのようにしたいのかを
大方の人に理解できるように
説明してください。
189名無しさん@そうだ選挙にいこう:2008/12/10(水) 12:54:27
>>183
知らない世界に首突っ込むな
ピントの外れた坊やは、おとなしくしてろ
190名無しさん@そうだ選挙にいこう:2008/12/10(水) 14:36:59
>>185
テンプレ100回嫁
191名無しさん@そうだ選挙にいこう:2008/12/10(水) 18:44:38
セルを選択して、セルの右下にカーソル?を宛てて、
下方向などに、びーっと伸ばす動作の事を何と呼ぶのですか?
ドラッグ?

数式などをコピーしたいときに、びーっと伸ばす動作です。
192名無しさん@そうだ選挙にいこう:2008/12/10(水) 18:52:48
>>191
オートフィル
193名無しさん@そうだ選挙にいこう:2008/12/10(水) 19:27:31
価格表を作っています。
2社で安い方を赤字にしたいのですが、どの関数を使えばいいのでしょうか?


A列   B列   C列
商品1 価格 価格
商品2 価格 価格


というような表です。



OS WindowsXP
Excelのバージョン Excel2002
VBAが使えるか いいえ
VBAでの回答 否
検索ワード
Excel 価格 比較表
194名無しさん@そうだ選挙にいこう:2008/12/10(水) 19:36:12
>>193
関数というか条件付き書式だね
195名無しさん@そうだ選挙にいこう:2008/12/10(水) 19:52:42
すみません、どなたかお願いします。
生徒のテストの点数一覧表を作っています。
それで、子供たちの取った点数の内で、満点の9割より低い点数の子のセルに、塗りつぶしで色が着くよう設定したいのです。

IF関数で、=IF(子供の点数セル<(満点のセル*0.9),子供の点数を塗りつぶし,子供の点数セルそのまま)

という感じで、数式はなんとかうまくいったのですが、"真"の部分、塗りつぶしの命令?の入力がよくわかりません。

私の説明が下手かもしれませんが、どなたかお願いします。
196名無しさん@そうだ選挙にいこう:2008/12/10(水) 19:58:04
条件付き書式
197名無しさん@そうだ選挙にいこう:2008/12/10(水) 20:08:19
>>194
ありがとうございます。
やってみたんですがうまく反応してくれません。
数式が =B2=MIN($B2,$C2)
とやってみました。
2つの値で小さい方を赤字にという指示はどうすればいいのでしょうか?
198名無しさん@そうだ選挙にいこう:2008/12/10(水) 20:08:23
>>196さん
ありがとうございます。
ちょっと試してみました、条件付き書式のほうが簡単そうですね!想像してた一覧表が作れそうです、頑張ってみます。
本当にありがとうございました(^-^)v
199名無しさん@そうだ選挙にいこう:2008/12/10(水) 20:27:16
>>197
試さないで書いちゃうけど2つ値で比較するだけなら
B2=B2<C2
C2=B2>C2
で良くない?
200名無しさん@そうだ選挙にいこう:2008/12/10(水) 20:31:55
>>197です。
お騒がせしました!
なんとか無事出来ました。
:を,にしてしまっていたので直したら反応してくれました!
本当にありがとうございました(´;ω;`)


>>199さん
ありがとうございます!
試してみます!
簡単なやり方があったんですね。
無知なもので恥ずかしいです。
201名無しさん@そうだ選挙にいこう:2008/12/10(水) 20:41:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル ヒストグラム N/A

#N/Aを含むデータを入力範囲としたヒストグラムを作りたいのですが、どうすれば良いのでしょうか?

同じデータから平均や標準偏差は
=average(if(isna(E2:E1000),"",E2:E1000))
=STDEVP(if(isna(E2:E1000),"",E2:E1000))
↑を入力後、Ctrl キーと Shift キーを押しながら Enter キーを押すと出来たのですが、ヒストグラムでは入力範囲で受け付けてくれず、【入力した参照が正しくないか、また必要な参照が入力されていません。】と表示されます。

よろしくお願いします。
202191:2008/12/10(水) 20:43:29
>>192 ありがとうございました。
203201:2008/12/10(水) 20:44:29
読んでみたら分かりにくいところがあったので追記します。
入力範囲で受け付けてくれずとは、平均や標準偏差だと{}(半角の?)が式の両側に出るのですが、それが出ないことです。
204名無しさん@そうだ選挙にいこう:2008/12/10(水) 22:06:17
B列とC列で小さい方に条件付き書式を適用する
=B2=MIN($B2,$C2)
205名無しさん@そうだ選挙にいこう:2008/12/10(水) 22:07:35
>>203
配列数式は使える関数と使えない関数がある。使えるかどうかはやってみないとわからない。
206名無しさん@そうだ選挙にいこう:2008/12/10(水) 22:51:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

A1・・・A1001にx軸の値が
B1・・・B1001にy軸の値が入っているとします。
このデータをグラフ化したのちに、ガウシアン関数y=a+b*exp(-(x-c)^2/d^2)に対してフィッティングを行い、それぞれの定数を算出及び、その算出されたグラフを上に乗せるということをしたいのですが、
Excel VBAを使ってどのようにすれば良いのでしょうか?

また、ピークが1本ではなく2本ある場合Multipeak Gaussian fittingというものでそれぞれのピークに対してフィッティングすることもできるそうなのですが、できればその方法についても教えて頂けないでしょうか?

自分でひな形くらい作って質問したいところですが、全くどうやって作れば良いのか検討もつかないのでどなたかよろしくお願い致します。
207名無しさん@そうだ選挙にいこう:2008/12/10(水) 23:14:20
>>206
無理
208名無しさん@そうだ選挙にいこう:2008/12/10(水) 23:15:48
>>206
数学板行ってその関数についてよく聞いてきた方がいいと思う
フィッティングのうまく行った度合いとかをどう判断するかとかもさ
209名無しさん@そうだ選挙にいこう:2008/12/10(水) 23:37:21
210名無しさん@そうだ選挙にいこう:2008/12/10(水) 23:44:51
>>206
教えてGooの方の回答No.2ちゃんと読んだか?
いいこと書いてあるぞ
211名無しさん@そうだ選挙にいこう:2008/12/11(木) 00:12:27
どれだけマルチしてんだよwwwwwww
212名無しさん@そうだ選挙にいこう:2008/12/11(木) 01:00:42
質問します
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィルタ 関数
棒グラフを作ったのですが棒の数が多かったものですから
元データをオートフィルタで絞込みますと見やすいグラフになりました
さてここからが質問なのですが
オートフィルタで何を選んだのかをグラフに(タイトルの横あたりに)表示したいのです
またVBAはよくわかりませんので何か関数での解決はできないでしょうか
調べている時にSUBTOTALという関数が上手くオートフィルタの抽出に対応してくれそうだったのですが
これを使ってできますか?

りんご|青森|100円
みかん|愛媛|40円
りんご|長野|90円
なし|鳥取|120円
ぶどう|長野|200円
みかん|和歌山|60円
こんなのがたくさんある中からりんごを抽出してグラフを作った時に
「果物:りんご」みたいに表示させたいのです
213名無しさん@そうだ選挙にいこう:2008/12/11(木) 03:40:38
そういう専用の機能があるのかもしれないけど・・・とりあえずマクロでなら出来そう・・・

sheet1のA列に果物の名称があってA列全体にオートフィルタが掛けてあるとして抽出条件を表示したいセルをD1としたとき

D1にツール→入力規則→リスト→元の値=$A:$Aと設定

VBAエディタを開いてsheet1の中に

Private Sub Worksheet_Change(ByVal Target As Range)

Range("A1").AutoFilter Field:=1, Criteria1:=Range("D1").Value

End Sub

と入れれば一応望みのことは可能・・・
A1はオートフィルターのボタンが表示されているセルなのでフィルタの範囲を変えた場合はここを変更して
予想外の動きをしてしまうときはモジュールにして任意で実行をしてもいいし・・・
214213:2008/12/11(木) 03:51:29
使うかどうかわからないけど一応マクロ修正してみた

Private Sub Worksheet_Change(ByVal Target As Range)
If targetcell = D1 Then
 If Range("D1").Value="" Then
Selection.AutoFilter Field:=1
Else Range("A1").AutoFilter Field:=1, Criteria1:=Range("D1").Value
End If
End If
End Sub
215名無しさん@そうだ選挙にいこう:2008/12/11(木) 10:03:09
○ B列に数値が入っている。

○ A列はB列を常に参照するようにしたい。(A1に「=B1」)

○ B列の任意のセルの数値を、同じ行の、C列に移したい。
この時、切り取って貼り付けをすると、この行のA列は、C列を参照してしまう。

ーーーーーーーーーーーー
A1に「=$B1」としてみても、「切り取って貼り付け」をすると、
A1は、[=$C1]となり、C列を参照してしまいます。

B列のセルの数値をC列に移す時に、切り取りでなく、コピーにして、
その後、B列の数値を削除すればよいのですが、
作業が2動作になります。もし、これより短い動作でする方法が
あったら知りたいのですが、ないですよね?
216206:2008/12/11(木) 10:06:55
ありがとうございます。
数学版で聞いてみます。
217名無しさん@そうだ選挙にいこう:2008/12/11(木) 10:17:47
>>215
=INDIRECT("B1")
218名無しさん@そうだ選挙にいこう:2008/12/11(木) 10:20:42
>>215
少しかぶるけど

=$B1の代わりに
=INDIRECT("B1")か=OFFSET(A1,0,1)を使えば
カットアンドペーストで参照先が動くことはない
219212:2008/12/11(木) 10:47:32
>>213-214
ありがとうございます
しかしうまくいきませんでした・・・
入力規則のリストから何を選んでも全データ行が非表示のように見えなくなってしまいます
当方マクロにはかなり疎いために操作を間違えているのかもしれません・・・

> VBAエディタを開いてsheet1の中に
とのことですがAlt+F11でVBAエディタを開いた時にデータ入力できそうな窓がなく
左側にあるツリー表示みたいなところのSheet1のところをダブルクリックしたのですが
そのマクロを貼り付ける場所はここで正しかったでしょうか?

またこのSheet1の各データはいわゆる単純な値ではなくて
よそのシート(データベース貼り付け用)から関数で引っ張ってきて
「りんご」や「青森」、「100円」と表示させているのですが
これがまずかったのでしょうか
(しかしコピーして値貼り付けにしても挙動は変わらずでした・・・)
220名無しさん@そうだ選挙にいこう:2008/12/11(木) 11:20:13
>>212
フィルタオプションを使えば?
221215:2008/12/11(木) 11:25:03
>>217-218
有難うございます!

A列は、A1を下方にドラッグして、数式を複製したいのですが、
INDIRECTではそれが出来なかったので、OFFSETを使う事にします。
222名無しさん@そうだ選挙にいこう:2008/12/11(木) 11:26:21
>>219
これはひどいな・・・
突っ込みどころ満載にもほどがある
1回も動かさずに貼ったんじゃね?

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$D$1" Then
  If Range("D1").Value = "" Then
   Selection.AutoFilter Field:=1
   ChartObjects("グラフ 1").Chart.ChartTitle.Text = "価格"
  Else
   Range("A1").AutoFilter Field:=1, Criteria1:=Target.Value
   ChartObjects("グラフ 1").Chart.ChartTitle.Text = "価格:" & Target
  End If
 End If
End Sub

バグ取りしてこんな感じでどうかと改造してみた
「グラフ 1」は実際のグラフ名に変えてくれ
ソース貼る場所はSheet1のところでOK
223名無しさん@そうだ選挙にいこう:2008/12/11(木) 11:54:18
少し修整
= "価格:" & Target

= "価格:" & Target.Value
224215:2008/12/11(木) 11:59:29
お世話になっております。
さっきの続きなのですが、

行方向は、日付となっており、
条件付き書式で、日曜と土曜日の行だけ背景色を青色にしています。

さきほどのOFFSET関数で、
B1を切り取り、C1へ貼り付けしても、
A1はB1を参照することができましたが、
土曜か日曜の場合、B1の背景色がなくなってしまいます。
欲を言えば、切り取る動作をしても、背景色をそのままにしたいのですが、
方法はありますでしょうか。
やっぱり、セルを切り取ってしまうなら、書式も必ず切り取ってしまって、無理でしょうかね。

コピーしてから削除すれば、背景色がなくならないので、これでもよいのですが、
少しでも単純な作業でする方法があれば、それにしたいので。
225名無しさん@そうだ選挙にいこう:2008/12/11(木) 13:06:24
なんでTargetを使わないでRange("D1")を使うんだろ。
226212:2008/12/11(木) 13:15:00
>>220
フィルタオプションについて調べてみましたが・・・
たしかにできそうな気がしましたがこれはちょっと複雑すぎます
後出し情報で申し訳ないのですが完成後社員に配布するものですので
ここまで複雑なものはNGです・・・大変申し訳ありません

>>222-223
すみません、書き換えてみたのですが今度はエラーが出ます
 実行時エラー'1004':
 'ChartObjects'メソッドは失敗しました: '_Worksheet'オブジェクト
と表示され、デバッグボタンを押すと8行目の
   ChartObjects("グラフ").Chart.ChartTitle.Text = "価格:" & Target.Value
が黄色く表示されます
マクロはさっぱりなので何がおかしいのかもわからず・・・
聞いてばかりですみませんがどこがおかしいのでしょうか
227名無しさん@そうだ選挙にいこう:2008/12/11(木) 13:48:19
>>226
ChartObjects("グラフ")

ChartObjects(1)
でもエラーになる?
これでいけるなら"グラフ"という名前が間違えてるんだろうが・・・
グラフが1つならこれでもいいかw
他にも自分で気になった部分を修整しとく

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D1")) Is Nothing Then Exit Sub
If Range("D1").Value = "" Then
Selection.AutoFilter Field:=1
ChartObjects(1).Chart.ChartTitle.Text = "価格"
Else
Range("A1").AutoFilter Field:=1, Criteria1:=Range("D1").Value
ChartObjects(1).Chart.ChartTitle.Text = "価格:" & Range("D1").Value
End If
End Sub
228212:2008/12/11(木) 14:18:07
ダメですねまったく同じエラー文章と8行目が黄色です・・・
ぶっちゃけグラフのほうには後でセルのリンク表示ができるので
オートフィルタで選んだ言葉がD1なりE1なりに出てくるだけでいいのですが

あとやっぱり元データとなる表をVLOOKUPだとかで作り上げてるのも問題なのでしょうか・・・
229名無しさん@そうだ選挙にいこう:2008/12/11(木) 14:23:22
>>228
グラフに出す必要はなかったのかw
ChartObjects〜
を2行とも削れば解決
230名無しさん@そうだ選挙にいこう:2008/12/11(木) 14:28:54
>>224
そこまで行くとマクロに頼るしかないな

例えばこんな感じに

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim rg As Range
 If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub
 For Each rg In Intersect(Target, Range("B:B")).Cells
  If Not rg.FormatConditions() Is Nothing Then
   rg.FormatConditions.Delete
  End If
  rg.FormatConditions.Add Type:=xlExpression, Formula1:= _
   "=OR(WEEKDAY($A$" & rg.Row & ")=1,WEEKDAY($A$" & rg.Row & ")=7)"
  rg.FormatConditions(1).Interior.ColorIndex = 8
 Next rg
End Sub

For Eachで分ける必要はなないかも知れんが念のため入れた
231212:2008/12/11(木) 16:01:16
ChartObjects〜を削ってもダメでしたが
なんとかマクロを使わずに作業列などの追加で自己解決いたしました
数々の人にご迷惑をかけ大変申し訳ありませんでした
232名無しさん@そうだ選挙にいこう:2008/12/11(木) 16:56:46
いえいえ! 
役にたってもらえてうれしいです(≧▽≦)
233名無しさん@そうだ選挙にいこう:2008/12/11(木) 17:05:31
お前は答えてないだろうが!
234名無しさん@そうだ選挙にいこう:2008/12/11(木) 17:26:47
Excelのソルバーのアルゴリズムについて教えて下さい。
これは変数にいろいろな値を代入することで、条件に合ったもっとも最適な値を探すというものですが、
これはモンテカルロを使っているのでしょうか?
詳細なアルゴリズムを教えて下さい。
よろしくお願い致します。
235名無しさん@そうだ選挙にいこう:2008/12/11(木) 18:10:48
>>234
ソルバーについてヘルプで調べたのか?
調べたならここにくるはずはないわけだが・・・
236名無しさん@そうだ選挙にいこう:2008/12/11(木) 19:05:10
エクセル2000
VBA勉強中

VBAでセルAD1(セル結合してます)をコピーして
他のエクセルファイルのセルBC1(セル結合してます)にペーストしたいのですが
セルの大きさが違うと言うエラーがでます
セルAD1の文だけコピーしてセルBCにペーストしたいのですが良い方法無いでしょうか?
解るかた教えてください、お願いします。
237名無しさん@そうだ選挙にいこう:2008/12/11(木) 19:25:34
range("〜").valueじゃなくてrange("〜").mergearea.valueとすると結合セルを指定できるよ
238名無しさん@そうだ選挙にいこう:2008/12/11(木) 19:31:55
〜の部分はセルアドレス(A1とかB2とか)を入れるんだよ
239名無しさん@そうだ選挙にいこう:2008/12/11(木) 19:35:52
>>235
はい、見てみました。
どこに書いてあるのでしょうか?
よろしくお願い致します。
240名無しさん@そうだ選挙にいこう:2008/12/11(木) 20:30:37
>>235
私も教えて下さい。
どうやってるのか興味がありまして。
241名無しさん@そうだ選挙にいこう:2008/12/11(木) 20:55:06
Excel2003の場合だけど
ヘルプを「ソルバー」で検索、「ソルバーについて」の項目を開くと使用しているアルゴリズムが書いてある
242名無しさん@そうだ選挙にいこう:2008/12/11(木) 21:06:54
>>236
もしセルの内容だけコピーできればいいんならコピペじゃなくて普通に代入すればいい
値の代入だけなら結合されてても関係ない
Range("BC")=Workbooks("Book1").WorkSheets("Sheet1").Range("AD1")
243名無しさん@そうだ選挙にいこう:2008/12/11(木) 21:47:22
>>241
Microsoft Excel のソルバー ツールでは、テキサス州オースティンのテキサス大学の Leon Lasdon 氏とクリーヴランド州立大学の Allan Waren 氏が開発した
GRG2 (Generalized Reduced Gradient) 非線形最適化コードが使用されています。

線形問題と整数問題では、Frontline Systems, Inc. の John Watson 氏と Dan Fylstra 氏が実装した、束縛変数を用いたシンプレックス法と分枝限定法が使用
されています。ソルバーが使用する内部解決プロセスの詳細については、以下の連絡先にお問い合わせください。

調べてみたのですが、非線形用と線形用と整数用の3種類があるということなのですか?
そしれぞれぞれのアルゴリズムが異なるということなのでしょうか?
それと最後の内部解決プロセスというのはいきなり出てきているのですが、
シンプレックス法と分枝限定法とどういう関係にあるのでしょうか?
よろしくお願い致します。
244名無しさん@そうだ選挙にいこう:2008/12/11(木) 21:56:10
以下の連絡先ってのに問い合わせたほうが確かな答えが返ってくると思う
ここに居るのは自己満足で回答する奴だけだから
そういう画一的で自分を出せない回答は誰もしたがらない
245名無しさん@そうだ選挙にいこう:2008/12/12(金) 06:05:27
したがらないっていうか「出来ない」だろうな。
数学板とかで聞いた方がいいと思う。
246>>236:2008/12/12(金) 06:50:37
>>237>>238>>242
どうもありがとうございます、色々解決出来そうです。
247名無しさん@そうだ選挙にいこう:2008/12/12(金) 07:18:00
SUMIFとか配列数式の時は威勢がいいくせにソルバーの話題には食いつき悪いなあ。
248名無しさん@そうだ選挙にいこう:2008/12/12(金) 08:21:45
ここをなんだと思ってるんだw
雑談したいなら余所に行けと
249名無しさん@そうだ選挙にいこう:2008/12/12(金) 10:53:54
じゃあ流れをぶった切って質問だ
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
棒グラフを作ったんだがひとつ表示に納得がいかない
実績と挙績とその進捗率の数字を使った集合縦棒とかいうシンプルなやつなんだが
進捗率の数字を挙績の棒のてっぺんに表示させたいんだ<挙績の値が普通に出せる位置に
もちろんひとつひとつドラッグで動かすことはできるんだが
できれば設定か何かで自動的にてっぺんに乗るようにしたいんだ
よろしく!
250名無しさん@そうだ選挙にいこう:2008/12/12(金) 11:17:17
おれなんか3、4年前は配列数式の回答がしたくて自分で質問して答えてたw
251名無しさん@そうだ選挙にいこう:2008/12/12(金) 11:38:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ(勉強中)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 変数 利用 使い方

例えばですが、=COUNTIF(A1:A100)という式があります。
式を使って集計するにあたって、集計の度に範囲を変えたい。

今回は=COUNTIF(A1:A150)、次回は=COUNTIF(A1:A200)
この、Aの後ろの150や、200に変数を利用したい。
例えばB1セルに数値を入力し、その数値をAの後ろの数値に代入する、
というようなことがしたいのです。

VBやらCなら簡単なことだと思うのですが、ExcelにからむVBAとなったとたん
実現方法がわかりません。Cは配列ぐらいまでは勉強して、ポインタで頭が沸騰した
程度の知識なので、単純に知識不足かもしれませんが…。

もし実現可能ならご教授頂けますでしょうか。

これができればExcel活用の幅が広がるかなと思っております。

以上です。よろしくお願い致します。
252名無しさん@そうだ選挙にいこう:2008/12/12(金) 12:12:49
>>251
関数でいいなら
=COUNTIF(INDIRECT("A1:A"&B1),"")
253名無しさん@そうだ選挙にいこう:2008/12/12(金) 12:22:43
>>251
Sub a()
Dim i As String
i = Range("b1").Value
Range("A1").Formula = "=COUNTIF(a1:a" & i & ")"
End Sub

i = Range("b1").Valueの部分はinputboxなんかに変えたほうが使いやすいかもね
254253:2008/12/12(金) 12:24:07
循環参照になってしまった
Range("A1").Formula =のA1の部分はテキトーに変えて使ってね
255名無しさん@そうだ選挙にいこう:2008/12/12(金) 12:32:28
>>251
=COUNTIF(INDIRECT("A1:A"&B1),検索条件)
256名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:08:54
【1 OSの種類         .】 Window2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】関数 入れ子 短縮
ifのネストを短く書きたいと思っています。

例として、vlookupを使い、N/Aエラーが出たときは別のもの(あああ、という文字列とします)
を表示しようと思っています。
第四引数はFALSE固定です。

この条件のとき、
=vlookup(A1,A2:D10,2,0)
という式は
=if(iserror(vlookup(A1,A2:D10,2,0))=true,"あああ",vlookup(A1,A2:D10,2,0))
のように書けば目的どおりの動きをするのですが、
もう少し短くまとめる記述の仕方はないでしょうか?

257名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:13:08
とりあえずiserror(〜〜)のあとに「=true」はなくてもいい
258名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:16:53
sage忘れスマソ
ついでに誰か>>249に答えてくれないか
259名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:18:51
2007にアップしてIFERROR
260名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:38:02
使っていないセル(仮にB1)に
=vlookup(A1,A2:D10,2,0)
としてから
=if(iserror(B1),"あああ",B1)
とかやってみるのは?
261名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:41:24
A2:D10に名前を定義する
vlookupを作業列でやる

IFの条件と結果にVLOOKUPを入れるのはいやだ
条件見るのにVLOOKUP、結果返すのにVLOOKUPと負荷が2倍になると思ってるから
262名無しさん@そうだ選挙にいこう:2008/12/12(金) 15:55:21
>>257
確かに!ありがとうございます。ずっと気づかず=TRUE入れてました
>>259
今のところ入れる予定はありませんが、あるとすごく便利そうですね
>>260-261
ありがとうございます。試してみます
>>261すごく同意見です。それに、式自体も非常に長くなるんですよね・・
263251:2008/12/12(金) 17:25:15
皆様お答え頂きありがとうございました。
お答頂きました、関数を使用するINDIRECTをひとまず使用させて頂き、
やりたかった動作を実現できました。
しかし、ひとつ問題が発生しました。

=IF(INDIRECT($C$4&"○○店データ.csv!$P12")="","",IF(ISERROR(VLOOKUP(INDIRECT($C$4&"○○店データ.csv!$P12"),INDIRECT("旧"&$C$4&"○○店データ.csv!$A$1:$A$1800"),1,0)),"新規会員",
((VLOOKUP(INDIRECT($C$4&"○○店データ.csv!$P12"),INDIRECT("旧"&$C$4&"○○店データ.csv!$A$1:$A$1800"),1,0)))))

これだけでは非常にわかりにくく申し訳ないのですが、上記のようにINDIRECTを組み込み、
予定していた動作を実現させることができました。

これは、「○○店データ」というデータから「旧○○店データ」のデータを検索し、見つかればそのデータを表示、
見つからなければ「新規会員」と表示する式になっております。
○○店データの1行目のデータが旧○○店データのすべての中にないかどうか、次に
○○店データの2行目のデータが旧○○店データのすべての中にないかどうか、
対応づけてデータを表示させていきます。

どんな問題がおきたかといいますと、INDIRECTを用いファイル名を指定
できるようになったのはいいのですが、文字列として組み込まれたため、
INDIRECT($C$4&"A.csv!$P12")左記の$P12の部分がオートフィルで動作してくれません。
全ての行に手動で13、14、と変更すれば対処できますが、2000行程度あるので
とても厳しい作業になります。

何か良い対応方法はございますでしょうか。

以上です。よろしくお願い致します。
264名無しさん@そうだ選挙にいこう:2008/12/12(金) 17:31:34
1つのシート上に2つのグラフを載せたいのですが、1つ目のグラフ(折れ線)を完成したあと2つ目のグラフ(円)を作ると何故か1つ目のに上書きされて消えてしまいます。どうやれば出来るのでしょうか?
265名無しさん@そうだ選挙にいこう:2008/12/12(金) 17:41:14
>>263
INDIRECT($C$4&"A.csv!$P12")
↑が2行目にあるとして
INDIRECT($C$4&"A.csv!$P"&(ROW()+10))
とすればオートフィルでもいけるようにならなくもない
266名無しさん@そうだ選挙にいこう:2008/12/12(金) 18:39:40
>>264
円グラフをドラッグ
267名無しさん@そうだ選挙にいこう:2008/12/12(金) 18:45:49
>>258
設定でグラフ内に表示できるのは値とタイトルとラベルだけ。
VBA使え。
268264:2008/12/12(金) 19:27:24
266さんありがとうございます(^^)
ドラッグで出来ました。
269名無しさん@そうだ選挙にいこう:2008/12/12(金) 20:05:20
いえいえ! 
お役にたててうれしいです(≧▽≦)
270名無しさん@そうだ選挙にいこう:2008/12/12(金) 22:49:58
>>267
そ、そうなのか・・・
VBAは難しいから諦めるよ・・・ありがとう
271名無しさん@そうだ選挙にいこう:2008/12/12(金) 23:24:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel スクロール

スクロールマウスを使っているのですが、ちょっと設定に苦労しています。
OSのマウス設定について、ブラウザに合わせるとエクセルのスクロールが早すぎます。
エクセルに合わせるとブラウザのスクロールが遅すぎます。
これを解決するうまい方法はありませんでしょうか?
272名無しさん@そうだ選挙にいこう:2008/12/12(金) 23:37:22
vbvb
273名無しさん@そうだ選挙にいこう:2008/12/12(金) 23:37:44
>>271
WindowsやOfficeの設定では無理なので何らかのフリーウェアを使う。
ソフト板へ。
274名無しさん@そうだ選挙にいこう:2008/12/12(金) 23:38:08
>>273
ありがとうございました
275名無しさん@そうだ選挙にいこう:2008/12/13(土) 01:30:09
ここのスレに常駐でしている人ってどういう人ですか?
フリーターか何かですか?
それともベンチャー立ち上げた若い兄ちゃんですか?
全く年齢層を読み取ることができないのですが・・・
276名無しさん@そうだ選挙にいこう:2008/12/13(土) 02:13:14
自宅警備員(夜勤)です
277名無しさん@そうだ選挙にいこう:2008/12/13(土) 03:05:47
テンプレ使わない質問には答えない
278名無しさん@そうだ選挙にいこう:2008/12/13(土) 09:52:02
>>275
昼間でもネットで遊べる事務員(♂)
例え見つかっても「エクセルの勉強中です><」で済むからいいことづくしだぜ
実際に仕事にも役立ってるシナ
279名無しさん@そうだ選挙にいこう:2008/12/13(土) 10:43:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 詳しくはないです
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 背景色 4

入力した文字によって背景色を変えたくて色々調べていたら条件付き
書式で出来たのですが4つまででした。それで検索したら下記のリンク
にある VBA が見つかり実験してみたら B 列に文字を「田中」「阿部」
などと入れると文字色が変わるのを確認しました。
そこで質問なんですが、私の場合は文字色を変えるのではなく背景色を
変えたいと思ってます。それと B 列だけではなく E H K 列も同じように
背景色を変えたいです。この VBA をどのように変更したらそのような
事が出来るのでしょうか。

4色以上の条件付き書式
http://www4.ocn.ne.jp/~yy3/Sub33.html
280名無しさん@そうだ選挙にいこう:2008/12/13(土) 10:43:33
土曜日なのに仕事なの?
281名無しさん@そうだ選挙にいこう:2008/12/13(土) 10:45:34
>>275
半年前に会社を辞めたニート
282281:2008/12/13(土) 11:20:49
書き忘れ

>>279
RR.Font.ColorIndex → RR.Interior.ColorIndex
範囲には気をつけよう!
283279:2008/12/13(土) 11:37:50
>>282
ありがとうございます。教えて貰った場所を書き換えたら文字色じゃなく背景色が
変わるのを確認しました。あと、これを E 列だけじゃなく E H K も同じように文字に
よって背景色を変えるようにするにはどうしたらいいでしょうか。
284名無しさん@そうだ選挙にいこう:2008/12/13(土) 15:17:57
>>279
For Each…

こんな最悪ソースやめとけ
285279:2008/12/13(土) 15:39:38
>>284
ソースの善し悪しは私には分からないのですが実現出来る例がありましたら
ぜひお教えください。
286ほほう:2008/12/13(土) 19:40:49
>>284
横から割り込みで気は引けるが、
釣りか?
釣りでないなら、おまいがコードアップしてみwww
287名無しさん@そうだ選挙にいこう:2008/12/13(土) 20:42:07
Range(Range("B1"), 以下略 )

まあ、間違いじゃないけど……
おかしいと思わんか?
288ほほう:2008/12/13(土) 21:18:31
そうゆう意味で!? orz
折れはFor each文を使ってることで何か言っているのかと思ったよorz
むしろ、この文の方が見る機会は少ないけど、この人(279)にとってもいいと思う。
>>279
Set LastCell = Range("B" & Rows.Count).End(xlUp)
For Each RR In Range(Range("B1"), LastCell)
範囲指定文の書き方をこの際、勉強して試してみるといい。
やりたいことは直ぐに出来、貴方なら、すぐそばにあるはず。
例えば、Range("E:E,H:H,K:K")
289名無しさん@そうだ選挙にいこう:2008/12/13(土) 21:46:42
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


グラフの縦棒-集合棒グラフで、x軸一つに対して2種類のデータを並べたとき、
この2つのデータが同じくらいのオーダーであれば、同じy軸を共有すれば良いのですが、
1桁、2桁くらい離れていると同じ軸では見にくいため、軸を分けます。
すると2つの棒グラフは同じ位置に重なるため、小さい方が隠れてしまって極めて見づらいのですが、
これを位置をx軸方向に位置をずらして見やすくするにはどうしたら良いのでしょうか?
もちろんy軸の範囲を500〜-500、500〜-50みたいにずらしてやれば重ならないのですが、
どうしても見づらいため良い方法がありましたら教えて下さい。
よろしくお願い致します。
290289:2008/12/13(土) 21:52:32
すいません、棒の重なりという項目がオプション画面に見つかりました。
でもこの値を-100とか+100にいじっても何も変化しないようなのですが、
棒の間隔のほうはちゃんと機能しているんですが・・・
291名無しさん@そうだ選挙にいこう:2008/12/13(土) 21:53:57
こんばんは。
初歩的な質問かもしれませんが、
皆さんの広い心でカバー出来るものと存じます。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

Excelを使って表を作り、印刷プレビューで確認したのですが
表が左側に、よってしまいました。
表を中央に配置するにはどうすればよいでしょうか?

よろしくお願いします。
292名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:08:21
ページ設定の余白タブで水平・垂直の中央配置を有効にする
293名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:16:55
>>292さんありがとうございました。
294名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:38:04
【1 OSの種類         .】 Windows2k
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

Excelで一つのブックが所持できる最大シート数を教えて下さい。
よろしくお願い致します。
295名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:48:41
【1 OSの種類         .】 WindowsXP HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 折れ線グラフ 凡例 固定したい 線

自分が設定・変更した折れ線グラフの線の形・色を
別のグラフでも固定値として使用したいのですが、なにか方法はないでしょうか。
(具体的には、商品売上数ランキングのグラフで、
月ごとに順位は入れ替わるが同一商品ごとに常に同じグラフの線の形・色を使用したいです)
今は系列が更新されるたびに線の形・色が変わってしまうので
ひとつひとつ手作業で直していて、もっと手間の少ない方法があればと思い質問させて頂きました。
※図も添えさせて頂きます(ヘタクソですいません)http://kjm.kir.jp/pc/?p=67020.jpg

どうか宜しくお願いいたします。
296名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:56:06
>>294
256
297名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:58:10
>>290
それは気のせい。ちゃんと重ねたり並べたり自由に設定できる
298名無しさん@そうだ選挙にいこう:2008/12/13(土) 22:59:02
>>297
y軸を共有した状態ではできるのですが分けた状態では
どうしてもできません。
299名無しさん@そうだ選挙にいこう:2008/12/14(日) 00:01:10
>>286
言葉足らずですまん
For Eachが悪いって言ってんじゃなくて、
For Each RR In Range(Range("B1"), LastCell)で
変更もしてないセルまで全部塗りなおすのが無意味だろと思ったんだ

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim RR As Range
  Dim R As Range

  Set RR = Intersect(Target, Range("E:E,H:H,K:K"))

  If RR Is Nothing Then
    Exit Sub
  End If

  For Each R In RR
    Select Case RR.Value
      Case "田中"
        R.Interior.ColorIndex = 3
      Case "阿部"
        R.Interior.ColorIndex = 5
      Case "細越"
        R.Interior.ColorIndex = 4
      Case "山田"
        R.Interior.ColorIndex = 46
      Case "藤井"
        R.Interior.ColorIndex = 29
    End Select
  Next R
End Sub
300名無しさん@そうだ選挙にいこう:2008/12/14(日) 09:08:22
>>294
環境依存(主に物理メモリ)
301名無しさん@そうだ選挙にいこう:2008/12/14(日) 15:25:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 文字列 表示

メールアドレスから@より左側(ツマリアカウント)を隣の行に出力させたいのですが、どのような関数を書けばいいですか?

=LEFT((A14),LEN(A14)-SEARCH("@",A14,2))
までできました。
302名無しさん@そうだ選挙にいこう:2008/12/14(日) 15:50:00
=LEFT(A14,SEARCH("@",A14)-1)
じゃダメなの
303名無しさん@そうだ選挙にいこう:2008/12/14(日) 15:53:26
>>301
データ-区切り位置じゃダメなのか?
304名無しさん@そうだ選挙にいこう:2008/12/14(日) 16:15:18
>>302
>>303

ありがとうございました、できました。感謝しております。
305名無しさん@そうだ選挙にいこう:2008/12/14(日) 17:33:13
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 家計簿


家計簿をつけているのですが、 集計が上手くいきません。

たとえば、A列で交際費・交通費等の科目、B列でその値段、C列で費用を使った個人名、
という感じで記録していますが、
例として、田中が使った交際費(A列が交際費、C列が田中)を抜き出して、
その条件でのB列の値段の合計を出すにはどうすれば良いでしょうか?

A列で交際費、C列で田中、でオートフィルタをかけてB列の数字をSUMで
足しこむ方法で今までやっておりましたが、データが膨大で手間がかかり
すぎてしまうので、関数で解決できる方法はないものかと悩んでおります。

よろしくお願いします。
306名無しさん@そうだ選挙にいこう:2008/12/14(日) 17:39:39
>>305
=SUMIFS(B1:B20, A1:A20, "=交際費", C1:C20, "=田中")
307名無しさん@そうだ選挙にいこう:2008/12/14(日) 17:45:21
家計簿なのに田中?
いったい何世帯で同居してるんだろう
308名無しさん@そうだ選挙にいこう:2008/12/14(日) 17:46:26
>>306
ありがとうございます!
さっそくやってみます。
309名無しさん@そうだ選挙にいこう:2008/12/14(日) 17:53:06
>>305
集計したい項目が確定してるならsumif,sumproductとか
その時々で集計項目が変動とか集計表作るまでもないとかならオートフィルタとsubtotalというやり方も
こっちはフィルタ掛けたあと集計したい範囲を指定して買{タン押すだけ
310名無しさん@そうだ選挙にいこう:2008/12/14(日) 18:03:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

文字を逆さに表示する方法ってありますか?
書式の設定で文字を90度までなら動かせるのですが
180度回転させることはできますか?
よろしくおねがいします。
311名無しさん@そうだ選挙にいこう:2008/12/14(日) 18:06:40
>>306
できました!
本当にありがとう。

>>307
家計簿っていうか、個人事業の経理です。
今年から始めたばかりの事業なので、わからないことだらけです・・・
312名無しさん@そうだ選挙にいこう:2008/12/14(日) 18:07:56
>>310
Ctrl+Alt+↓
313名無しさん@そうだ選挙にいこう:2008/12/14(日) 18:09:57
>>299
どこかで最近Target使わないやつがいたが、そのサイトの人と同じ人かもね。
回答者ももっと基本を勉強しないとね。
俺もだけど。
314279:2008/12/14(日) 19:03:37
>>288
ありがとうございます。サイトに書いてあった例では B 列しか反映しないので B
と書いてあるあたりが範囲指定の場所だろうというのはわかるのですが具体的に
どうすればいいかが分かりませんでした。参考に書いてある部分と範囲指定の
方法を勉強します。

>>299
ありがとうございます。今はなぜそうなるかは分からないレベルですが今回はこれを
使わせてもらってゆっくり覚えていこうと思います。
315名無しさん@そうだ選挙にいこう:2008/12/14(日) 19:24:29
>>305
帳簿か
http://www.google.com/search?client=opera&rls=ja&q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB+%E5%AE%B6%E8%A8%88%E7%B0%BF&sourceid=opera&ie=utf-8&oe=utf-8
作るより拾ったほうが早いよ
>>310
>>312の回答がよく分からないや
ごく一部だけならワードアート作って回転させると早いかも
316名無しさん@そうだ選挙にいこう:2008/12/14(日) 19:44:41
317名無しさん@そうだ選挙にいこう:2008/12/14(日) 19:48:46
どこで聞いたらいいか分からないので、ここで質問させていただきます。
KingSoftについてですけど、シートを開いても一番下のタスクバーに一番手前のものしか
表示されなくて困っています。
どなたか複数表示させる方法わかる方いらっしゃいませんか?
また、間違えて画面を閉じてしまった場合、編集状態になってても「保存しますか?」と出てこないでの困ってます。

教えて下さい、よろしくお願いします。
318名無しさん@そうだ選挙にいこう:2008/12/14(日) 19:50:36
>>315
たしかインテルチップセットのグラフィックドライバに画面を回転させるショートカットがあるから・・・
319317:2008/12/14(日) 20:11:21
もう1個質問追加で・・・
Excel2007についてですが、「WEBページとして保存」のブラウザはどこにあるのでしょうか?
よろしくお願いします
320名無しさん@そうだ選挙にいこう:2008/12/14(日) 20:19:54
>>315
312はExcelと関係ない。インテルのチップセット使ったマシンで画面全体を上下逆にする方法。
初心者向きの質問スレでよく書き込まれるイタズラ。
321名無しさん@そうだ選挙にいこう:2008/12/14(日) 20:20:28
>>319
ブラウザってのはインターネットエクスプローラのこと。
322319:2008/12/14(日) 20:44:07
>>321
ごめんなさい、メニューバーでした
323名無しさん@そうだ選挙にいこう:2008/12/14(日) 20:52:42
メニューバーじゃなくてメニューじゃねーの
2007の見た目を2003に戻すソフト使ったほうがいいよ
多分当分何がどこにあるか分からないと思う
>>320
そういう意味か、イタズラはほどほどに><
VBAでやってみたけどセル内の文字を上下逆にはできそうにないな
変則的な解決方法としては全体を90度にして、さかさまにしたい部分だけを-90度にすれば解決できるがかなりおすすめできない
http://okwave.jp/qa3097737.html
http://oshiete1.goo.ne.jp/qa2023712.html
324319:2008/12/14(日) 21:11:15
>>323
ありがとうございます
どこにそのソフトがあるのでしょうか?
試用版でもできますか?
325名無しさん@そうだ選挙にいこう:2008/12/14(日) 21:26:18
文字を拡張メタファイルに変換すれば変形も回転も自由自在だけど、
XPの画面上では他の文字と違って見えるのが欠点か。
印刷した物は違和感ないんだけどねえ。
あと数式にも使えないし。
326名無しさん@そうだ選挙にいこう:2008/12/14(日) 21:40:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Exce2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


セルA1〜D1001にいろいろな数値がはいっているとします。
これらのセルの数値にそれぞれの別の0.1〜0.0001までランダム数字を足し算したいのですが、
どうすれば手っ取り早くできるでしょうか?


C2セルに=B2みたいな関連づけが入っているとします。
その状態でB2のセルを移動させるとC2セルの内容も合わせて、その移動先のセルに変更されるのですが、
これを変更されないようにするためにはどうしたら良いのでしょうか?
$B$2みたいにすればされないと思うのですが、これ以外に方法がありましたら教えて下さい。
何卒よろしくお願い致します。
327名無しさん@そうだ選挙にいこう:2008/12/14(日) 21:48:23
>>326
形式を選択して貼り付け→加算

=INDIRECT("B2")
=OFFSET(B2,0,0)
328名無しさん@そうだ選挙にいこう:2008/12/14(日) 21:57:21
>>295にもどなたか救いの手を…つД`)
329名無しさん@そうだ選挙にいこう:2008/12/14(日) 21:57:49
>>327
一つ目の質問なのですが、
例えば2が入っているセルにRAND()を形式を選択して貼り付け→加算 すると
=2+(RAND())になってしまいます。
それではなく数式のかたちではなく2.12379みたいに数値を違うものに変えたいのですが、


2つ目の質問なのですが、
=INDIRECT("B2") だと動かないようなのですが、=B2という数式を変えることなく
移動することはできないのでしょうか?
何卒よろしくお願い致します。
330名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:06:55
きましたね宿題君

>何卒よろしくお願い致します。
331名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:09:38
>>324
ttp://www.google.com/search?client=opera&rls=ja&q=2003+%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%90%E3%83%BC&sourceid=opera&ie=utf-8&oe=utf-8
2007はもってないのでどれがいいかまではわからん
>>328
まずコピーして、
右クリック→場所で範囲変えればいいんじゃないの
332名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:09:57
>>329
一つ目
足す数字がランダムなら、元の数字はなんだって関係ないじゃん。最初からランダムな数字を入れとけば

二つ目
数式バーをコピペ
333名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:10:49
>>329
とりあえずさ
1から100まで何をやりたいか先に書いてちょうだい
質問の小出しするなら答える気はない
334名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:11:52
>>328
VBAで書式をコピーとか
いっそのこと好みの形式でグラフを作るマクロを作っとくとか
335名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:18:59
>>329
応用力のないやつだな
もう一回形式を選択して貼り付けで値
336名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:40:21
先輩方、よろしくお願いいたします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 並び替え、交互、ピボット、マクロ、関数

部品番号  納入場所コード  組み合わせコード  納入時間
831-AA 03AA A 09:00
831-BB 03DD B 10:00
644-DF 03AW A 07:00
645-DE 03BW B 07:00

の、並び替えで。。。。
1-納入時間 (昇順)
2-組み合わせ(交互・・・A,B,A,B,・・・・)
3-部品番号(昇順)

上記のように、一部だけ交互並びと言うのは可能ですが?
337名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:42:59
ずれているので、修正

部品番号   納入場所   組合せ   納入時間 
831−AA  03AA     A       07:00
338名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:54:20
>>336
条件が3つ書いてあるけど、それは並べ換えの優先順位?
339名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:56:17
<肛門体操>

毎日、入浴の際や排便後に、
肛門を上に引き上げるような感じで、ギュッとすぼめます。
すぼめた状態を10秒ほどキープしてから、
その後力を抜いてゆるめた状態を10秒。
これを10回ぐらい繰り返します。

数ヶ月ぐらい行うと、肛門括約筋が鍛えられ、
便のゆるみなどの症状が改善されるそうです。

そして、デスクワーク等で、肛門がうっ血しやすい方の、
うっ血防止にも役立ちますので、ぜひお試しくださいませ。

これでいいのか
340名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:59:24
>>336
イマイチ分からないけど
その四列を選択した後、右クリックでデータの並べ替え
でいけそう?
341名無しさん@そうだ選挙にいこう:2008/12/14(日) 22:59:47
>>338
優先順です。

一番目が納入時間
二番目が組合せ(交互)
三番目が部品番号

最低、交互の方法だけでも分かれば。。。。もし分かるようでしたら
ぜひ、教えてください。
342名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:05:13
>>341
まず昇順でソートしたあと、組み合わせがAなら作業列に奇数、Bなら偶数の連番を入れて
こんどは納入時間、作業列、部品番号を指定してもう一度ソート
343317:2008/12/14(日) 23:10:14
どなたか>>317>>319>>324答えて下さる方いませんか?;;
344名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:15:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル、関数、IF

勤務時間の計算をしています。

始業  終業  拘束  実働  深夜就業(22:00以降)
19:00  23:30   4:30  4:30   1:30
16:00  26:00  10:00  10:00   4:00

実働時間のセルには、拘束時間が8:00以上の場合には
休憩時間1:00を引いた時間が出るようにしたいのです。
拘束時間が8:00以下の場合は、そのままの拘束時間を出します。

また、深夜就業(22:00以降に働いた時間)を出す方法も
できましたらお願い致します。
345名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:16:26
>>343
Kingsoftはスレ違い
346名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:19:33
>>343
素直に下のスレで聞けばいいのに
http://pc11.2ch.net/test/read.cgi/bsoft/1203176678/

あと>>331の回答ではお話しにならないということであれば
がんばって2007に慣れるしかないね
今後2007のインターフェースが定番になるのであれば
いずれ通る道なんだから
347名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:23:44
>>344
始業=A列、終業=B列 以下略、として
D2=C2-(C2>=8/24)/24
E2=IF(B2>22/24,B2-22/24)
348名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:26:50
>>342
OKです!
ありがとう。

なるほど、別の要素を付加してsortすればいいということですね。
お世話様でした。
349117:2008/12/14(日) 23:37:15
>>346>>345
聞いてみます

あと、2007での「WEBページとして保存」の場所のみ教えてください
350名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:40:40
>>347
できました!
時間を表現するのって、○/24でいいんですね・・・
(8,0,0)とかやってました。無知だなぁ、自分。

どうもありがとうございました!
351名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:56:08
>>349
名前を付けて保存→その他の形式
352名無しさん@そうだ選挙にいこう:2008/12/14(日) 23:58:20
officeボタン(左上の丸いやつ)-名前を付けて保存じゃなくてワンボタンでやりたいの?
ユーザー設定の中簡単に見たけど見つからないから・・・判らない
353名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:17:22
エクセル
20081210071200
なデータを
7:12
って時間変数に変換するには?
354名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:20:11
>>353
MID関数で切り出してTIME関数に入れる
355名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:23:26
おkやってみる
356名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:24:03
>>353
=DATEVALUE(TEXT(A1,"0000!/00!/00 00!:00!:00"))
で、表示形式をh:mm
357名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:28:11
さんきゅ
=TEXT(MID(A13,9,4),"0!:00")

祝!!解決!!
358名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:29:08
TIME関数は使い方がわかんなかった。
359名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:29:12
>>356
それでやるなら
DATEVALUE ではなく
TIMEVALUE だろ
360317:2008/12/15(月) 00:36:15
>>351
ありがとうございました
361名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:36:32
>>357
それだと文字列になっちゃう。時刻を表す数値にするなら
=TIME(MID(A1,9,2),MID(A1,11,2),0)
362名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:40:11
グラフタイトルに参照って使えない??
363名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:43:05
>>361
なるほど。やってみるお
364名無しさん@そうだ選挙にいこう:2008/12/15(月) 00:44:27
>>362
(1) グラフのタイトルをクリック
(2) 数式バーに「=」を入力
(3) タイトルの入ったセルをクリックしてEnter
365名無しさん@そうだ選挙にいこう:2008/12/15(月) 10:13:28
記号の「・」(中点、というのでしょうか)についてですが、
みなさんは半角と全角どちらを使ってますか?
それとも気にしてないでしょうか
366名無しさん@そうだ選挙にいこう:2008/12/15(月) 10:57:17
それは全角。
367名無しさん@そうだ選挙にいこう:2008/12/15(月) 11:05:38
変換された方。特に気にしてないかな
統一する必要があるなら置換すりゃいいし
368名無しさん@そうだ選挙にいこう:2008/12/15(月) 11:07:28
case by case
369名無しさん@そうだ選挙にいこう:2008/12/15(月) 12:32:31
Excel2000を使用していますが、入力規則のリストの先頭や最後に空白(ブランク)の選択肢を
設けたいのですが、カンマで区切ったりしても空白の選択肢が出来ません。
リストの中に空白を入れるにはどうしたら良いんでしょうか?
370名無しさん@そうだ選挙にいこう:2008/12/15(月) 12:48:20
Excel2003を使用してます。

印刷しようとすると文字が途中で切られた感じで、上半分(下半分)しか印刷されなかったり、
セルの中の文字が3行分あるのに、
2行分しか印刷されず、文章が途中になってしまったりします。

どのように対処したらいいでしょうか?よろしくお願いします。
371名無しさん@そうだ選挙にいこう:2008/12/15(月) 13:23:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

一定の大きさの容器に、縦Xセンチ×横Yセンチの箱(サイズはその都度変わります)が
最大何個入るかを求める方法はありますか?

箱を重ねることはありませんので縦横のサイズのみで計算できると思うのですが、
容器になるべくたくさん入れたいので、向きを縦にしたり横にしたりして詰められる最大数を求めたいので、
やり方がわからなくて悩んでます。

1つの容器に詰める箱のサイズは一定なのですが、その箱のサイズが毎回変わるので、
縦と横のサイズだけを入力して最大数を求めるやり方があればどうか教えてください。


372名無しさん@そうだ選挙にいこう:2008/12/15(月) 13:33:54
>>369
直接書くのではなく=A1:A2とかさんしょうにしてみる
373名無しさん@そうだ選挙にいこう:2008/12/15(月) 13:36:04
Excel2002,VBA×です。よろしくお願いします。

A列に日付が入っていて、
B列ではA列を参照して曜日(書式設定でaaa)を表示しています。

@B列で土曜を青、日曜を赤に色づけしたいのですが、
 条件付書式で
 「セルの値」が「次の値に等しい」=「"土"」としても色がつきません。
 どのように設定すればよいでしょうか?

AABCD列でそれぞれ、B列の曜日を参照して、
 土日の行を条件付書式で背景色を青や赤に変えることはできますか?
374名無しさん@そうだ選挙にいこう:2008/12/15(月) 13:48:05
>>373
>@どのように設定すればよいでしょうか?
B列を=TEXT(A1,"aaa")

>A土日の行を条件付書式で背景色を青や赤に変えることはできますか?
できる。ヒント「数式が」「相対参照」
375374:2008/12/15(月) 14:12:59
「数式が」=$C3="土"
こんな感じでいけました! ありがとうございます。

もうひとつだけ、「土か日のとき背景色を赤くしたい」場合
「数式が」=$C3="土"
「数式が」=$C3="日"
のふたつの設定を1行で済ませることはできますか?
376名無しさん@そうだ選挙にいこう:2008/12/15(月) 14:14:28
>>371
それは「ナップサック問題」と言って、スーパーコンピュータを使っても
答えが出るまでに何百年もかかったりする。詳しくは「NP完全」でぐぐれ。

もっと具体的に容器と箱の大きさを限定すればなんとかなるかもしれないが、
どちらかと言うと数学板向きの問題だな。
377名無しさん@そうだ選挙にいこう:2008/12/15(月) 14:16:26
>>370
セルを広げる
378名無しさん@そうだ選挙にいこう:2008/12/15(月) 14:17:30
>>375
「数式が」=OR($C3="土",$C3="日")
379374ではなくて373、375でした:2008/12/15(月) 14:24:46
ありがとう、できましたー!
ORの位置を根本的に間違っていました。
380名無しさん@そうだ選挙にいこう:2008/12/15(月) 14:53:14
>>371 全部同じ向きに並べるものとする。
    A      B        C
1         容器タテ  容器ヨコ
2 箱x =INT(B$1/$A2) …
3 箱y    …         …
4 箱z    …         …

容器タテヨコ、箱xyzには具体的数値を入れる。
…の部分は数式をコピー
最大数は =MAX(B2*C3,B2*C4,B3*C2,B3*C4,B4*C2,B4*C3)
381370:2008/12/15(月) 14:55:25
>>377
レスありがとうございます。

セルの大きさを必要十分にするためにはどうすればいいでしょうか?
大きさがあっていないセルがたくさんあるので、
一挙に適切な大きさにしたいのですが、可能でしょうか?
382名無しさん@そうだ選挙にいこう:2008/12/15(月) 15:07:19
>>381
不可能。
印刷した結果を見ながら手作業で一つずつ調整するしかない。
383名無しさん@そうだ選挙にいこう:2008/12/15(月) 15:36:11
>>370 >>381
前スレで似たような質問をして教えてもらった者ですが
1.目的の行をすべてドラッグして選択、
  選択した中のどれか適当な行番号の間(たとえば行番号1と2の間)をWクリック

2.目的の列をすべてドラッグして選択、
  選択した中のどれか適当な列番号の間(たとえば列番号AとBの間)をWクリック

3.もともとのセル内容によってはやたらと幅広い行/列ができたりするので
  適当に縮めたりのばしたり

でもこれを印刷プレビューで見てぎりぎり入ってるように見えても
印刷すると文末が切れているセルも出てくる。
Excelは表計算ソフトなのであってテキスト編集にはむかない、
そういうものなのだと思っています。

自分は手順3の後で、表全体をコピーしてWordに貼り付けて整形し印刷します。
370の書類の内容に合うかはわかりませんが・・・
384名無しさん@そうだ選挙にいこう:2008/12/15(月) 15:41:34
>>380
371が欲しいのは例えば
10×11のサイズの箱に2×5のものを最大何個詰め込めるか
だと思うんだが
それで求められるか?
ちなみに例の正解は11個
バカなのでこれを箱のサイズ可変で求めるのは難しいわ

>>381
そもそも何故そうなったのかが少し気になるが・・・
すべて選択して
[書式]→[行]→[自動調整]もしくは行の境界線をダブルクリック
[書式]→[列]→[選択範囲に合わせる]もしくは列の境界線をダブルクリック

これで思い通りにならないなら諦めて手作業かVBAになる
もしかしたらフォントを「MS ゴシック」にするだけでもいいかも知れん


っとかぶってても気にしないで書き込むやつ
385371:2008/12/15(月) 16:41:30
皆さんレスありがとうございました。
ややこしい書き方だったようですみません。
384さんの仰る通り、定型の容器の中に同じ大きさの箱が最大何個入るか、を求める式です。

例えば、
底面のサイズが縦30cm×横50cmの容器Aに箱Bが何個入るかを求めたいのですが、箱Bの底面のサイズは今週は縦5cm×横7cm、翌週には縦4cm×横6cmという風に毎週変わります。
ケーキのような柔らかい物なので、2段に積み重ねて入れたりすることはないのですが、
容器Aに入るだけ入れるために、一定の向きではなく、隙間があれば横向きに入れたりもします。
そのやり方で入る最大数を求めたいのです。

毎週末に翌週使う容器の仕入れ数を決めるために箱の数を計算しないといけないんですが、計算方法がわからないので今は1/10のサイズに紙を切って組み合わせて数えたりしてます。
それが面倒なので、Excelで何とかできないかと思ったんです・・。

具体例を書かなかったのでややこしくなってすみません。

この場合、ナップサック問題と言うのに当たるのでしょうか?
もし良いやり方があればぜひご教示ください。
無理なら諦めます。
お騒がせしてすみません。
386名無しさん@そうだ選挙にいこう:2008/12/15(月) 16:58:05
>>385
平面充填問題ってのは一般化がとても難しく、片手間のプログラムで解けるようなもんじゃない。
容器と箱の組み合わせが数種類に限定されるなら解けないこともないけど、
ぶっちゃけ、紙をならべて自分で考えた方が早い。

コンピューターを使った方がいいのは、容器に入る箱の数が数十個程度までで、箱の種類が
何百もあるような場合。
387名無しさん@そうだ選挙にいこう:2008/12/15(月) 17:00:12
数式で求める方法は思いつかないけど
行の高さ:13.5
列の幅:2
で方眼紙みたいになるからこれで数えるのはだめ?
紙でやるよりは幾分かましじゃないかと思うけど

数学板の賢い人たちならいい方法を思いつくかも知れんが・・・
388名無しさん@そうだ選挙にいこう:2008/12/15(月) 17:02:02
【1 OSの種類         .】 WindowsXP HE
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 error

VBAの記述で
「a」がエラーだったらという記述はどのようになるのでしょうか。
If a = Error(2042) Then など
389名無しさん@そうだ選挙にいこう:2008/12/15(月) 17:07:03
>>388
シート上で出るのと同じものを判定したいならワークシート関数のISERRやISNAとか
例外処理なら「On Error GoTo」とかで検索してみ
390名無しさん@そうだ選挙にいこう:2008/12/15(月) 17:07:53
>>388
If IsError(a) Then
391388:2008/12/15(月) 17:39:07
ありがとうございました。
392名無しさん@そうだ選挙にいこう:2008/12/15(月) 18:36:21
>>385 それくらいなら縦か横に並べるしかないから
縦1列残り横に並べた時、縦2列残り横に…という
表を作っておけば良いと思うよ。

B1:容器タテ寸法    D1:箱タテ寸法
B2:容器ヨコ寸法    D2:箱ヨコ寸法 とする。
     A        B          C        D         E
3  タテ列数   タテ数    ヨコ列数    ヨコ数     合計        
4     0       式@      式A      式B      式C   
5     1
6     2
7     3
…    …

式@ =IF(D$2*A4>B$2,0,INT(B$1/D$1)*A4)
式A =IF(D$2*A4>B$2,0,INT((B$2-A4*D$2)/D$1))
式B =INT(B$1/D$2)*C4
式C =B4+D4
必要なだけ下へコピー
393名無しさん@そうだ選挙にいこう:2008/12/15(月) 19:04:03
>>392 それでもダメなんだよな

>>371
数学板で式を作ってもらってきな、
その式をエクセルでどうやるか、
これだったら解る人いるかもしれない。
394名無しさん@そうだ選挙にいこう:2008/12/15(月) 19:53:19
パズル板でもいいかもしれないな
395名無しさん@そうだ選挙にいこう:2008/12/15(月) 20:13:01
決まったブロックで平面を埋める問題は大学でやったけどめちゃめちゃ大変だった。
当時はCPUクロックがわずか10MHzだったし、すべてアセンブラだけでプログラムを書いて、
それでも計算開始から答えが出るまで2週間ぐらいかかった。
いっぺん途中でブレーカーが落ちて泣いてから、途中経過を自動で保存するプログラムも追加した。
396名無しさん@そうだ選挙にいこう:2008/12/15(月) 20:46:08
>385
単純な考えかもしれないけど、下の方法でダメな場合があるんでしょうか?
    A       B      C
1 容器縦寸法   サイズを入れる =B2
2 容器横寸法      同上   =B1
3 箱縦寸法       同上   =B3
4 箱横寸法       同上   =B4

6 縦個数     =INT(B3/B1)   =INT(C3/C1)
7 横個数     =INT(B4/B2)   =INT(C4/C2)
8 縦余      =B3-B1*B6    =C3-C1*C6
9 横余      =B4-B2*B7    =C4-C2*C7
10 縦余/箱横寸法  =INT(B8/B2)   =INT(C8/C2)
11 横余/箱縦寸法  =INT(B9/B3)   =INT(C9/C3)
12 余部分収納数  =B10*B11    =B10*C11
13 
14 全体収納数   =B6*B7+B12   =C6*C7+C12

パラメータを入れるのはB1:B4です。
B列とC列の違いは容器の向きを変えた場合の収納数を計算するためです。

事務机の上にハガキを横向き(どちらも作業者側から見ると横長)に並べることを
想像してみてください。
左上端から並べていけば右側と下(手前)側が余りますね。余った右側にハガキを
縦長方向で並べることができるかもしれません。そこらへんを10行目と11行目で
やってます。

ここまで書いて>395さんの書き込みを見てみましたが、数学的に厳密な最大値
云々の並べ方はジグソーパズルのように縦、横とか複雑に並べるということで
しょうから、そうなると最大何個並べられるという数字だけではなく、並べ方
をグラフィックで示さないといけなくなるけど、そういう「大層な」問題では
ないと思うんですが。
397396:2008/12/15(月) 20:48:56
大事なことを忘れてた。
収納数はB14とC14に表示されるので、どちらか大きい方を採用してください。
398396:2008/12/15(月) 20:51:09
もうひとつC12の計算式は=C10*C11です。
399名無しさん@そうだ選挙にいこう:2008/12/15(月) 21:21:28
質問がもっと具体的なら効率のいいやり方も思い付くだろうけど、
はっきり言って条件があいまいすぎる。
これだと問題を一般化してどんな条件でも解けるように考えるしかない。

容器の大きさと箱の大きさを思い付く限り全部書いて欲しい。
400名無しさん@そうだ選挙にいこう:2008/12/15(月) 21:23:22
>>392
容器縦寸法 1 3
容器横寸法 3 1
箱縦寸法 7 7
箱横寸法 4 4
だとうまくいかない
正解は9だが7か8になる

それに大量にある場合、入れ方分からなきゃ意味ないし
もうこれは人がやったほうが早いって結論はずっと前に出てるんだよ・・
401295:2008/12/15(月) 21:29:58
遅レスすいません
>>331
右クリック→場所で範囲変更ですね。
今帰宅したので明日会社でやってみます。
>>328
VBAもマクロもさっぱりのド初心者なので…
せっかくアドバイス頂いたのにすいません。

お二人ともありがとうございました!
明日チャレンジしてみます。
402396:2008/12/15(月) 21:46:52
>400
容器の投影面積:13×31= 403
箱の投影面積: 77×44=3388
3388/403=8.4069・・・・
なので正解が9はあり得ませんが?

ただ、このパラメータで計算すると>396の表では5と6になる。
エクセルの図形でやってみたら7個はいる。余りの部分が変だ、
表がなんかおかしかった。作り直してみます。
403名無しさん@そうだ選挙にいこう:2008/12/15(月) 21:58:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 95%信頼区間

Excelで95%信頼区間を求めるためにはどうしたら良いのでしょうか?
よろしくお願い致します。


404371,385:2008/12/15(月) 22:17:14
容器に入る箱数の質問をした者です。
たくさんの回答ありがとうございました。

ややこしい質問ですみません。
箱Bのサイズは一応長方形とは決まってるんですが、サイズが本当にまちまちで
数パターンに絞るのも難しいんです。

でも皆さんにいただいたご意見を元に、少しでも効率良くできないか考えてみます。
社内に相談できる人もいないので、いろんなご意見いただけるだけでもとても助かりました。
本当にありがとうございました!
405396:2008/12/15(月) 22:40:27
>402の続きです。
自分で「右側と下側が余る」と書いていながら、表ではごっちゃになってしまった。
それから箱と容器もごっちゃになっていた。
↓のようにすると>400さんのパラメータでB列、C列とも7になります。
面積比は8.4069・・・だけど8個はどうやっても無理だと思う。

    A         B        C
1 箱縦寸法    サイズを入れる   =B2
2 箱横寸法       同上     =B1
3 容器縦寸法      同上     =B3
4 容器横寸法      同上     =B4

6 縦個数       =INT(B3/B1)   =INT(C3/C1)
7 横個数       =INT(B4/B2)   =INT(C4/C2)
8 下側縦余      =B3-B1*B6    =C3-C1*C6
9 下側横       =B4       =C4
10 下側縦余/箱横寸   =INT(B8/B2)   =INT(C8/C2)
11 下側横/箱縦寸    =INT(B9/B1)   =INT(C9/C1)
12 下側収納数     =B10*B11    =C10*C11
13 右側縦       =B3       =C3
14 右側横余      =B4-B2*B7    =C4-C2*C7
15 右側縦/箱横寸    =INT(B13/B2)  =INT(C13/C2)
16 右側横余/箱縦寸   =INT(B14/B1)  =INT(C14/C1)
17 右側収納数     =B15*B16    =C15*C16
18 余部分収納数    =B12+B17    =C12+C17
19
20 全体収納数     =B6*B7+B18   =C6*C7+C18

数学的な最大値と、この表で計算した値で矛盾が出る例って何かありますか?
406名無しさん@そうだ選挙にいこう:2008/12/15(月) 23:27:51
■▲■▲
■▲■▲
■▲■▲
▲■▲■
▲■▲■
▲■▲■
●●●□
407名無しさん@そうだ選挙にいこう:2008/12/15(月) 23:38:32
>>405
5x5の容器に2x3の箱は4つ入る
パレットに荷物を載せる時のもっとも定番の組み合わせが解けない
■■■□□
■■■□□
□□  □□
□□■■■
□□■■■
408名無しさん@そうだ選挙にいこう:2008/12/15(月) 23:41:37
>>406
それは解ける
1 3 4 7で9って出たぞ
409403:2008/12/16(火) 09:17:37
よろしくお願い致します。

410400:2008/12/16(火) 09:27:21
>>402
ああ、すまんそのままコピペしたら見にくかったな
容器縦寸法 1
容器横寸法 3
箱縦寸法 7
箱横寸法 4
だと、9にならないってことで
でも>>405で直ってるね
とりあえず>>407はほしい
>>406
xxxu
pppu
xxxu
pppw
xxxw
pppw
xxx
の方が楽じゃね
411名無しさん@そうだ選挙にいこう:2008/12/16(火) 09:35:20
>>409
数学や統計学は全然知らないけどググったらそれらしいのあるジャマイカ
↓ので期待通りの結果が得られるか?
ttp://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?print+200603/06030135.txt
412名無しさん@そうだ選挙にいこう:2008/12/16(火) 09:35:56
>>403
http://www.cog.human.nagoya-u.ac.jp/~ishii/toukei/shinrai.html
の式でいいのか?
それならPQNをそれぞれA1-C1に入れて、D1とE1に計算式を入れればいい
↓平方根の出し方
http://www.relief.jp/itnote/archives/000619.php
上のリンクの√と分数部分がどこまでなのか分からんので後は自分でつくって
413名無しさん@そうだ選挙にいこう:2008/12/16(火) 09:44:18
RAND()を使ったセルを
ソートするにはどうすればいいですか?
414名無しさん@そうだ選挙にいこう:2008/12/16(火) 09:49:26
>>413
式のままじゃソートした後に再計算されるので値にしてからソートする
415名無しさん@そうだ選挙にいこう:2008/12/16(火) 10:32:22
マクロの中でRANDセル欄を
ソートしたいので
F9で値に出来ません

どう値にすればいいでしょう?

416名無しさん@そうだ選挙にいこう:2008/12/16(火) 10:51:42
F9は再計算だろうがw

つPasteSpecial

これ以上何か言ってきてもスルーだな
417名無しさん@そうだ選挙にいこう:2008/12/16(火) 11:00:57
つーかマクロの記録使いなよ
418名無しさん@そうだ選挙にいこう:2008/12/16(火) 11:41:19
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 マクロの記録を改変できる程度
【4 VBAでの回答の可否】 可
【5 検索キーワード     】for next ループ 
fornextで1行目から最終行までの処理をしています
Private Sub CommandButton1_Click()
For x = 1 To 16
a = a + i + (x - 1) * 34
For i = 8 To 33
a = i

'処理

Next
Next
End Sub

処理自体は、色を塗ったりする単純なものです。
Range("A" & a ).value・・というように変数aを行に見立て、
8-33行目を処理、42-67行目を処理、76-101行目を処理・・とこれを16回分繰り返したいのですが、
もっとスマートな書き方はありますか?
iを直接行番号にできると色々便利なのですが・・
419名無しさん@そうだ選挙にいこう:2008/12/16(火) 11:45:28
自動再計算を止めてみるとか
Application.Calculation = xlCalculationManual
420名無しさん@そうだ選挙にいこう:2008/12/16(火) 11:52:36
>>418
Cells(a, 1) って書けば変数が行番号になるけど、たとえば
Range("A8:A33").Interior.Color = vbRed
みたいに書けば、たった1行のプログラムでたくさんのセルを一気に塗りつぶせる。
何がやりたいのか具体的に書いてみ。ほかにもっといいやり方があるかもよ。
とりあえず自分で作ったプログラム晒せ。
421名無しさん@そうだ選挙にいこう:2008/12/16(火) 11:55:25
>>418
何が問題だかよくわかんないんだけど「1回」に (42-8) 行処理したいわけ?
そうだとすれば
for i = 8 to 33+(42-8)*(16-1)
  x = int(i-8)/(42-8)+1
next
こうすれば x が「回目」になるよ
422名無しさん@そうだ選挙にいこう:2008/12/16(火) 12:02:11
>>418
セルの指定をCells(i + (x - 1) * 34, 1)にすればいいんじゃない?
8〜33をまとめてやるなら
Range(Cells(8 + (x - 1) * 34, 1), Cells(33 + (x - 1) * 34, 1))
でiのループは不要になるはず(検証してないw)
423名無しさん@そうだ選挙にいこう:2008/12/16(火) 12:06:19
>>418
こう書けば範囲が飛び飛びでも一気に塗りつぶせる。For Nextとか一切必要なし。
Range("A8:A33,A42:A67,A76:A101").Interior.Color = vbYellow
424名無しさん@そうだ選挙にいこう:2008/12/16(火) 13:05:13
>>421>>422
ありがとうございます、これは滅茶苦茶使えそうです(妙にしっくり来ます)
カウンター部分に変数を使えば良かったんですね、納得
>>420>>423
すいません!範囲選択を忘れていました
範囲選択すると一瞬で終わりました・・お騒がせしましたorz

425名無しさん@そうだ選挙にいこう:2008/12/16(火) 13:22:36
なんやとー
426名無しさん@そうだ選挙にいこう:2008/12/16(火) 13:23:21
Excel総合相談所
  
  - 完 -
427424:2008/12/16(火) 13:40:12
For x = 1 To 16
For i = 8 + (x - 1) * 34 To 33 + (x - 1) * 34

'処理

Next
Next
End Sub
追記 当初考えていたことはこれで実現できました!
もっと応用ができるようになりたいです・・
428名無しさん@そうだ選挙にいこう:2008/12/16(火) 17:41:16
>>418
For x = 8 To 518 Step 34
For i = 0 To 25

'処理 Range("A" & x + i).value・・

Next i
Next x
429名無しさん@そうだ選挙にいこう:2008/12/16(火) 17:55:14
綺麗にまとめるなあ
430295:2008/12/16(火) 21:17:31
何度もスイマセン
>>331
ダメでした…場所って書式をコピーってことだったんですね。
>>295の図に書いたんですが、商品の順位が入れ替わるので
書式コピーでは対処できないみたいんです…

大人しくVBAの本買ってきますつД`
431名無しさん@そうだ選挙にいこう:2008/12/16(火) 21:36:13
>>430
ttp://kjm.kir.jp/pc/?p=67128.jpg
じゃだめ?
コピーはグラフごとコピーってことだと思うよ
432295:2008/12/16(火) 22:21:46
>>431
あ〜なるほど!>>331さんが教えて下さったのもきっとこういうことなんですね。
しかし系列内は順位どおりには出てこないんですね…
でもでも、凡例マーカーが引き継げるだけで大変ありがたいです。
助かりました!ありがとうございました。
433名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:00:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

スレ違いの気もしますが質問させてください(学生です)
実験データをエクセルに入力して二つのグラフを得、
そのグラフの交点を求めたいのですが、
log_[72.99e](-1.68Ln(x)+30.88)=-49.82x という式を解かなくてはならない
という結果になりました。
これをエクセルを用いて解くには、どういう式を使えばよいのでしょうか?
434名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:14:44
>>433
一次方程式はソルバーを使えば解ける可能性が高い。
まず移項して
f(x)=log_[72.99e](-1.68Ln(x)+30.88)+49.82x
という関数を作り、f(x)が0になるようなxを求めればいいわけだから
適当なセルをxとして、ソルバーの「変化させるセル」に指定すればいい。
435名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:15:29
>>433
学生は言い訳にならねぇ
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html
関数をうまく使いなー
436名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:19:57
ゴールシークで足りるかも
437名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:23:24
エクセルより数学ソフトのほうが向いてないか?
438名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:44:28
【1 OSの種類         .】 Window2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

http://kogolab.jp/elearn/hamburger/chap1/sec2.html

上のページのようなことがしたいのですが、どうすれば良いのでしょうか?
例えばA1〜A1001にいろいろなポテトの長さの値がはいっており、
それを0cm以上1cm未満
1cm以上2cm未満
2cm以上3cm未満
3cm以上4cm未満
みたいにそれぞれの長さに何本あるかというのをヒストグラム下化したいのですが、
どうすれば良いのでしょうか?
439名無しさん@そうだ選挙にいこう:2008/12/16(火) 23:54:29
>>438
分析ツールのヒストグラムを使う
COUNTIFで数える
など
440名無しさん@そうだ選挙にいこう:2008/12/17(水) 00:04:53
441433:2008/12/17(水) 00:22:04
>>434-437 ありがとうございました!

ゴールシークで出来るかと思い、数式(f(x))を立てて
xに適当なセルを指定したのですが、
解答が見つかりません となってしまいました。
目標値を0にしたのがいけなかったかと思い、他の数字にも
変えてみましたが、同じになります。

数式自体はできたので、予想した値を
ちまちま代入してxの値を出すことは出来ました。
ありがとうございました。
442415:2008/12/17(水) 00:30:22
>>419さん
出来ました ありがとうございます
443415:2008/12/17(水) 01:02:30
セルに今表示されてる数値を
Getするような関数はないのでしょうか?

セルにセットされている関数しかコピー出来ないのでしょうか?
444名無しさん@そうだ選挙にいこう:2008/12/17(水) 01:11:59
>>443
Cells(1, 1).Value
445415:2008/12/17(水) 01:41:38
>>444
ありがとうGet出来ました
446名無しさん@そうだ選挙にいこう:2008/12/17(水) 02:05:30
普通は数式を取り出す方法で悩むもんだけどなあ…
447名無しさん@そうだ選挙にいこう:2008/12/17(水) 02:55:25
=(MAX(C2:C6)

この範囲の幅を選択できるようにしたい!↑この場合「5」
どうすればいい!!
448名無しさん@そうだ選挙にいこう:2008/12/17(水) 03:43:41
>>447
indirect?
449名無しさん@そうだ選挙にいこう:2008/12/17(水) 03:44:51
>>447
日本語でおk
450名無しさん@そうだ選挙にいこう:2008/12/17(水) 04:11:02
>>447
=COUNT(C2:C6)
451名無しさん@そうだ選挙にいこう:2008/12/17(水) 08:35:06
>>447
COLUMNS
452名無しさん@そうだ選挙にいこう:2008/12/17(水) 09:50:36
>>447
=ROWS(C2:C6)
453名無しさん@そうだ選挙にいこう:2008/12/17(水) 10:00:05
>>452
おそらくあんたので正解
454名無しさん@そうだ選挙にいこう:2008/12/17(水) 10:05:23
それでいのか?だとしたらどんな領域でも対応できるように
=ROWS(C2:C6)*COLUMNS(C2:C6)
じゃね?
セル範囲を2回書かなくちゃならないのが面倒だけど。

オレは「=MAX(C2:C6)」と入ったセルから「C2:C6」を取り出す問題かと思ってたが。
455名無しさん@そうだ選挙にいこう:2008/12/17(水) 10:18:44
>範囲の幅を選択できるようにしたい!↑この場合「5」

>>447の質問が日本語でOKな状態だから解はない
質問する前にまず何がしたいのかはっきりしないとなw
456名無しさん@そうだ選挙にいこう:2008/12/17(水) 12:04:04
1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excelxp
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 否
【5 検索キーワード     】sum エラー 非表示
A1-A2-A3、の計算をします
このセル単独もしくは全体が空白の時はエラーになってしまうので、それを表示しないようにしたいのですが、
どのように記述すればよいでしようか?
sum(A1,-a2,a3)でもエラーが出ますし、sum(a1)-sum(a2)-sum(a3)だとなんだか間抜け&手間ですし・・
別の場所でエラーをわざと表示させているところがありますので、シート全体のエラー非表示はしない方向でお願いします
457名無しさん@そうだ選挙にいこう:2008/12/17(水) 12:32:04
>>456
=A1-A2-A3
で何か不都合があるの?
「空白」が何も入力されていないってことならエラーにはならないはず
「空白」にスペースとかを入れてるなら
=IF(ISNUMBER(A1),A1,0)-IF(ISNUMBER(A2),A2,0)-IF(ISNUMBER(A3),A3,0)
などという方法もあるしA2〜A3を範囲にしたいなら
=ISNUMBER(A1),A1,0)-SUM(A2:A3)
とすればいいだけでは?
458名無しさん@そうだ選挙にいこう:2008/12/17(水) 12:38:04
>>457
ありがとうございます。
そしてごめんなさい・・・空白が入ってることに気づきませんでした
459名無しさん@そうだ選挙にいこう:2008/12/17(水) 14:06:23
ゴールシークとソルバーって同じもののように思えるのですが
どこが違うのでしょうか?
よろしくお願い致します。
460名無しさん@そうだ選挙にいこう:2008/12/17(水) 15:12:01
>>459
ググった結果を見て理解できないなら
ここで説明しても君には理解できない
461名無しさん@そうだ選挙にいこう:2008/12/17(水) 15:46:37
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


ずっと疑問なのですが、散布図やヒストグラムでグラフの元のデータの系列の順番を変えることって出来ないのでしょうか?

よろしくお願い致します。
462名無しさん@そうだ選挙にいこう:2008/12/17(水) 15:51:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

分析ツール統計量で計算した標準偏差と=STDEVP()で計算した標準偏差の値が違うのですが、
違うのですが、これはなぜなのでしょうか?
具体的には
2.5
3
3
2
1
2
1.5
3
2.5
3
というデータが分析ツール統計量だと1.42062726222673
=STDEVP()だと0.931540979
になります。
よろしくお願い致します。

463名無しさん@そうだ選挙にいこう:2008/12/17(水) 15:54:04
>>461
データ系列の書式設定→系列の順序
ではないか?
464名無しさん@そうだ選挙にいこう:2008/12/17(水) 16:28:12
>>462
何が原因でどっちが正解なのかは知らんが
そういう小難しいことをExcelでやるとひどいことになることがあるのは知っておいたほうがいいかも
ttp://aoki2.si.gunma-u.ac.jp/Hanasi/excel/index.html
465名無しさん@そうだ選挙にいこう:2008/12/17(水) 17:30:06
STDEVじゃね?
466名無しさん@そうだ選挙にいこう:2008/12/17(水) 17:52:39
>>465
なぜか分析ツールだとSTDEVのちょうど2倍になります。
なんなんでしょうか、これは?
467名無しさん@そうだ選挙にいこう:2008/12/17(水) 18:04:02
>>466読んだら書いてた
468名無しさん@そうだ選挙にいこう:2008/12/17(水) 20:11:51
>>462
標準偏差というのはデータが大量にないと正確に計算することができない。
で、STDEVはデータの個数が不十分なときに標準偏差を「推定」する関数で、
STDEVPはデータが十分たくさんあるときに標準偏差を「計算」する関数。
この違いがわかるかな?
データがたった 10個では、「推定」と「実際の計算」で大きな誤差が出るのは当たり前。
469名無しさん@そうだ選挙にいこう:2008/12/17(水) 21:08:37
すいません、教えてください

下記のようなデータが大量にあるのですが
http://www2.vipper.org/vip1030486.jpg

No.1〜10の下に項目いれずに20〜endまで
表をまとめたいのですが

表を全部選択して簡単に出来る方法はないでしょうか?
470名無しさん@そうだ選挙にいこう:2008/12/17(水) 21:28:25
>>469
番号から数字を抜き出して普通に昇順で並び替えではどうよ?
471名無しさん@そうだ選挙にいこう:2008/12/17(水) 21:28:31
>>464
では、こういった小難しいことは何でやったら良いのですか?
Excelよりも良いソフトがありましたら教えて下さい。
472名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:11:27
>>471
数学ソフト
で調べてみてください。もしかしたらものすごく役に立つかもしれない
>>469
オートフィルタ、フィルタオプションで
番号   と等しくない
and
""    と等しくない
でコピーペースト
すると中が消えてる
473名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:28:17
>>468
何言ってるのか理解できないんだが。
474名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:30:41
可哀想な頭だね
475名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:33:17
>>474
君はわかるの?
476名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:36:38
>>475
エクセル様は全能!エクセル様は全て正しい!
エクセル様が全ての基準!
と思ってると思った
477名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:41:54
>>475
なぜ、わからないのかわからない。
推定すると脳細胞は108つだな。
478名無しさん@そうだ選挙にいこう:2008/12/17(水) 22:58:43
>>477
なぜデータが大量にないと標準偏差を正確に計算できないの?
479名無しさん@そうだ選挙にいこう:2008/12/17(水) 23:05:14
>>478
1万人センター試験を受けてるとしましょう
その内一人のデータを取りました。満点の100点でした。偏差値は50です
もういいかい
480469:2008/12/17(水) 23:09:57
>472さん
ありがとうございます
481名無しさん@そうだ選挙にいこう:2008/12/17(水) 23:23:01
>>478
偏差という字をひとつずつ考えてみるといい
482名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:00:17
>>479
よくありません。
その偏差値はどうやって求めたのですか?
483名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:01:50
>>481
それで?
484名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:07:22
それだよ
485名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:23:53
>>482
いいかげんウザいからググレ
486名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:28:41
>>485
さっさと答えろよ。まぬけ。
487名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:50:05
STDEVは標本を使って計算する
STDEVPは母集団を使って計算する

前者はどちらかと言うと、データが多すぎて計算が困難だったり、データそのものを集めるのが困難な場合に、
その一部を使って計算の手間を省くというのが本来の用途
統計学的に標本数が十分なら標本は母集団と同じ傾向になるという考えによるもの。
無作為抽出のアンケートとか、国勢調査の速報なんかは標本を使って計算する。
488名無しさん@そうだ選挙にいこう:2008/12/18(木) 00:54:38
ワークシート関数なんていうブラックボックスを使うからややこしいことになる。
アルゴリズムを調べてVBAで計算すれば納得のいく結果が出るんでない?
489名無しさん@そうだ選挙にいこう:2008/12/18(木) 02:19:42
…みんな、ちょっといいか?
盛り上がってるとこすまないが、試しにセルに「=STDEVP(2.5,3,3,2,1,2,1.5,3,2.5,3)」って
入れてみたら0.672681202って出たんだが…

>>462が操作ミスをしたか、Excelの使い方をわかってない可能性ってのは、ないか…?
490名無しさん@そうだ選挙にいこう:2008/12/18(木) 02:31:04
やってみた。ホントだ…
ttp://aryarya.net/up/img/2162.png
491名無しさん@そうだ選挙にいこう:2008/12/18(木) 02:55:34
さらに追試。
分析ツールとワークシート関数の結果も一致した。
というわけで>>462の勘違いということでFA
492名無しさん@そうだ選挙にいこう:2008/12/18(木) 03:03:16
Excel総合相談所
  
  - 完 -

493名無しさん@そうだ選挙にいこう:2008/12/18(木) 07:54:54
ここの回答者がバカだらけということがばれたな。
おまえらはSUMIFとか配列数式の話だけしてろよ。
494名無しさん@そうだ選挙にいこう:2008/12/18(木) 09:38:07
自己紹介しなくていいです><
495名無しさん@そうだ選挙にいこう:2008/12/18(木) 09:56:22
なんだなんだ、ひよこ達が大騒ぎしてるじゃないか
ここんところ無かったから、なんだか懐かしいね。
496名無しさん@そうだ選挙にいこう:2008/12/18(木) 10:00:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 対応 

他のセル同士を対応させて、違う作業に反映させる方法はありますか?

東京都  500
京都府  600
佐賀県  700
↑のデータが存在して、これと別に

東京都
京都府
佐賀県
↑既に入力されたこのようなデータがあった場合に一々対応で数値を出せますか?
検索用の単語も分からず困っています。
よろしくお願いします。
497名無しさん@そうだ選挙にいこう:2008/12/18(木) 10:10:56
>>496
LOOKUPという関数でできますよ
ttp://pc.nikkeibp.co.jp/article/NPC/20060213/229142/
498名無しさん@そうだ選挙にいこう:2008/12/18(木) 10:13:44
>>497
なぜ、LOOKUPをすすめるんだよ・・・
あの関数の使用条件厳しいぞ。
きっと君はどこかで「LOOKUP関数がうまくいきません。」とか質問してるんだろ?

>>496
VLOOKUPの方がいい。
499名無しさん@そうだ選挙にいこう:2008/12/18(木) 10:55:28
>>498
どっちも似たようなものだと思うが・・・

>>496
どちらを使うにせよその例で言うと元になる数値が入ってる表は
都府県に当たる列でソートかけるの忘れるなよ
500名無しさん@そうだ選挙にいこう:2008/12/18(木) 10:58:22
>>499
>都府県に当たる列でソートかけるの忘れるなよ
それがあるから VLOOKUPにしろというのがわからないのかい?
501名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:04:05
>>498
多くの社会人は「LOOKUP」と提示されると
その関数を調べVLOOKUP,HLOOKUP,INDEX,MATCHと
関連する関数がある事を知る。
そして何が最適かは自分で判断する。
与えられたままに事を進めるのは、あんたぐらいだ。
502名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:08:25
>>501
まず、サンプルになる人間1万人くらいに聞いた回答を発表してもらおうか?
503名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:16:41
相談所で回答者叩いたり煽ったりする奴ってなんなの?
そういうことは雑談スレでやってくれ
504名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:23:40
Excel2002、VBA×です。

部門名・商品名・個数・使用期限月 のリストがあり、
A部門のB商品で使用期限がC月の個数はいくつ、
という集計をして集計行のみの表にしたいのですが、

集計行に部門名・商品名を表示させるにはどうしたらよいですか?
集計行のみ表示したときに部門名・商品名が表示されるようにしたいです。

現在の設定は下の通りです。
グループの基準:使用期限月
集計の方法:データの個数
集計するフィールド:商品名と使用期限月

○年○月 データの個数 の表示になります。
505名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:26:12
>>503
ここが2chだからだ。
そしてお前も(ry
506名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:31:06
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 含まれる行は表示しない

エクセルで"平日"と入力された行が複数行ある場合、Ctrlで全部の行を選んで表示しないではなく、
簡単に検索かなにかして、表示しないようにすることはできますか?
できるとしたら、その方法を教えてください。
507504:2008/12/18(木) 11:44:30
補足訂正
集計行のみの表示にしたときに、

A部門|B商品|使用期限C月|個数X
A部門|B商品|使用期限C月|個数X
A部門|B商品|使用期限C月|個数X
・・・

というリストになるようにしたいです。
個数は「合計」です。
508名無しさん@そうだ選挙にいこう:2008/12/18(木) 11:59:42
>>506
VBA ならできそうな気はする
509名無しさん@そうだ選挙にいこう:2008/12/18(木) 12:04:23
>502
>人間1万人くらいに・・・
( ´,_ゝ`)プッ  ガキ丸出しだな
510名無しさん@そうだ選挙にいこう:2008/12/18(木) 12:04:57
>>506
範囲を選択してから、[Ctrl+F]→[検索する文字列:平日]→[全て検索]
→[Ctrl+A]→[閉じる] としてから行の非表示処理
511506:2008/12/18(木) 12:50:36
>>510
ありがとうございます。

ところが、複数行が選択された状態になりますが、メニューバーから表示しないにすると、
シート全体が表示されなくなり、行をシフトを押しながら表示しないにしようとすると、
選択解除になってしまいます。

どうしたらいいでしょうか?
512名無しさん@そうだ選挙にいこう:2008/12/18(木) 13:08:03
>>511
それ、シートの非表示にしてるんだろ。
[書式][行][表示しない]だよ。
513506:2008/12/18(木) 13:10:50
>>512
できました♪
ありがとうございます。
その非表示のやりかたは知りませんでした。
すいません。
無事解決です。
514名無しさん@そうだ選挙にいこう:2008/12/18(木) 15:55:15
よくExcelにゴミがたまってファイルが大きくなるって聞きますが、どう言うことですか?
515名無しさん@そうだ選挙にいこう:2008/12/18(木) 16:28:31
>>514
データを追加したり変更すると、もともとデータの入っていた領域をそのまま放置して
新たにデータを入れる場所を追加していく場合がある。
すると、未使用の領域がどんどん溜まっていく。

新規ブックにシート全体をコピペすると空き領域が整理されてファイルが小さくなる。
516496:2008/12/18(木) 16:45:06
VLOOKUPで解決しました。
複数での回答ありがとうございます。
517名無しさん@そうだ選挙にいこう:2008/12/18(木) 17:31:47
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

範囲指定内(例えばd4〜z4)のセルの背景色が全て無色か、何かしらの背景色が1セルでもあるかの判別がしたいです

よろしくお願いいたします
518名無しさん@そうだ選挙にいこう:2008/12/18(木) 18:07:14
エクセルの学習ソフトについて質問があるのですが>2のBでスレ違いとなるそうで
どちらのスレで尋ねれば良いでしょうか?
519名無しさん@そうだ選挙にいこう:2008/12/18(木) 18:30:31
>>517
マクロを使わずに背景色を判別するには
GET.CELLを使う
ttp://keep-on.com/excelyou/2001lng2/200110/01100049.txt
あとはググれ
520名無しさん@そうだ選挙にいこう:2008/12/18(木) 18:38:12
>>518
そのソフトのメーカーに聞く
521名無しさん@そうだ選挙にいこう:2008/12/18(木) 19:33:48
>520
あ、いえそうではなくてすいません
お勧めのエクセル学習ソフトとか伺いたかったんです
522名無しさん@そうだ選挙にいこう:2008/12/18(木) 19:43:36
>>503
今回はさすがに回答が微妙だったからなぁ
>>518
教えてgooとか
たぶんまぁ、しょーもない内容だろうとは思う
523名無しさん@そうだ選挙にいこう:2008/12/18(木) 19:46:59
ベクターで調べたら結構あるね
ttp://www.vector.co.jp/vpack/filearea/win/edu/comp/
ttp://www.vector.co.jp/soft/winnt/edu/se368389.html
タダだし、使ってみては?
有料だとソースネクストがいいらしい、以前このスレで言ってたな
俺は嫌いだけどなー
524名無しさん@そうだ選挙にいこう:2008/12/18(木) 19:55:27
>>504
ごめん
何度も読み返したけど意味が判らない
集計結果で合計なのに全く同じ項目をリストにするってどういう??

項目別の集計ならピボットテーブルが手軽で、たしか2002以降はピボットテーブルと
リンクさせる関数が出来たからそれを使って好きな形の表を作れようになったし・・・

または関数だけでも可能だよ
>>306とか,条件を複数重ねる場合は>>309、あるいは配列数式かな
525名無しさん@そうだ選挙にいこう:2008/12/18(木) 23:19:21
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
<やりたいこと>
www.yaboo.ko.001.html〜200html
などのように、末尾だけが違う複数のHPのテキストデータを
全て一枚のエクセルのシートに貼り付けたいです。
一つ一つ開いてマウスで文字をドラッグし、コピーするには
時間がかかりすぎます。
526名無しさん@そうだ選挙にいこう:2008/12/18(木) 23:29:24
>>525
「VBA-否」なので_
527525:2008/12/18(木) 23:30:32
>>526
VBA頑張ります!
528名無しさん@そうだ選挙にいこう:2008/12/18(木) 23:31:29
>>525
ダウソソフトで一括ダウソしたあとコマンドプロンプトからcopyコマンドで1つにまとめればコピペは1回で済む
Excelのテクニック何も必要なし
529525:2008/12/18(木) 23:40:53
>>528
ウチはIT系会社なんですが、ソフトを勝手にDLするのは
禁止されているのです。会社のPCでやりたいと思っております。
社内イントラのデータなので家ですることが出来ないのです。
530名無しさん@そうだ選挙にいこう:2008/12/18(木) 23:42:50
>>529
じゃあftpで丸ごと拾ってこい
531525:2008/12/18(木) 23:45:01
>>530
FTP?ITの新人にはちょっと分からないです。
すみません
532名無しさん@そうだ選挙にいこう:2008/12/19(金) 00:56:03
ftp/?
533名無しさん@そうだ選挙にいこう:2008/12/19(金) 03:55:52
>>525
FTPがちょっと分からないITの新人受けたw

社内イントラならそのhtmlファイルが置いてあるとこから
まるっとコピーできそうなもんだが無理なの?
ここで分からないまま情報小出しにしてる暇に先輩か上司に相談したほうが早そうだが
534名無しさん@そうだ選挙にいこう:2008/12/19(金) 06:35:33
まぁ俺の友人のプログラマ(当時4年目くらい)にも、
「レジストリって何?」とか言う奴もいた

ただ>>525はIT系云々以前にものの聞き方がアレなので
どっちにしろ無理っぽい
大人しく上司にでも相談してくれ
535名無しさん@そうだ選挙にいこう:2008/12/19(金) 07:12:27
複数のページなのにホームページとは?
ホームがそんなにたくさんあるのか?
536名無しさん@そうだ選挙にいこう:2008/12/19(金) 07:32:51
IT系の会社であって総務系とか
537名無しさん@そうだ選挙にいこう:2008/12/19(金) 09:48:07
役員の秘書とか完全に文系だしなあ
538504:2008/12/19(金) 10:06:12
>524 レスありがとうございます。

集計行のみの表示にしたときに、
「集計の設定」で「グループの基準」に指定した列の項目一つしか表示されませんが、
それを複数表示したかったんです。


「グループの基準」に使用期限月を指定、集計行のみ表示
(空欄)|(空欄)|2000年1月の合計|40個
(空欄)|(空欄)|2000年2月の合計|80個
(空欄)|(空欄)|2000年1月の合計|50個
・・・
  ↓
A1部門|B商品|2000年1月の合計|40個
A1部門|B商品|2000年2月の合計|80個
A2部門|B商品|2000年1月の合計|50個
(このように「グループの基準」に指定した以外の項目も集計行で表示したい)

集計行のみ表示 → AB項目列を列選択(編集→ジャンプ→可視セルのみ)
 → Ctrl+Dで下向きコピー
でできるかと思ったらできませんでした。

ピボットテーブルを初めて使ってみて、そこそこの結果が得られたのですが、
このスレでときおりピボットテーブルが避けられている(「またピボット厨か」など)のは
なにか理由があるのでしょうか?
539名無しさん@そうだ選挙にいこう:2008/12/19(金) 10:40:11
【1 OSの種類         .】 Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 保護、オートフィルタ、並び替え、テーブル

≪やりたいこと≫一部を保護してあるテーブルで並び替えをしたい。

≪詳細≫
現在、Excel2007 からの機能である
テーブル(オートフィルタ標準装備/解除可能だが一部だけというのは不可)
を用いて、下記のような出納長を作っています。
A(月日)、B(収入)、C(支出)、D(残高)

D列は事情により式を複雑に作ってあるため、数式の保護をしました。
チェックボックスの『並び替え』『オートフィルタ』はチェックしてあります。
オートフィルタで抽出するのは問題なくできるのですが、並び替えができません。
540名無しさん@そうだ選挙にいこう:2008/12/19(金) 10:42:28
>>538
きっちり1対1で対応してるんならVLOOKUPで引っぱってくる

嫌われてるのはピボットじゃなくてピボット厨。理由はピボットとか関係なく厨だから
541名無しさん@そうだ選挙にいこう:2008/12/19(金) 13:54:34
簡単な話ですまんが、現在の満年齢を計算する計算式を教えてください。
542名無しさん@そうだ選挙にいこう:2008/12/19(金) 15:38:00
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【5 検索キーワード     】 エクセル ワード 貼り付け プリントアウト

エクセルの表をワードに貼り付けました。
ワードの作業画面や「印刷プレビュー」では
貼り付け範囲内にエクセル表が全て収まっているのに、
実際にプリントアウトすると、全て収まっていません
(エクセル貼り付け部分のみ、PC上ワード画面より拡大されてプリントアウトされる)。
プリントアウトを、PCワード上の画面表示と同じにしたいのですが、
どこの何をイジれば調整できるものでしょうか?

ご存知の方おいででしたら
よろしくお願いいたします。
543名無しさん@そうだ選挙にいこう:2008/12/19(金) 15:39:33

失礼、OSはXPです。
544名無しさん@そうだ選挙にいこう:2008/12/19(金) 15:42:01
>542

仕様です。
自分で微調整してください。
545名無しさん@そうだ選挙にいこう:2008/12/19(金) 16:14:34
>>541
A1に誕生日
本日の満年齢=DATEDIF(A1,NOW(),"Y")
546名無しさん@そうだ選挙にいこう:2008/12/19(金) 16:17:14
>>542
セルの幅や高さをギリギリに調整すると間違いなく中身が切れます。
手動で広げてください。
十分な余裕を取るか、ひたすら試行錯誤するしかありません。
547名無しさん@そうだ選挙にいこう:2008/12/19(金) 18:21:24
やっと複合参照がわかった・・・
要するに動かしたくないとこに$つければいいんだな
参考書&サイトを2時間眺めてやっとわかった
548名無しさん@そうだ選挙にいこう:2008/12/19(金) 18:25:11
>>544>>546
早速ありがとうございます。
仕様とは初めて知りました。ふざけてますね。
量がかなりあって面倒なので、
bmpにして貼り付けてみようと思います。
ありがとうございました。
549名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:05:08
>547

普通の人は複合参照なんて言わない。
駆け出しなら言葉は正確に覚えましょう。
550名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:22:40
>>549
駆け出しの意味がわからないけど「複合参照」って
書いてあるよ?
551名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:25:11
>>547
ここで質問しないと理解できないレベルなのに
「ふざけてますね」はどうかと思うね。
もうちょっと謙虚になりなさい。
552名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:25:44
ごめん>>547じゃなくて>>548だった
553名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:33:09
駆け出しさんは相対参照と絶対参照は知っていても
複合参照って言葉は知らないこと多いね

A1 相対参照
$A$1 絶対参照
$A1絶対列参照(列絶対参照)
A$1絶対行参照(行絶対参照)

このうち後者2種をまとめて複合参照と呼ぶ
行と列のいずれかに絶対参照と相対参照を複合して使っているからだ
これはExcelのヘルプにも載ってる正式な名称なので覚えておいた方がいい
554名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:42:06
まぁ、イバちゃって
オコチャマね!
555名無しさん@そうだ選挙にいこう:2008/12/19(金) 19:46:59
顔が真っ赤だよw
556名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:01:32
複合参照っつってもどっちのことかわからないし
どっちか説明することになるなら最初から使わないよな
557名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:06:49
必死な言い訳恥ずかしい
558名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:20:55
556は今日始めての書き込みなんだぜ
559名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:24:00
俺は今日が生まれて初めての書き込みなんだぜ



と、書くだけなら何とでも書ける

そもそも件の本人じゃなきゃ誤解されたとしてもわざわざ言い訳がましく他人宣言なんてしない
本人だからこそ、過剰に気にして墓穴を掘ってしまう
560名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:28:33
俺は今日が生まれて初めての女の子をデートに誘ったんだぜ
561名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:35:24
複合参照なんて言葉初めて知ったけど
たしかに知っていてもいいとは思う

ただ会社では使い道がないのは確かだな・・・まず誰にも通じないから説明しなきゃならないし
絶対参照も覚えたての時は使ってたけど絶対なんて名前が付いてるのに
indirect程絶対ではないので迷ってダラー使うやつって言ったりする
562名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:49:26
まぁ、現実に使うかどうかは別として

> 普通の人は複合参照なんて言わない。
> 駆け出しなら言葉は正確に覚えましょう。

が間違いであり恥ずかしい事実だけは変わらないな。

しかし、うちの会社では指示書などでは複合参照って結構使うよ。
複合参照が何か解ってる奴なら、どっちの複合参照使うべきかは
自分で判断できるし、何処にどっちの複合参照使うかなんてのは、
指示する方ではなく指示される方が、要求仕様に基づいて考える
べき事だからな。
563名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:50:39
どんな会社なのか本気で興味がある
エクセルで総務のお仕事お助けします!とかFAXで来る、あんな系統の会社?
564名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:59:14
  ┏┳┳┓     ハイ.     ┏┳┳┓
┏┫┃┃┃     雑談は   ┃┃┃┣┓
┃┃┃┃┣┓   ここまで ┏┫┃┃┃┃
┃      ┃┃┏━━━┓┃┃      ┃
┃ 雑談   ┣┫ . ・∀・ ┣┫. STOP!┃
┗━━━━┛┗┳━┳┛┗━━━━┛
            ┏┻┓┃
        ┏━┛  ┣┻┓
        ┗━━━┫  ┗━┓
.             ┗━━━┛
565名無しさん@そうだ選挙にいこう:2008/12/19(金) 20:59:19
>>562
>>指示書などでは複合参照って結構使うよ。

どんな会社やねんw

自演擁護はもうウンザリです。
566名無しさん@そうだ選挙にいこう:2008/12/19(金) 22:29:59
>>538
君のやってることは無意味なんだよっていわれて、むちゃくちゃ怒るやつ。
多分内心ではそのことに気付いているんだよ。でも認めたくないんだ。
567名無しさん@そうだ選挙にいこう:2008/12/19(金) 22:48:56
ピボット厨は素直にVBAを認められない奴だと思うんだな
両方使えば、両方の長所がはっきりわかると思うんだけどねぇ
どっちも便利なんだから両方使えばいいのに
568名無しさん@そうだ選挙にいこう:2008/12/19(金) 23:19:14
認めないんじゃない

さっぱりわかんないんですよーだ!!
569名無しさん@そうだ選挙にいこう:2008/12/19(金) 23:44:44
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 ほんの少し(猛勉強中)
【4 VBAでの回答の可否】 少し可(がんばって解読します)
【5 検索キーワード     】 エクセル 図形 セル 関連付け 差込印刷

エクセルのみで、社員の健康診断票を作成しています。
社員IDを、拾ったバーコード生成マクロでバーコード化
→差込印刷マクロで雛形所定位置に印刷。

名前、部署、生年月日など文字・数字は差し込めるのですが、バーコード(bmp)を
差し込むことができません。この図(バーコード)をセル内の値として認識させることは
可能でしょうか?
ド素人なりに『セルの書式設定』『表示形式』『ユーザー定義』を怪しみましたが
それらしいとこに辿り着けませんでした・・・

以上、宜しくお願いします
570名無しさん@そうだ選挙にいこう:2008/12/19(金) 23:58:21
>>569
超てっとり早くするならそのバーコードをペイントで開いて、ctrl+A→ctrl+cでコピーしてエクセルの画面にもどり、
ctrl+vで貼り付け
セルのはばを大きめにしておくとよい

図形を選んでそこから挿入するのもいい

対利ょうにあるならvbaだな。今はよってるので翌日か他の人の回答 を まて
571名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:10:14
>>569
画像をセルに入れることはできない。
ワークシートに画像を貼り付けて、大きさをセルと同じにしてごまかすしかない。
572名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:15:23
バーコードの形式にもよるけど、バーコードフォントというのを入れれば
バーコードを文字列として扱うことができるようになる。
573名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:19:01
>>567
ピボットとVBAを比較の対象にする事事体あほくさい。
ピボット厨のダメな所は何でも無理やりピボットでやる事。
VBA厨のダメな所はピボットを認めない所。
どっちもバカだな。
574名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:27:39
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 わかりません
【5 検索キーワード     】 レコード、抽出、COUNTIF

あるテーブルから条件にあったものだけカウントしたいんですが、
条件を絞り込んでカウントする数式がわかりません。

具体的には、競馬のデータなんですが、H7:H33に晴れの日や曇り、雨など天気のデータがあります。
そしてK7:K33には1着、2着、3着、4着、など着順のデータがあります。

このデータを使って、別のセルに晴れの日は1着が何回で2着が何回か、晴れ以外の日は1着が何回2着が何回かなど
条件を絞り込んでカウントしたいんですが、どんな数式を入れればいいんでしょうか?

575名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:28:37
>>573
ピボット厨のダメな所は何でも無理やりピボットでやろうとしてできない事。
VBA厨のダメな所は何でも無理やりVBAでやる事。
だと思うが
VBAでピボットテーブルは作れるがピボットでVBAは実現できない
だがVBAで1時間かけて作ったピボットはピボット使える人にと取っては10数秒でできること
両方できるが、VBA使うほうが割かし便利なんでVBAばっかり使ってる
ピボット使えるほうが便利なんだろうけどなー
一言で言うと、PCオタクって奴なんだろうけどなw.
576名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:31:07
>>574
作業列を使うか、countifかな
作業列は表がH列ならI列に=if(H1="晴れ"=h1,"")
といった感じでj、k列も同様に曇り、雨とするもの
countifはぐぐったほうが早い。が、やはり作業列のほうが早いと思う
577名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:32:54
>>575
お前みたいに使い分けができない奴が一番クソ。
578名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:34:57
>>574
=SUMPRODUCT((H7:H33="晴")*(K7:K33="1着"))
579名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:36:38
>>570-572
レス有難うございます。社員が200人もいるので手動は厳しいです・・・
かといってVBAの知識はほぼないに等しいので、バーコードフォント
でとりあえず進めてみます。

ありがとうございました。

580名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:37:17
>>576
ありがとうございます。
countifは晴れの日の1着のセルだけ範囲指定して検索値に1と入力してみたんですが
ダメでした。晴れの日の出走回数だけはcountifで出来たんですが…

作業列と言うのは初めて知りました。カウントした数値が出せるかどうかググってやってみます。
581名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:39:07
>>577
まーそのレスも予想通りだったわ
ただこのスレを見てる俺としてはできるだけピボットで答えて欲しいと思うけどね
(見たこともない使い方なんていくらでもあるだろうから)
がんばってね
582名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:40:24
>>576
何その作業列数式の作り方?w
583名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:40:38
>>578
ありがとうございます。やってみたんですが0になってしまいました…
584名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:41:16
>>580
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html
関数一覧ね
ユーザー書式で「0"着"」とかなってたりしない?ちなみにこの場合は1着なら「1」で検索しないと見つからない
585名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:41:19
>>581
生粋のVBA厨だったかw
586名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:44:11
>>583
>>578の式は、セルに入っている通りの文字列を入れないとダメだよ。
たとえば順位に「着」が付いてなくて数字だけなら
=SUMPRODUCT((H7:H33="晴")*(K7:K33=1))
みたいにしなきゃいけないし、天気に送りがながあれば
=SUMPRODUCT((H7:H33="晴れ")*(K7:K33=1))
とかね。
587574:2008/12/20(土) 00:47:17
ありがとうございます。一応着順は数値の[1]で[1着]とは入力してないです。
フィルタ使って数を数えればわかるんですが、関数使って何とか出来ないものかと思って
まだ初心者なんで皆さんの意見がすごく勉強になります。
588名無しさん@そうだ選挙にいこう:2008/12/20(土) 00:47:49
>>585
まぁ、環境にもよるだろうね・・・
総務なんだけど、基本的にはピボットで出した表を提出すればそれでokと思うんだけどね
何故かそれを前年比で出してだの、取引先AはXXとyyで7:3に分けてだの
さらにその前はXXがいないからzzでその比は・・とか言われたらVBAもうまくなりますよorz
逆にその資料を一瞬で出せるのが目障りなのかもしれないけどね。まぁなんだ。零細企業の俺乙
>>582
そもそも競馬のデータをエクセルで時点で
ああいうのはパドック(当日の調子)が最重要だと何度言えば
589574:2008/12/20(土) 00:54:47
>>586
ありがとうございます!出来ました!本当にみなさんのおかげです。
いくつか条件をかえてまたやってみます。
590574:2008/12/20(土) 00:59:20
>>588
すいません好きな馬の成績表作ってデータ調べたりして遊びたいなぁって思ったんで…

この関数がデータにホント役に立ちます!重ね重ねありがとうございました!
591名無しさん@そうだ選挙にいこう:2008/12/20(土) 06:15:54
>>588
どっちかというとVBAよりピボット使うほうがいい典型例のようにみえる。
592名無しさん@そうだ選挙にいこう:2008/12/20(土) 06:31:26
ピボット厨はVBA使えるがあえて使わない。
しかしVBA厨はどうやら本当にピボットが理解できないらしい。
593名無しさん@そうだ選挙にいこう:2008/12/20(土) 12:33:05
>>574
条件が反映されずに難儀するなら=SUMPRODUCT((H7:H33="晴")*(K7:K33="1着"))の
="晴"の部分を=H35とか、="1着"の部分を=K35とか別セルを指定して
そこに集計対象のセルから条件をコピぺするか、入力規則のリストを使うと簡単で確実に集計できるよ
リストは集計表にデータを入力するときにも、表記揺れによる集計ミスを減らせるからお勧め
594名無しさん@そうだ選挙にいこう:2008/12/20(土) 12:54:04
>>569
少し違うけど前にここで相談して作った奴
かなり適当なのでもし参考になれば程度のものです

Sub バーコード貼り付け()
Dim Filename As String
'面倒なのでエラーが出ても出てもいちいち止まらないようにレジュームしてます
On Error Resume Next
'まずシート内にあるオブジェクトをすべて消す
ActiveSheet.DrawingObjects.Delete
'エクセルファイルと同じフォルダ内にある"バーコード"という名前のフォルダから
'C2に入力した番号と同じ名前のbmpファイルを拾ってきて
Filename = ActiveWorkbook.Path & "\バーコード\" & Range("C2").Value & ".bmp"
'A6の結合セルの中央にはみ出さないサイズに拡大縮小して張り付ける
With ActiveSheet.Pictures.Insert(Filename).ShapeRange
.LockAspectRatio = msoTrue
.Height = Range("A6").MergeArea.Height
If .Width > Range("A6").MergeArea.Width Then
.Width = Range("A6").MergeArea.Width
End If
.Top = Range("A6").Top + (Range("A6").MergeArea.Height - .Height) / 2
.Left = Range("A6").Left + (Range("A6").MergeArea.Width - .Width) / 2
End With
End Sub
595名無しさん@そうだ選挙にいこう:2008/12/20(土) 19:31:39
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 レーダー 円 グラフ

データが3つあり、そこからレーダー図を作成したいです。
データを選び、レーダー図を選択すると、自動的に三角形のグラフができますが、
これを円グラフにすることは可能でしょうか。

ttp://oshiete1.goo.ne.jp/qa4389551.html
一度参考にしましたが、データを重ねているわけではないので、実行できませんでした。

よろしくお願いします。
596名無しさん@そうだ選挙にいこう:2008/12/20(土) 21:00:57
>>595
「レーダー図」と「円グラフ」ってのは普通別物だけど、レーダーチャートを円形に表示したいってこと?
597595:2008/12/20(土) 21:51:37
>>596
遅くなってすみません。

はい、その通りです。
三角でなく円形のレーダーが作りたいのです……

ご教授お願いいたします。
598名無しさん@そうだ選挙にいこう:2008/12/20(土) 22:15:18
教授ー!
読んでますよーっ
599名無しさん@そうだ選挙にいこう:2008/12/20(土) 22:20:41
たまに>>598みたいなウザい奴が出てくるよな。
http://dic.yahoo.co.jp/dsearch?p=%E6%95%99%E6%8E%88&enc=UTF-8&stype=0&dtype=0&dname=0na
思い込みで煽るんじゃねえ、カス。
600名無しさん@そうだ選挙にいこう:2008/12/20(土) 22:34:35
ご教授はダメ、ご教示だろうがっていうやつ2chに多いよね。
601名無しさん@そうだ選挙にいこう:2008/12/20(土) 23:12:05
>>597
むずいな
設定にはなさそうだから、項目数を増やして間を補完するとかしかないんじゃね?
602601:2008/12/21(日) 00:15:17
gnuplotで描いちゃうとかもアリか。
603597:2008/12/21(日) 02:12:28
皆様、遅くなりましたが、ありがとうございます。
いろいろやってみて、自分には無理そうだったら三角で行こうと思います…

ありがとうございました。
604569:2008/12/21(日) 02:38:16
>>594
ありがとうございます。参考になる部分がかなりあります

>'C2に入力した番号と同じ名前のbmpファイルを拾ってきて

以下をコピペ、A6をH1にしてそのままいけそうな気がします!


605名無しさん@そうだ選挙にいこう:2008/12/21(日) 04:13:34
>>599
おまえ、恥ずかしいなw
606名無しさん@そうだ選挙にいこう:2008/12/21(日) 05:49:05
607名無しさん@そうだ選挙にいこう:2008/12/21(日) 07:58:13
教えてもらう内容が高度かそうでないかなんて誰がどうやって判定するんだよ。
608名無しさん@そうだ選挙にいこう:2008/12/21(日) 08:10:09
609名無しさん@そうだ選挙にいこう:2008/12/21(日) 08:40:29
>>608
つまり「ご教授」と「ご教示」のどちらが適切かを判定する客観的な基準は
存在しないということでいいですね?
610名無しさん@そうだ選挙にいこう:2008/12/21(日) 09:16:12
そうでもないか
611名無しさん@そうだ選挙にいこう:2008/12/21(日) 09:25:24
例えば「教諭する」という表現は辞書にのっていませんが誤用でしょうか?
612名無しさん@そうだ選挙にいこう:2008/12/21(日) 09:36:46
>>611
辞書に「スル」という活用で載ってるんだが
613名無しさん@そうだ選挙にいこう:2008/12/21(日) 09:49:33
>>612
そうなんですか!
私の見た辞書にはのっていませんでした。辞書にはないからてっきり間違いだと思ってました。
ご教授ありがとうございました。
614名無しさん@そうだ選挙にいこう:2008/12/21(日) 09:51:39
エクセルの回答は全て高度です。
よって、教授で問題ありません。
>>606
クソスレw
615名無しさん@そうだ選挙にいこう:2008/12/21(日) 10:04:05
>>606
クソスレである事の根拠
http://www.tt.rim.or.jp/~rudyard/index.html

>WEBサイトを何気なくながめているだけで、誤字等はたくさん見つけることができます。
>そういった誤字等を検索エンジンにかけてみて、どれくらいヒットするかを調べて考察を加えたものがこの「誤字等の館」です。
>考察といっても、そんな大層なものではなく、適当な推論です。
>当方、言葉の専門家でも研究者でもありませんので。

>考察といっても、そんな大層なものではなく、適当な推論です。
>考察といっても、そんな大層なものではなく、適当な推論です。
>考察といっても、そんな大層なものではなく、適当な推論です。
>考察といっても、そんな大層なものではなく、適当な推論です。
616名無しさん@そうだ選挙にいこう:2008/12/21(日) 10:08:40
スレ…?
617名無しさん@そうだ選挙にいこう:2008/12/21(日) 10:12:54
>>616
スマン…ww
逝ってくる。。。。
618名無しさん@そうだ選挙にいこう:2008/12/21(日) 10:14:50
間違い指摘を受け入れられずに必死に抵抗するも
更に間違いを重ねて墓穴を掘り続ける

はてさて、どこまで逝くきやらw
619名無しさん@そうだ選挙にいこう:2008/12/21(日) 10:17:14
>間違い指摘を受け入れられずに必死に抵抗するも

それはお前だwww
620名無しさん@そうだ選挙にいこう:2008/12/21(日) 10:21:15
>>618
あわてものがスレとか言ってしまいましたが、無関係な間違いなのでスルーしてください。
あなたがご教授は間違いと考える根拠は何?
621名無しさん@そうだ選挙にいこう:2008/12/21(日) 11:35:01
もうやめとけ
622名無しさん@そうだ選挙にいこう:2008/12/21(日) 12:59:05
「老師、どうか私に、剣の極意を御教授下さい。」

「いやいや、私に出来るのは極意を御教授などと大層なものではない
せいぜいを心掛けを教示するまで、それでも良いか?」

「お願いします。」

的な、あなたの知識は尊いですといった謙遜を込めた御教授
623名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:12:29
>>622
で、「ご教授ください」は間違いなの?間違いじゃないの?
624名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:23:29
自分で判断しろよ
625名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:23:33
質問するほうは
御教授と言えば失礼ではないと思う

もちろんたいした事でも無いのに御教授と言えば
逆に失礼な、馬鹿にした印象与える場合も
626名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:37:00
>>625
頭の中が分裂しているようだな。
どっちなの?
627名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:41:06
エクセルファイルをCSV(タブ区切り)に変換したいのですが、
セルの計算式が値で出力されて困っています。

式のまま出力できないでしょうか?

628名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:44:39
「ご教授は間違い」派ってなんなの?
何を根拠に間違ってると主張しているの?
根拠もないのに言ってるの?
629名無しさん@そうだ選挙にいこう:2008/12/21(日) 13:51:11
>>626
頭悪いな
630名無しさん@そうだ選挙にいこう:2008/12/21(日) 14:15:14
>>627
ツール/オプション/数式にチェックしてから保存
631名無しさん@そうだ選挙にいこう:2008/12/21(日) 14:32:00
>>628
間違いかどうかは各個判断なんだよ
受け手が判断するだけなんだから
OKと思う人はOKだしNGと思う人にはNG
「ご苦労様です」って言われて「ありがとう」と思うか「何様だテメェ」と思うかの違い
わかったかクズさっさと死ねボケチンカス逆蛍
632名無しさん@そうだ選挙にいこう:2008/12/21(日) 14:40:14
>>631
やっとまともな意見が出てきたか。
まあそういうことだよね。
633名無しさん@そうだ選挙にいこう:2008/12/21(日) 14:58:04
「教授ください。」が嫌な奴は黙って回答しなければいい。
気にならないなら回答すればいい。
「教授」と書いてあるからといって煽る奴が一番カスでおk?
634名無しさん@そうだ選挙にいこう:2008/12/21(日) 15:05:07
>>631
それは違うだろ
ご苦労様ですは同等以下の人に使う言葉だから何様扱いは当たり前
持ち上げた表現を使われて、いやこの場合
他人が他人に尊敬表現を使っているのを見てキレてる基地外がいるだけだ
635名無しさん@そうだ選挙にいこう:2008/12/21(日) 15:22:28
たとえ当たり前でも何様扱いすると空気読めないやつだとしか思われん
物事の真理よりもそちらのほうが大事である
636名無しさん@そうだ選挙にいこう:2008/12/21(日) 16:10:52
そういう意味でもご教授にぐだぐだ言う奴が一番空気読めてないよね
真理という意味ではなおさら
637名無しさん@そうだ選挙にいこう:2008/12/21(日) 16:14:49
勘違い誤用指摘厨はもちろんアレだがそろそろまとめて空気読め
638名無しさん@そうだ選挙にいこう:2008/12/21(日) 16:29:16
おまいら暇だな。
もっとやれ。ファイヤーw
639名無しさん@そうだ選挙にいこう:2008/12/21(日) 17:46:21
つまりどういう場合が正しくてどういう場合が間違いなんだ?
教示って使っておけば問題はなさそうだが
640名無しさん@そうだ選挙にいこう:2008/12/21(日) 19:09:11
まあ経験則として言えるのは、この手のスレでご教授下さいとかご教示下さいとか書く質問者は丁寧な言葉使えば何書いても許されると思ってる馬鹿が多いって事かな。
641名無しさん@そうだ選挙にいこう:2008/12/21(日) 19:10:27
>>630
ありがとうございます
642名無しさん@そうだ選挙にいこう:2008/12/21(日) 19:11:48
教授 教示 になります おります おりません よろしいので あたりをNG
マジで鬼嫁
643名無しさん@そうだ選挙にいこう:2008/12/21(日) 20:30:50
>>640
正解
644名無しさん@そうだ選挙にいこう:2008/12/21(日) 22:11:16
この討論をエクセルで解決するんだ!
645名無しさん@そうだ選挙にいこう:2008/12/21(日) 22:16:53
if 質問者 and xlBAKA then
  レス = 質問内容 & vbcrlf & "ご教授下さい。"
else
  レス = 質問内容 & vbcrlf & "ご教示下さい。"
end if

call 投稿(レス)
646名無しさん@そうだ選挙にいこう:2008/12/22(月) 01:39:03
【1 OSの種類         .】 WindowsXP Pro PS3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 マクロの記録を改変できる程度
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフ 双曲線 "y=1/x" "x=0"

双曲線y=1/xのグラフ(平滑線で繋いだ散布図)

A列 B列
x y=1/x
a2 b2=1/a2
------------
-1 -1
-0.99 -1.01010101
-0.98 -1.020408163
(中略)
-0.02 -50 ←(1)
-0.01 -100 ←(2)
1.97758E-16 5.05667E+15 ←(3)
0.01 100 ←(4)
0.02 50 ←(5)
(中略)
0.99 1.01010101
1 1

グラフを表示させるとポイントがこんな感じで結ばれます。
−(1)−(2)−(3)−(4)−(5)−

これをこんな感じに結びたい場合はどうしたら良いですか?
−(1)−(2)    (4)−(5)−

【やってみたこと】B列(例えばB5)に「=IF(a5=1,"",1)/a5」を入れてみた。
647名無しさん@そうだ選挙にいこう:2008/12/22(月) 02:06:12
>>646
(3)の部分をA列もB列も空白にする
648名無しさん@そうだ選挙にいこう:2008/12/22(月) 02:22:30
649646:2008/12/22(月) 11:47:27
>>647-678
THXです。
でも(3)を空白にする以外に方法ありません?
B列あるいはC列に式を作るとか。
650名無しさん@そうだ選挙にいこう:2008/12/22(月) 14:12:07
>>649
ない。
見た目をごまかしたいなら、Sheet2にもう一組座標のデータを入れといて、そっちでグラフを書く。
Sheet1を参照するような数式にしておけば、方程式の変更にも対応できる。
651名無しさん@そうだ選挙にいこう:2008/12/22(月) 23:56:45
(3) を 0 にしてエラーだしたらダメなのかな?
652名無しさん@そうだ選挙にいこう:2008/12/23(火) 00:19:48
>>651
エラーだとグラフがつながってしまう
653名無しさん@そうだ選挙にいこう:2008/12/23(火) 10:04:35
Excel使いの方におたずねしたいのですが、Excelで旧暦と潮汐を表示させるような式ってくむことができますでしょうか?

何月何日といれたら、旧暦と大潮・中潮・小潮・若潮・長潮などの表示ができるようにしたいのです。

実現された方やこういうプログラムがあるよ〜などご存じの方がいたら教えてください。
654名無しさん@そうだ選挙にいこう:2008/12/23(火) 10:28:38
>>653

全部登録してvlookup
655名無しさん@そうだ選挙にいこう:2008/12/23(火) 10:41:52
>>651
そうそう。君はそうやって人の言うことを聞いとくべきだよ。
六年生とは思えないほど稚拙な文章だったけど、面白かったよ。
656名無しさん@そうだ選挙にいこう:2008/12/23(火) 11:11:37
>>653
国立天文台HPでデータが手に入るか調べてごらん
657名無しさん@そうだ選挙にいこう:2008/12/23(火) 11:30:19
658名無しさん@そうだ選挙にいこう:2008/12/23(火) 16:18:55
                                  
      __、                          
   .,ー'"′ `'''‐,、            ,!           
   ,,!       ヽ    .r‐--,,,,,,,―へ ヽ        r  
   |        │   |         \      丿  
   (          ″   .|           ヽ、   ,/   
   `'-,__            |            ‘i、  .,i´   
     ‘'ー---、,,,    |             `!,,,i´    
           ゙゙l、  -|,,,,,,,,,,,,,/           八     
            ゙l   .|            ,,″`i、    
    :i、       |   .,!           ,/   `'i、   
    ‘i、       l゙  .,!           ,r′    `-,  
     .゙l、    ,,/  .{――ー'''''゙^   ー'"`       ` 
      ゙―-''''"                         
659名無しさん@そうだ選挙にいこう:2008/12/23(火) 21:53:40
孤独な冬厨が湧いてくる年末です。
皆様、ご辛抱です。
660名無しさん@そうだ選挙にいこう:2008/12/23(火) 22:58:02
質問です。よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(多少は…という程度)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 オートシェイプ 削除
                 削除 トリガー
                VBA オートシェイプ 削除


<やりたいこと>
 オートシェイプ内にテキストが記載されていて、
 付箋紙のように使用しています。(ワークシート内に複数存在することも多々あり)
 そのオートシェイプを選択し、Deleteキー等で削除した場合に、
 オートシェイプの中のテキストを指定のワークシートに保存したい。
 ここで言う指定のワークシートは任意で決めてもらってもかまいません。
 (履歴が記載されているワークシートだということがわかればOKです。)
 
よろしくお願いします。
661名無しさん@そうだ選挙にいこう:2008/12/24(水) 00:20:41
>>660
オートシェイプを削除するにはDelキーを押す以外に右クリックや編集メニューから切り取りを選ぶ
という方法があるが、これをオートシェイプが消えるよりも前にVBAで感知するのはかなり難しいので、
何か別の方法を考える必要がある。
もっとも簡単に実現できるのは削除ボタンを作り、それ以外の方法では削除しないこと。
662660:2008/12/24(水) 00:25:55
多少操作的に面倒になってしまいそうですが、
削除ボタン使用でも問題ないと思います。

指定したオートシェイプの中のテキストをバックアップできればOKです。
663名無しさん@そうだ選挙にいこう:2008/12/24(水) 00:27:01
>>660
タイマーで一定時間ごとにシート全体をチェック、すべてのテキストの一覧を作業用シートに書き出しておく。
この一覧に変化があったら、その部分を目的のシートに書き込む。
みたいな感じかなあ。
はっきり言ってかなり難易度が高い希ガス。俺の知識が足りないだけかもしらんが。
オートシェイプの変化ではChangeイベントとか発生しないんだよなあ。
664名無しさん@そうだ選挙にいこう:2008/12/24(水) 01:03:40
>>662
オートシェイプからテキストを取り出したあと図形を削除するマクロ

Sub a()
  If TypeName(Selection) = "TextBox" Or TypeName(Selection) = "Rectangle" Then
    MsgBox Selection.Characters.Text
    Selection.Delete
  End If
End Sub
665名無しさん@そうだ選挙にいこう:2008/12/24(水) 20:39:43
【1 OSの種類         .】 Windows2k
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


http://sakuratan.ddo.jp/imgboard/img-box/img20081224203800.jpg

よく見かけるこういう散布図グラフを書きたいのですが、
どうすれば良いのでしょうか?
よろしくお願い致します。
666646:2008/12/24(水) 22:12:48
>>647-652
レスTHXです。
百戦錬磨のここの住人が無理というのなら無理なんでしょう。
あきらめて(3)を空欄にします
667名無しさん@そうだ選挙にいこう:2008/12/24(水) 22:19:50
【1 OSの種類         .】 WindowsXP Pro SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 まだまだ勉強中の身です
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 "マクロ 差込印刷" "マクロ データ参照 印刷"など印刷に関して

印刷用テンプレートのシート、及び元データのシートを作りVLOOKUPで元データとなるシートから値を引っ張り
[1] [058][12-315][3]
[2] [128][18-584][4]
[3] [096][98-219][8] ←このような感じで
元データには、アンカーとなる通し番号、引っ張ってくる各種数値を用意し、
「番号を入力するとテンプレート上に必要な情報を出して、印刷」できる所までは作ったのですが、
元データの数が増え、頻繁に印刷をせまられる状況になってきました。(例えば3,5,15,28番のデータで3枚ずつップリントアウト、とか)
そこで、データに新しくフラグ立てする(○を入れる等)ための行を加え、フラグを立てた分のデータをテンプレートに入れて印刷する方法を探しています。

もしご存知でしたらどなたかご教授下さい。
668名無しさん@そうだ選挙にいこう:2008/12/24(水) 22:25:51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 素人
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 "セル" "行を追加" "文字数"など

エクセルのシートに大量のテキストデータをwebクエリで取得しましたが、
A4に収まりませんでした。一つのセルに対する文字数を制限し、一定数
を超えるセルがあれば、行を追加し、すぐ下のセルから途中を続ける、
という方法を探しております。
無知ですが、よろしくお願いします。
669名無しさん@そうだ選挙にいこう:2008/12/25(木) 00:26:18
>>668
セルに入る文字数を正確に求めるのは非常に難しいので、
最善の回答は「Excelで印刷することは考えるな」。

どうしてもExcelで印刷までやりたいなら、その「一定数」をまず自分で決めること。
その際にある程度余裕を見ておくしかない。余裕が小さいと文章が切れる。
場合によってはセルの右の方に大きな余白ができる可能性もある。
完全に日本語だけなら固定ピッチフォントでなんとかなるけど、
アルファベットが混じってる場合はどうにもならない。

それでもよければ回答できるかもしれけないけど、それでいいかな?
670名無しさん@そうだ選挙にいこう:2008/12/25(木) 00:29:34
>>667
For〜Nextでフラグの入ってる行を端からチェックして、
あとは今までに作った印刷のマクロを呼び出せばいいんでね?
671名無しさん@そうだ選挙にいこう:2008/12/25(木) 00:33:54
>>665
マーカーを右クリックしてデータ系列の書式設定から
系列ごとに折れ線の有無やマーカーの種類を選択できる。
東京、千葉、神奈川、平均の4つのデータ系列を用意して、
個別のデータはマーカーのみ、平均は折れ線のみにすればいい。
672名無しさん@そうだ選挙にいこう:2008/12/25(木) 06:22:21
>>669
それでも十分でございます。
673667:2008/12/25(木) 06:52:04
>>670

ありがとうございます。てか寝落ちしてしもたw
早速試してみます!
674名無しさん@そうだ選挙にいこう:2008/12/25(木) 12:43:51
>>672
詳しい状況がわからないので、とりあえず最低限のサンプル。
A1セルの文字数が20を越えていたら空白行を挿入し、21文字目以降を一つ下のセルに移す。
これをデータ領域全体でループさせればいい。

s = Range("A1").Value
l = Len(s)
If l > 20 Then
  Rows("2:2").Insert Shift:=xlDown
  Range("A1").Value = Left(s, 20)
  Range("A2").Value = Mid(s, 21, l)
End If
675名無しさん@そうだ選挙にいこう:2008/12/25(木) 14:04:22
文字数じゃなくて文字の幅で改行ってことでしょ
これは諦めた方がいい
676名無しさん@そうだ選挙にいこう:2008/12/25(木) 15:08:18
>>671
ありがとうございます。
それは、散布図での話ですよね?
何度も試してみたのですが、横軸の名称を「東京、千葉、神奈川」みたいな名称にしようとしても
1,2,3・・・といった行番号になってしまうのですが・・・
もしかしてこの名前だけをテキストボックスを上に貼り付けて使うということなのでしょうか?
677名無しさん@そうだ選挙にいこう:2008/12/25(木) 15:38:32
>>676
グラフオプションで「X/数値軸」を消して「X/数値軸ラベル」に「東京  千葉  神奈川」と入れる
678名無しさん@そうだ選挙にいこう:2008/12/25(木) 16:07:26
>>677
ありがとうございます。

何度も申し訳ないのですが、
「X/数値軸」の場所は分かるのですが、「X/数値軸ラベル」という設定項目は見あたらないのですが、
バージョンは2003なのですが、もしかしてバージョン違いなのでしょうか?
お願いいたします。
679名無しさん@そうだ選挙にいこう:2008/12/25(木) 16:26:22
>>678
グラフエリアを右クリック→グラフオプション→タイトルとラベル→X/数値軸
680名無しさん@そうだ選挙にいこう:2008/12/25(木) 16:43:32
681名無しさん@そうだ選挙にいこう:2008/12/25(木) 17:44:51
>>680

ありがとうございます。
それってつまりはテキストツールで書くのと全く同じことですよね?
682名無しさん@そうだ選挙にいこう:2008/12/25(木) 18:03:15
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル グラフの先を表示しない IF関数

折れ線グラフを作りたいです。
セルA1〜A30に日付を入力
セルB1〜B30には収支を打ち込む入力欄
セルC2〜C30には『=IF(B4="","",B4+C3)』
を入力しています。

そこでセルC1〜C30までを折れ線グラフにしたいのですが、
C15まで入力したところでグラフの先が0値になってしまいます。

C15に入力した数値のところでグラフを止めたいのですが、何か方法はありませんか?
683682:2008/12/25(木) 18:10:33
間違いがありました。

セルB1には『IF(B1="","",B1)』
セルC2には『IF(B2="","",B2+B1)』
セルC3〜C30はC2をオートフィルでコピーしています。
684名無しさん@そうだ選挙にいこう:2008/12/25(木) 18:16:55
>>681
厳密に言えばラベルはチャートオブジェクトの一部だからテキストボックスを重ねるのとはちょっと違う。
どうしてもラベルの内容をどこかのセルから持ってきたいのなら、数式で文字列を連結してから、
それを参照するって手もある。
685名無しさん@そうだ選挙にいこう:2008/12/25(木) 18:30:02
>>683
式がおかしい気がする。
C1は「=B1」
C2は「=B2+C1」以下オートフィルじゃないの?
で、折れ線グラフを途中で切りたいなら軸の範囲とデータの範囲をあとから修正するしかない。
686682:2008/12/25(木) 18:31:24
>>685
レスサンクスです。
指摘されたところはその通りですorz

細かくやるしかないんですね…
687名無しさん@そうだ選挙にいこう:2008/12/26(金) 07:47:04
こんな問題がありました。

「何人かの残業時間が32・24・17・22時間だとします。

残業手当ては、20時間までは一時間当たり2000円、20時間を超える分は一時間当たり1500円とする。」

となっていた場合、エクセルにはどのように入力すれば残業手当てが計算できるのでしょうか?
688名無しさん@そうだ選挙にいこう:2008/12/26(金) 09:43:11
>>687
=A1*2000-(A1>20)*(A1-20)*500

冬休みの宿題?
689名無しさん@そうだ選挙にいこう:2008/12/26(金) 12:37:39
>>688
パソコン教室の宿題で…すいません、レスありがとうございます。

すいません、まだ慣れてなくて分からないのですが、それはIFで入力でしょうか?
690名無しさん@そうだ選挙にいこう:2008/12/26(金) 12:45:15
>>689
ifを使ってって宿題だったのね

691名無しさん@そうだ選挙にいこう:2008/12/26(金) 12:48:32
>>689
=IF(A1>20,A1*1500,A1*2000)
692名無しさん@そうだ選挙にいこう:2008/12/26(金) 12:57:35
>>690
いえ、どちらでも良いのですが、パッと見てなるほど!と言える理解力が無かったので、すいません。
とりあえずそのまま書いてみます。
693名無しさん@そうだ選挙にいこう:2008/12/26(金) 13:49:39
ありがとうございました!
>>688の式で上手く全て埋まりました。

次になんですが、

通勤時間がそれぞれ55分・60分・95分・80分・120分だとして、

通勤手当は、通勤時間が90分未満は15000円、90分以上120分未満は20000円、120分以上は30000円とする。

何度も式を変えてやってるつもりなのですが、完成させられません。
どなたか宜しくお願いします。
694名無しさん@そうだ選挙にいこう:2008/12/26(金) 13:56:17
パソコン教室の宿題ってことは復習だよね?
習った内容を元に自分で考えないと意味ないんじゃないか?
695名無しさん@そうだ選挙にいこう:2008/12/26(金) 14:02:04
>>694
正月過ぎまで行けないので沢山宿題を貰いました。
宿題の中には出来ない物も含まれている、と言われたのです。

でも、できれば理解してからまた通いたいのでご教授願えませんか?
696名無しさん@そうだ選挙にいこう:2008/12/26(金) 14:11:12
>>695
教えていない範囲まで宿題として渡してしまう教室もどうかと思うが・・・
答えだけ教えて理解できるのか?
=LOOKUP(A1,{0,90,120},{15000,20000,30000})

細かい解説とかはそれこそ教室の守備範囲だろうからあえてしない
697名無しさん@そうだ選挙にいこう:2008/12/26(金) 14:30:02
教えてない範囲まで問題渡したなら、
関数のヘルプ見ながら、これかなあれかなってやらせるのが目的だろ
それができるようになれば一般レベルのコースに通う必要もなくなる

ここで答えもらっちゃダメだろ
698名無しさん@そうだ選挙にいこう:2008/12/26(金) 14:34:09
そうだよな。
ここで普通に全て答えちゃってる回答者もなんだかなー。
本当の回答者ならヒントは与えても答えを教えちゃいけないと思うんだ。
699名無しさん@そうだ選挙にいこう:2008/12/26(金) 14:44:46
>>697
生徒:○○ってどうやるの?
教室:ググレカス

ってことか?
基本的な(と思われる)関数とセルの参照ぐらいは習ったんならヘルプで十分だろう
しかし、IFの使い方分かってないしIFの入れ子かLOOKUP使うって発想もできないレベルのようだし
実は教室の人間もエクセルとか全然使えない奴だったりw

>>698
696の回答を元にLOOKUPの使い方を調べるようになればいいな〜
とか思ってあえて初心者向きじゃない回答したんだがダメか?
700名無しさん@そうだ選挙にいこう:2008/12/26(金) 15:37:33
【1 OSの種類         .】 Windows XP Pro SP2
【2 Excelのバージョン   】 Excel2000 SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 強制終了、マクロ 問題が発生したため、等

EXCEL万年カレンダー
http://www.vector.co.jp/soft/winnt/personal/se164767.html
上記のブックが開けません。
[問題が発生したため...]となり、強制終了してしまいます。

作者にもしばらく前にメールを送ったのですが、返事がありません。
開くにはどうしたらいいですか?よろしくお願いします。
701名無しさん@そうだ選挙にいこう:2008/12/26(金) 15:57:24
>>700
そういう怪しいファイルは開いちゃいかん。
702名無しさん@そうだ選挙にいこう:2008/12/26(金) 16:04:49
>>699
おまえ、考え方根本的におかしいよ。

>生徒:○○ってどうやるの?
>教室:ググレカス
パソコン教室は金もらってるんだからここの回答者と一緒にする事事体無意味。

>696の回答を元にLOOKUPの使い方を調べるようになればいいな〜
そんな普通じゃない使い方(一般的ではないって意味であってヘルプに
載っている事から間違った使い方ではない。)を教えるくらいならLOOKUP調べてみな、
という回答の方がいい。
703名無しさん@そうだ選挙にいこう:2008/12/26(金) 16:29:01
>>699
ググレカスってなんだよ…
本人がほしがったからいっぱい宿題渡したんだろ、
同レベルの大量に渡してもしょうがないから少し先のテキストまで
教室こないんなら宿題だしてやったって一銭の得にもならんのに

出来なくて当たり前だけど、やる気があるなら自分で考える勉強になるからよかったら、
って意味ととるのが普通じゃないの?
その宿題の答えを他人が出してやってちゃ意味ないわ
基本が分からんのならそこまでの復習をすべきだろ
704名無しさん@そうだ選挙にいこう:2008/12/26(金) 16:34:51
パソコン教室のあり方論ワロタwww
705名無しさん@そうだ選挙にいこう:2008/12/26(金) 16:57:16
使命感を持った回答者達、乙
706名無しさん@そうだ選挙にいこう:2008/12/26(金) 18:06:18
くだんない煽り乙
707名無しさん@そうだ選挙にいこう:2008/12/26(金) 19:57:45
エクセルの使い方がわかりません。
708名無しさん@そうだ選挙にいこう:2008/12/26(金) 20:22:20
答えたいやつが答えてりゃいいだけだろw
なにそのボクの考え方ご披露パーティはwww
やっぱり質問は全部俺宛てと思っちゃう病気の方ですかwwwwww
709名無しさん@そうだ選挙にいこう:2008/12/26(金) 20:26:52
そういう病気の人ばっかりだしここ
710名無しさん@そうだ選挙にいこう:2008/12/26(金) 21:17:34
周りに迷惑かけないし、別にいいんじゃねーの
711名無しさん@そうだ選挙にいこう:2008/12/26(金) 23:20:24
なんか必死なのがわいてるな

次の質問マダー?
712名無しさん@そうだ選挙にいこう:2008/12/26(金) 23:29:48
わ〜い、冬厨だらけで、いごごち最高〜
713名無しさん@そうだ選挙にいこう:2008/12/26(金) 23:37:40
>>695
1問目)
まず、20時間以下なら時間に2000をかけるだけでいい。
20時間を超えたら、越えた分だけ1500円ということは、元の時間から20を引いてから1500をかける。
だから、20時間以下か越えているかをIFで判断して分ける。
=IF(A1<=20, A1*2000, 20*2000+(A1-20)*1500)
これなら理解できるかな?
まさかIFの使い方がわからないとか言わないよな?
714名無しさん@そうだ選挙にいこう:2008/12/26(金) 23:40:59
>>693
それはIFを重ねるんだよ。
=IF(条件式1, 結果1, IF(条件式2, 結果2, 結果3 ))
条件というのは、90分と120分。
715名無しさん@そうだ選挙にいこう:2008/12/26(金) 23:49:39
教えるのも冬厨だから、もうヘロヘロ
716名無しさん@そうだ選挙にいこう:2008/12/27(土) 14:25:45
ホントもうヘロヘロですよ
717名無しさん@そうだ選挙にいこう:2008/12/27(土) 14:35:11
(;゚д゚)ェ..
718名無しさん@そうだ選挙にいこう:2008/12/27(土) 14:45:57
ExcelみたいにVBA的な機能がついてExcelよりもよりこういった数学に特化された
ソフトを知りませんか?
719名無しさん@そうだ選挙にいこう:2008/12/27(土) 14:50:39
どういった数学じゃゴルァ
720名無しさん@そうだ選挙にいこう:2008/12/27(土) 14:51:33
暇な奴多すぎワロタ
721名無しさん@そうだ選挙にいこう:2008/12/27(土) 15:56:55
ぼくの右手を知りませんか?行方不明になりました。
722名無しさん@そうだ選挙にいこう:2008/12/27(土) 16:28:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel ver5
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】

slkをxlsに変えたり、
xlsをsikに変えたりしたいんですが、
sik⇔xlsな変換ソフトってフリーでありませんか?
723名無しさん@そうだ選挙にいこう:2008/12/27(土) 16:35:11
>>722
Excelスレで唐突にslkだかsikだか言われても意味が分からんよ。
多分拡張子の事を言ってるんだろうが、どういうソフトなのかを詳しく書いてくれ。
724名無しさん@そうだ選挙にいこう:2008/12/27(土) 16:42:12
名前を付けて保存の時にファイルの形式をSIKにしたら?
725名無しさん@そうだ選挙にいこう:2008/12/27(土) 16:51:29
>>722

>>724をVBAで書けば、それが変換ソフト
しかしVBAでの回答の可否が無いので
http://www.vector.co.jp/soft/win95/business/se065920.html
↑これはCSVに変換するらしい
726名無しさん@そうだ選挙にいこう:2008/12/27(土) 17:06:47
>>718
数学ソフト
でぐぐると良い
小数誤差もほとんどない
>>722
SYLKとは、表計算ソフトやデータベースソフトで扱うデータ形式のことである。

SYLKは、MicrosoftがExcelを発売する前に開発・発売していた表計算ソフトのMultiplanで導入された形式で、Windowsでの標準的な拡張子は.SLKである。

Excelはもちろん、他の表計算ソフトでもSYLK形式を使えるようになっていることが多く、
データ交換用途に使える。ASCIIコード(漢字はシフトJIS)だけで構成されるテキスト形式だが、
セル位置や、データが数字か文字かを示す情報などを記録しているので、少々冗長だが確実にデータを交換することが可能である。

ふむ。SLKの形式がCSVに相当するなら色んなフトてせ使えると思う
727名無しさん@そうだ選挙にいこう:2008/12/27(土) 19:18:58
知らないなら答えなきゃいいのにwwwwであるwwwwww
728名無しさん@そうだ選挙にいこう:2008/12/27(土) 19:52:43
いつも解説ご苦労さん
たまには答えてもいいんだよ
729名無しさん@そうだ選挙にいこう:2008/12/27(土) 20:43:58
>>718
「表」がなくていいなら maxima とか。
Rも楽しい。
730名無しさん@そうだ選挙にいこう:2008/12/28(日) 23:38:38
エクセルデータにてシート上の - をすべて ― に
変換したいのですがうまい方法はないでしょうか?
731名無しさん@そうだ選挙にいこう:2008/12/28(日) 23:42:55
>>730
編集→置換
732名無しさん@そうだ選挙にいこう:2008/12/29(月) 00:30:09
>>730
数式の中の引き算も変わっていいんなら>>731だけど、それで大丈夫?
733名無しさん@そうだ選挙にいこう:2008/12/29(月) 09:04:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 OOo calc 3.0
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 countif + カウントされない
OOo calcですが質問です
COUNTIFで[]や+が入っている文字列がカウントされず0となります
これらが入っている文字列を正しくカウントする方法はありますか?
またExcelなら問題なくカウントされるのでしょうか?
734名無しさん@そうだ選挙にいこう:2008/12/29(月) 11:07:45

スレタイを500回くらい読んでみようw
735名無しさん@そうだ選挙にいこう:2008/12/29(月) 11:51:29
OOoも使ってるのでcalcに付いても回答できるが
スレ違いなのでExcelいついてのみ回答しよう

> またExcelなら問題なくカウントされるのでしょうか?
カウントされる
736733:2008/12/29(月) 13:57:08
>>735
ありがとうございます
737名無しさん@そうだ選挙にいこう:2008/12/29(月) 20:53:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 罫線 斜め 結合なし

二つのセルの間に罫線を斜めに引きたいのですが、セルとセルの間の罫線は消したくありません。
結合なしで斜めに罫線を引く方法はないですか?
738名無しさん@そうだ選挙にいこう:2008/12/29(月) 20:58:40
>>737
オートシェイプ
739名無しさん@そうだ選挙にいこう:2008/12/29(月) 21:01:17
>>738
できました!ありがとうございます。
740名無しさん@そうだ選挙にいこう:2008/12/30(火) 13:02:21
if文で、現在午前か午後かで処理を変えたいのですが
わからなくて困ってます。

if(now()>"12:00",処理1,処理2) とかでは駄目ですよね。
どなたか教えて頂けないでしょうか?
741名無しさん@そうだ選挙にいこう:2008/12/30(火) 13:18:55
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 指定条件 抽出

お願いいたします。
今手元にあるエクセルが以下のようになっております。

  A  B  C  
1 成績 生徒 教師 
2 1  山田 加藤 
3 2  吉田 松岡 
4 9  簗岡 加藤 
5 15 村田 松岡

こんな感じで、1000行ぐらいあるのですが
これらを、例えば生徒村田は教師松岡が担当をした場合に
成績が5位〜1位になる率が40%以上あるなら★ 30%以上40未満なら☆
というように印を付けて別シートに抽出できないでしょうか?

シート1にデータ シート2に生徒名と教師名を入力 シート3に生徒名と教師名とマーク
こんな感じが理想なのですが、お願いいたします。
742名無しさん@そうだ選挙にいこう:2008/12/30(火) 14:24:06
>>740
=IF(MOD(A1,1)<0.5,"午前","午後")
=IF(MOD(A1,1)<"12:00"*1,"午前","午後")
=IF(MOD(A1,1)<VALUE("12:00"),"午前","午後")
743740:2008/12/30(火) 14:26:14
すまん、まつがった。
上の式のA1の部分はNOW()に変えれ。
744名無しさん@そうだ選挙にいこう:2008/12/30(火) 14:27:22
またまつがったよ。
上は>>742だよ。
745名無しさん@そうだ選挙にいこう:2008/12/30(火) 16:41:11
>>740
「任意のセルの時刻値が」ではなく「現在時刻が」なら、VBA使わないとまずいのでは?
数式だと再計算されない限り、正午を回っても午前のままだぞ

>>741
「生徒:村田&教師:松岡&成績:5以下」の数を、「生徒:村田&教師:松岡」の数で割って
それを条件にIFで★なり☆なりを返せば良いだけだろ
確か2007なら複数条件でカウント出来る関数が加わったから
配列数式とか作業列とか使わずに簡単に処理できるはず
746名無しさん@そうだ選挙にいこう:2008/12/30(火) 17:52:50
2007の複数条件でカウント出来る関数(COUNTIFSだったか?)は内部的には配列数式だから、配列数式でも同じ。
747名無しさん@そうだ選挙にいこう:2008/12/30(火) 18:09:42
>>742>>745
ありがとうございます。

>「任意のセルの時刻値が」ではなく「現在時刻が」なら、VBA使わないとまずいのでは?
あっ、そうなんですね。 では任意のセルに時刻値を取るようにしてみます。
ありがとうございました。
748名無しさん@そうだ選挙にいこう:2008/12/30(火) 18:24:57
> 内部的には配列数式だから
ハズレ

> 配列数式でも同じ。
例え内部的には配列数式でも、Ctrl+Shift+Enterで確定するとか
論理演算が必要とかの制約が違うから同じとは言えない
749名無しさん@そうだ選挙にいこう:2008/12/30(火) 19:59:15
Ctrl + Shift + Enterなんてたいした意味ない。
重さ調べりゃ分かる。
SUMPRODUCTみたいなもんだな。
750名無しさん@そうだ選挙にいこう:2008/12/30(火) 20:06:01
配列数式だからどうのこうのっていう奴が一番バカ。
配列数式には大した意味はない。
配列計算をしているかどうかだ。
ただ、ほぼ確定なのは {=SUM(IF())}とSUMPRODUCTは同じ結果がでるが
処理スピードの速さは
{=SUM(IF())}<SUMPRODUCT

SUMIFSも同じ
配列計算を前提に作られている関数なんだから当然といえばとうぜんだな。
751名無しさん@そうだ選挙にいこう:2008/12/30(火) 20:15:28
で、
今のPCだとそんなに時間かわんねーだろ長くて1秒ぐらいですか(笑)
→膨大な計算をする表だと大きな差が出る
→普通そんな表あつかわねーよそれはそもそも表が悪い
→膨大な計算をする表が必須な場合がないとは言い切れない
辺りで無限ループだろ。そろそろ止めようぜ

752名無しさん@そうだ選挙にいこう:2008/12/30(火) 22:46:20
よろしくお願いします。

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

   A列
1行 あ
2  い
3  う

という感じで、列に入力されているものを

    A B C
1行目 あ い う

というように変えることはできますか?

よろしくお願いします。
753名無しさん@そうだ選挙にいこう:2008/12/30(火) 23:38:07
754名無しさん@そうだ選挙にいこう:2008/12/30(火) 23:51:15
新しいパソコン買ったが、EXCEL2007って糞だな。
2003と互換性も限られるし本当に糞!
755名無しさん@そうだ選挙にいこう:2008/12/31(水) 00:07:25
   A   B
1 =$B$1
2 =$B$2
3 =$B$3
 :
 :
10 =$B$10


みたいな感じで「絶対参照なんだけど1つずつ数字をずらす」ようにしたいのですが
簡単に入力する方法はないでしょうか?

A1セルが=$B$1じゃなくて=$B1ならばそのままセル枠を下に引っ張れば
=$B2
=$B3
と続いてくれるけど、数字にも$をつけてるので引っ張ってコピーしても当然数字が変わらない

この例はセルに直接記入していますが、条件付き書式で同じようなことをしたいとも思っています。
756名無しさん@そうだ選挙にいこう:2008/12/31(水) 00:12:13
>>752
形式を選択して貼り付け→行列を入れ換える
757名無しさん@そうだ選挙にいこう:2008/12/31(水) 00:13:53
>>755
=$B1で引っぱってから「B」を「B$」に置換
758名無しさん@そうだ選挙にいこう:2008/12/31(水) 00:20:07
>>755
数式なら>>757でいいが、条件付き書式ではVBA使うしか無い
まあ具体的に何がやりたいのかが解れば、他の解決方法が有るかも知れないが
759名無しさん@そうだ選挙にいこう:2008/12/31(水) 03:02:43
>>757-758
レスどうもです。やっぱり簡単な方法はないんですね。

やりたいことは、
 中身が全く同じの表が2つあり、各々が別の基準で行をソートする。
2つ共にある1列をflagとして見ていて、そのflagが立ってたら背景色を変えたい。

A列をflag列とすると
  A    B    C     D    E
1 あいう  1   あいう   a   たちつ
2 かきく  2   かきく   b   あいう
3      3   さしす   c   さしす
4      4   たちつ   d   かきく

BC列が表1、DE列が表2、C列とE列は中身は一緒だけどそれぞれB列とD列という異なる基準で昇順ソートされてる
A列でflagが立っている「あいう」と「かきく」が含む行だけを背景色を変える、
つまり、セルB1/C1,B2/C2,D2/E2,D4/E4の背景色をA列のflagを見て条件付き書式で変えたい
flagに使うA列の順序はB列と同じ基準で昇順になっている

表の作り方は、最初にBC列を作って、それを丸々コピーしてDE列を作る
そして後からD列のソート基準を1234からbdcaと書き換え、
DE列だけをD列でソートしなおす(bdcaからabcdに変わる)時、参照するA列を絶対参照にしたい
そうしないと、DE列の参照先が全然違うとこに行っちゃう

分かりにくいかと思いますが… 上記のような感じです。
760名無しさん@そうだ選挙にいこう:2008/12/31(水) 06:55:14
>>756

ありがとうございます。
761名無しさん@そうだ選挙にいこう:2008/12/31(水) 09:02:12
>>750
同意だな。
処理スピードは、SUMPRODUCTの式の書き方によっては配列数式とまったく同じになるね。

例えば
式1 =SUMPRODUCT((A1:A50000="A")*(B1:B50000=1),A1:A50000)
式2 =SUMPRODUCT((A1:A50000="A")*(B1:B50000=1)*A1:A50000)
式3 {=SUM((A1:A50000="A")*(B1:B50000=1)*A1:A50000)}

これは式1がごくわずかに速いが、式2と式3はまったく同じ。
式2のように*で計算してる式はSUMPRODUCT使う意味なし。
式が短い分だけ式3がまだマシってもんだ。
式2みたいなのが巷にはあふれてるが。

下みたいな長い式を書くドュソもいるが。w
=SUM(INDEX((A1:A60000="A")*(B1:B60000=1)*(C1:C60000),))
762761:2008/12/31(水) 09:07:41
すまん
式1 =SUMPRODUCT((A1:A50000="A")*(B1:B50000=1),C1:C50000)
式2 =SUMPRODUCT((A1:A50000="A")*(B1:B50000=1)*C1:C50000)
式3 {=SUM((A1:A50000="A")*(B1:B50000=1)*C1:C50000)}
のまちがいな。
763名無しさん@そうだ選挙にいこう:2008/12/31(水) 11:11:33
>>759
マクロの記録使えば一瞬で終わるよ

ただ>>755
=INDIRECT("$b$"&ROW())
で解決じゃねーの
ちなみに上記式だと$は合ってもなくてもいい
764名無しさん@そうだ選挙にいこう:2008/12/31(水) 11:46:10
>>746
2007のCOUNTIFSは配列数式より速いみたいだよ?
A列が"A"でB列が1の複数条件のカウントの場合

式1 =SUMPRODUCT((A1:A60000="A")*(B1:B60000=1))
式2 {=SUM((A1:A60000="A")*(B1:B60000=1))}
式3 {=SUM(IF((A1:A60000="A")*(B1:B60000=1),1))}
式4 {=SUM(IF(A1:A60000="A",IF(B1:B60000=1,1)))}
式5 =SUM(INDEX((A1:A60000="A")*(B1:B60000=1)*1,))
式6 {=COUNT(1/((A1:A60000="A")*(B1:B60000=1)))}
式7 =COUNTIFS(A1:A60000,"A",B1:B60000,1)

B1をループを回して1〜10まで変更して計ってみたら、ぶっちぎりで式7が速かった。
式1や式2の4倍くらい速い。

速い順に
式7 ぶっちぎり
式1=式2
式4
式3
式6
式5

2007のCOUNTIFSの式7以外はたいした差じゃないが。
SUMPRODUCTもこのケース(*で乗算)では意味なし。Excel 2003までは式2の配列数式で充分。
式5のINDEX使うやつは馬鹿。
765名無しさん@そうだ選挙にいこう:2008/12/31(水) 11:49:39
>>762
式3より式2の方がわずかだが速いよw
766名無しさん@そうだ選挙にいこう:2008/12/31(水) 11:55:42
式5はよくみたら*1は不要だな。余計な計算したら遅くなるのは当然か。
=SUM(INDEX((A1:A60000="A")*(B1:B60000=1),)) としたら
速い順に
式7 ぶっちぎり
式1と式2ほぼ同じ
式4と式5ほぼ同じ
式3
式6
だった。
式5が一番遅いわけではないが、無意味に長いから馬鹿には違いなし。
767名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:08:15
>>765
俺もそう書いてるんだが?
768名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:15:32
>>767
式2と式3はまったく同じって書いてあるじゃん!
式2より式3を推してるし。
769名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:18:29
>>764じゃなくて>>761の話か。
俺の環境では変わらん。
昔から何度も計ってるんだが、いちもほとんど同じ。
それぞれ5回計ってみたが
式2
0.640625
0.65625
0.65625
0.640625
0.65625

式3
0.65625
0.640625
0.65625
0.640625
0.640625

誤差範囲だろ?
timeGetTimeで計れなんて言うなよ。分解能は1/18秒で変わらんからな。
770名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:22:25
>>768
>>764と勘違いだすまんね。
>>769読んでね。
やっぱ*で乗算する場合はSUMPRODUCTは推せないよ。
ちなみに上の分解能は精度の間違いね。
771名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:25:58
>>769-770
勘違いねー
えーよー

それからここ参考になるかも
http://msdn.microsoft.com/ja-jp/library/aa730921.aspx
772名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:31:55
>>771
そんなのとうの昔に読んでるよ。
っていうか俺の知識とたいして変わらんからまるで俺が書いてるみたいだが、間違いもチラホラとあるから俺じゃない。w
SUMPRODUCTのくだりは間違い。
上に書いてるようにう使い方による。、
773名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:35:10
>>765=>>771
http://msdn.microsoft.com/ja-jp/library/aa730921.aspx
これを鵜呑みにして書いてたのか?
馬鹿杉。
774名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:46:35
使い方によるって事くらい分かってるさ。
775名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:50:24
>>774
だから>>762の式2と式3の使い方じゃ変わらないんだよ。
776名無しさん@そうだ選挙にいこう:2008/12/31(水) 12:58:42
あと書かなくてもわかってるだろうが、>>762の式1と式2や式3の違いはスピード(たいした差じゃないが)だけじゃなく、C列が文字列のときなどだ。
777名無しさん@そうだ選挙にいこう:2008/12/31(水) 13:50:53
あんまりいじめるなよ。
SUMPRODUCTやINDEX使いが怒るぞw
778名無しさん@そうだ選挙にいこう:2008/12/31(水) 14:05:30
0/14(火) 23:06:32 ID:Iks1urwt
                   _. --──── -- 、
                   /               ` ー 、
                 /                      \
                   /     /              \
                    /       /  ________ ノ /
              ,′    イ ̄             `l |
                |     /|                | |
                |   / ハ__________.ノ |
              ノ  /_.イ / ノト、_」/ |/l/_.斗  \ 〕
.               / l   ̄ 7|/| 」ィfて-カ`    ィf リハ  ! 「|
             / |    ∧| ノ   弋zノ      辷ノ' ノ∨|/|
.            / |   // | |、           ,    | |   ノ
.           /       // | | \            人 ハ  |
        /         厶-、| ト._个 、  ∠フ _. イ|    \|
        /       /   / ̄ ヽ、 >- ≦ノ| | /´⌒ く\
.    /     __. イ     / /⌒ヽ\   //  | | しl⌒ヽ ∨
    /        ̄   |   {   /⌒l\\/7  | | 〈⌒ヽ |
    ,′           l     ヽ  /⌒l \ /  / /  〈⌒  ノ
.   {            |      >ー-く´   /   / /  /`ー'7
779759:2008/12/31(水) 14:21:52
>>763
> マクロの記録使えば一瞬で終わるよ

マクロの記録で、条件付き書式のダイアログを出して式の中身を直接編集する方法だとダメでした…
すみませんが記録中にどのような手順を踏めば良いのでしょうか…?

> ただ>>755
> =INDIRECT("$b$"&ROW())
> で解決じゃねーの
> ちなみに上記式だと$は合ってもなくてもいい

おおっ!こういうやり方があるのですね。感動しました!
どうもありがとうございます。
780名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:00:12
関数の内部処理を解ってる奴が一人も居ないってのも以外だな
781名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:13:24
>>779
ああごめん、そっちじゃない
表を作るときのことね
条件付書式の設定のときとあわせて記録すれば全部一瞬で終わる希ガスる
782名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:16:39
sumproductだとかindexだとか配列だとか。
たかが集計にそんな低級機能を使いこなさないといけないの?
あげくに関数の内部処理がどうとかあほらし。Excelマニアになっても仕方ないんたぞ。
783名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:23:58
というわけで>>782が高級機能を駆使した解決策を提示してくれます
784名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:46:55
出た!
785名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:52:12
>>782はきっとピボット厨だなw
俺もピボット嫌いじゃないけどな。
SUMPRODUCTやDQNな配列数式はしょっちゅう見ててうんざり。
786名無しさん@そうだ選挙にいこう:2008/12/31(水) 15:54:29
>>755は=INDEX(B:B,ROW())じゃないのか?
条件付き書式に使うなら揮発性でも問題ないけどな。
787名無しさん@そうだ選挙にいこう:2008/12/31(水) 16:06:45
                 、               
    .r  __,.    、    .|                
  ,,,,-,ト''''"  .i、   ゙l,,,,,,、,-ネ‐''"、.l′           ,,,  
  .,,r'"|フ''''┐.|` .・'゙゙゙゙]   .,,,|,,,,/ .゙l   ''''ー'''''''',/゚゚~`  
 ,/ .,レ_ ゙!,.|    │.,‐'゙゙'rl、   ゙l      │    
: ←'"  `  ,i´\,, ,,r" \,,,i´ ゙'-   .゙!---、   ゙'ーi、_  
    .i、                         ″ 
    .| .,,,-‐  .,_   ,                  
  _,,―'广.-.  `!、  | ー¬,!  :. -、 、    `゙′ 
 ` ,,-''ナ'''''i、`┐ .,,≪'ッ!、   ,i´ っ ゙丶 `'i、/  ,,,-'"'''i、 
  ,l゙ ,i" -゙  ` lン‐゚″゙l  〈_、    .,/  `   .!、
  ゙‐'"          丿         ‘゙''-,,,,−   丿 
     ,!.、                         ―"  
  __,,,,.゙l ゙l   .'i、  、, 、      .,,-ィ-、    .i、、 
     .′  ゙ ̄''ヤ~ ゛ "  l、  ヽ   -♭″ '",二''l″ 
   '''゙゙゙゙゙゛    ヽ,,,_     .゙l   .| __,l゙    | |/  
                 `     .ヽ,r“'ー  .゙‐'|   
                               ,,-"   
788名無しさん@そうだ選挙にいこう:2008/12/31(水) 23:51:34
                ,-,
              (⌒ 二)
               ~`i |_,、_
        ,-'^l___<> /(ニi レノヽヽ
        `ヽ (ニ、  `ー--' ノノ
        /ニ, i^) )  l^l   i^l
  (\<><> `='ノ '-'   | | (ニ .二>
   `'     _,、_iヽ_  | |  _| |
  ヽニ>   〈<> vノ) ) `' 'ー' 
  <ヽ_,,<><>  ̄ ノノ   ,- '~ン
ヽニニ、 -`   ,-ー'''i<><> 、コ レ'フ
    )_)     ̄l l_    ,フ ノニ,
  (ヽ  _     ,、`ー''~  < Oノ⌒
 ,-、~  ヽ)   l レ')   ,、~
 \_)  ,、   < <二_   l l  ,、
   `三 レ,    `ニニ、   ヽ`ニノ
    `コ lニ、   `二ニ、  _______,,-、  
   ( O厂    ` ̄)) `ー-, /
    ,-、ノ)    ノノ    ( (
 `ー=ニ_ イ      ̄      ヽ_フ
    (O |            
      )ノ
789名無しさん@そうだ選挙にいこう:2009/01/01(木) 11:03:57
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel チェックボックス

ワークシートにチェックボックスを置いています。
A列が0になっている場合にチェックボックスを非表示(visible=false)にしたいんですがどのようにすればいいでしょうか。
なお、チェックボックスはツールボックスのです。A列には0か1しか入りません。
目的はA列が0のとき、チェックボックスにチェックを入れられないようにしたいので、非表示にする以外の方法でも実現できるのならそれでOKです。

   A列   B列
1行目 0   □(チェックボックス)…表示しない
2行目 1   □(チェックボックス)…表示
790名無しさん@そうだ選挙にいこう:2009/01/01(木) 11:26:10
今年の運勢
  大凶                大凶            大凶
  |llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|
 ○                          
 ●                      
 □      
 ■            
 ☆         
 ★   
 ?                 
 ┣¨     
 !               
 ?  
791名無しさん@そうだ選挙にいこう:2009/01/01(木) 11:29:46
>>789
ワークシートのChangeイベントで、該当セルの値を条件に処理すれば良し
792名無しさん@そうだ選挙にいこう:2009/01/01(木) 11:32:29
>>789
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) = 1 Then
CheckBox1.Visible = True
Else
CheckBox1.Visible = False
End If
End Sub

module1じゃなくてsheet1ってところにコピペするといいわ
793名無しさん@そうだ選挙にいこう:2009/01/01(木) 11:52:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 合計 商品ごと

Sheet1に以下のような販売データがあり、Sheet2には2月の販売データ、Sheet3には3月の販売データ…と続きます。
これを商品ごとに毎月の合計を出したいのですがどのようにするといいのでしょうか。
ご教授お願いいたします。

年月日 顧客 送り先 商品  数量 商品  数量 商品  数量
1/5 田中 大阪府 A500 50 VX12 32 LE20 50
1/5 田中 埼玉県 BYG3 35 LE20 25 A500 10
1/6 山田 東京都 VX12 32 A500 10
1/6 山田 埼玉県 LE20 50
1/6 山田 千葉県 A500 30 VX12 64
1/7 山田 広島県 A500 20 BYG3 30
(略)
1/30 鈴木 東京都 BYG3 15 LE20 25

794名無しさん@そうだ選挙にいこう:2009/01/01(木) 11:53:57
>>792
即回答ありがとうございます!
できました〜。
795名無しさん@そうだ選挙にいこう:2009/01/01(木) 13:03:38
>>793
このスレ的にはピボットテーブルと思うけど使い方わかんねw

商品の数が決まってほぼ変動ナシって状態ならsumifがやりやすいと思う
ちなみに上の例だとだと
=SUMIF(Sheet1!D1:H7,"a500",Sheet1!E1:I8)
こんな感じね。範囲の列の部分を一つずらせばいい

もしくはsheet13を作って
B1=SUMIF(Sheet1!D1:H7,A1,Sheet1!E1:I8)
A1=A500などの商品名
と入れてB列を下にオートフィル掛けると、一度に複数の商品を調べることも出来る

・・まぁこれがヒポッドテーブルの機能なんだけど
796名無しさん@そうだ選挙にいこう:2009/01/01(木) 13:22:12
ピボットテーブル使えないと回答も恐る恐るだな。
797名無しさん@そうだ選挙にいこう:2009/01/01(木) 13:57:13
>>796
こういう場合ピボットではどういう風に作るのか教えてもらえませんか?
色々試行錯誤したけどどんどん肥大化していくだけで目的のデータになりません・・
798名無しさん@そうだ選挙にいこう:2009/01/01(木) 14:14:05
excelなんてピボットテーブルとvlookupだけ覚えたらいいんだよ。
sumifとかindexとかは使うとバカになる関数。
799名無しさん@そうだ選挙にいこう:2009/01/01(木) 17:04:35
sumifは便利だぞ
800名無しさん@そうだ選挙にいこう:2009/01/01(木) 17:55:54
多くのSUMIFの式を使うやつは馬鹿だが、1個の式なら無問題。
INDEXも見た目を配列数式じゃなくするなどという変な使い方しなきゃ無問題。
801名無しさん@そうだ選挙にいこう:2009/01/01(木) 17:57:56
むしろvlookup使いに馬鹿が多い。
802名無しさん@そうだ選挙にいこう:2009/01/01(木) 19:05:20
vlookupは覚えるとすげー上達した気になれたな
確かにあの頃はバカだった
803名無しさん@そうだ選挙にいこう:2009/01/01(木) 20:00:34
ほげ.xlsのシート名「シート」のA1に「あ」という文字が入っていたとします。
同じパスにある、ひげ.xlsのあるシートのB1に「ほげ.xls」という文字が入っていたとして、
別のセルC1から、=[B1]シート!A1
のような感じで、開いていない ほげ.xlsのセルを読み込むことはできるでしょうか。
804名無しさん@そうだ選挙にいこう:2009/01/01(木) 20:13:13
>>803
関数では無理
VBAで一旦ファイルを開き、更新してから閉じるしかない
805名無しさん@そうだ選挙にいこう:2009/01/01(木) 21:03:27
>803、804
VBAでC1セルの計算式を生成するようにしたらダメですか?
ブック「ひげ.xls」を開いたときに実行されるマクロに
Range("C1").formula = "=[" & Range("B1").Value & "]Sheet1!A1"
のような式を入れておくといいような気がします。
マクロが終わると再計算が働くので、いいと思うんですが。
これなら参照元ファイル(ほげ.xls)は開かずに内容を読み込めます。
B1セルに入れたブックが存在しない(シート名も一致する必要有り)と
計算式のエラーになりますが。
806名無しさん@そうだ選挙にいこう:2009/01/02(金) 01:21:23
>>798
こういう人はアクセス使えばいいんじゃね
807名無しさん@そうだ選挙にいこう:2009/01/02(金) 01:56:58
>>806
なぜ?
808名無しさん@そうだ選挙にいこう:2009/01/02(金) 23:24:39
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 内容比較 合計

苦情に対して手配したサービス部品の金額を管理するためにこんな表を作成しています。
http://2sen.dip.jp/cgi-bin/upgun/up1/source/up22597.png

管理番号の左側6桁は苦情発生日になっていまして、例えば12月に発生した苦情「サイズ違い」 で手配したサービス部品Dの合計金額を出したいのです。
みなさま教えてください。よろしくお願いいたします。
809名無しさん@そうだ選挙にいこう:2009/01/02(金) 23:46:08
すみません,すこし聞きたいのですが
センチ単位で表示された数値をミリ単位で変換するにはどうしたらいいのですか?
0.2→2などにしたいのですが,普通に変えるとグラフまで変わってしまいます
お願いします
810名無しさん@そうだ選挙にいこう:2009/01/03(土) 00:55:18
>>808
表がだめだ
まず全てのセルの結合を解除する
CTRL+A、右クリックのメニューの中にある

そして例の表が例えばsheet1というシートにあるとすると、
sheet2(名前は何でもいいけど)を作って、
A1=IF(ROW()=1,Sheet1!A1,IF(Sheet1!A1<>"",Sheet1!A1,INDIRECT(CHAR(64+MOD(COLUMN(),26))&ROW()-1)))
後は下と右にオートフィル
これで結合した部分は上のデータと同じ(例だとA3にA2のデータが入っている)表が出来る

そして
E1辺りに=(MID(A1,3,2)="12")*(B1="サイズ違い")*D1
オートフィルを入れる場合はalt+フィルハンドルダブルクリックすると一番下まで入る
そして後はF1=SUM(E:E)でも、オートカルクでも
>>809
グラフを変えたくないなら、書式設定で
0"0"
とか?
これでグラフを作ると何故か数詞軸の書式設定まで変わってしまうので、
数値を右クリック→軸の書式設定で「数値」辺りに変更

寝よう・・
811名無しさん@そうだ選挙にいこう:2009/01/03(土) 14:51:49
809です
>>808
返事ありがとうございます
"書式設定で0"0" "がよくわかりません。
いろいろなサイトで単位を千や万にして単位を大きくする方法が載っていますが
逆に単位を小さくする方法はあるのでしょうか?
812名無しさん@そうだ選挙にいこう:2009/01/03(土) 15:32:11
>>811
素直に作業列作って*10するのがいいと思う
グラフの単位は何にしたいんだ
813名無しさん@そうだ選挙にいこう:2009/01/03(土) 21:22:07
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 出先で検索出来ないです。

携帯からですいません
セルA1に条件付き書式で、セルB1の数値が1以上なら色を赤に変えたいのですがどうしたらいいのでしょうか?
どなたかご教授お願いします。
814名無しさん@そうだ選挙にいこう:2009/01/03(土) 22:16:51
>>813
条件付書式で
「数式が」「B1>=1」
815812:2009/01/04(日) 08:47:24
>>814
ありがとうございます
助かりました!
816808:2009/01/04(日) 13:39:48
>>810
ありがとうございます。
おかげでできました。
817名無しさん@そうだ選挙にいこう:2009/01/04(日) 14:58:59
チンチンぶらぶらソーセージ キンタマゆらゆら風鈴りん
   _,........,_         _,........,_
 , ´,.-== ,ヽ      , ´,.-== ,ヽ
 i (ノノλノ)リ      i (ノノλノ)リ
 ルイ) ゚ ヮ゚ノ)       ルイ) ゚ ヮ゚ノ)
 ⊂、  ,つ 彡 ミ  ⊂、  ,つ
  |  \       /  ノ 
  くく゚U゚\\     //゚U゚>> 
  (ノ   (ノ    (ノ  \)

ウンコがもーりもり    _,........,_
      _,........,_     , ´,.-== ,ヽ
    , ´,.-== ,ヽ   i (ノノλノ)リ∩ シッコがじょーろじょろ
    i (ノノλノ)リ   ルイ) ゚ ヮ゚ノ)ノノ
    ルイ) ゚ ヮ゚ノ∩    / つ
    ,へ|  |ノ     ( /っ・゚・。
    しヘ_ノノ・     ||>>   ゚。
     ((  人    ノノ\)   ・
     (ノ (:::::::)   \)  
818名無しさん@そうだ選挙にいこう:2009/01/04(日) 19:04:01
>>817

Sub test()

 res817.clearcontents

End Sub
819名無しさん@そうだ選挙にいこう:2009/01/05(月) 12:53:16
>>817
会社で笑ってしまったじゃないかクソ
820名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:03:25
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

=SUM(A3+B2)の数式のAとBの次の数字を+1ずつ自動に入力する方法ってありますか?
Bの列に無限にいれたいのですが…
821名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:23:41
いろいろ間違ってるなw
822820:2009/01/05(月) 17:34:07
>>821
はい自分でも良くわからん質問だと思います
ようはA列に入力した数字と一段上にあるB列の数字を足してAを入力した段のB列に反映させたいのです
ダメだ日本語がへただな…
823名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:38:01
実例を挙げろバカモンがぁwww
824名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:39:38
>>822
それなら
=A3+B2
だけで十分だと思うが・・・
ところでオートフィルって知ってるか?
オートフィルタではないぞ
825名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:41:52
>>822
=A3+B2
をB3に入れて、B列にオートフィルしたらできないの?
826名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:42:24
リロードしてなくて>>824に気づかなかったorz
827名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:46:47
>>823
   A      B
1         100 
2  100     200
3  200     400
というようにA列に入力した数字を反映させるよう
無限ループにしたいんです(数字に規則性はありません)

>>824
わかりません…
828名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:55:01
>>827
ググレカス
と言いたい所だが初心者にそんな風に当たるほど忙しくもないので

http://hamachan.info/excel/o-tof.html
携帯だから見れないって落ちはないよな?
829名無しさん@そうだ選挙にいこう:2009/01/05(月) 17:58:27
>>828
ありがとうございます
勉強してきます
830名無しさん@そうだ選挙にいこう:2009/01/05(月) 18:06:51
>>827
この例で言えばB2に =B1+A2
B3以下はB2のコピーでよろしい
831名無しさん@そうだ選挙にいこう:2009/01/05(月) 18:43:35
指定したファイルの中のグラフの数を取得するために
Dim Filename As String
Dim i As Integer
Filename = Application.GetOpenFilename("エクセルファイル (*.xls), *.xls", , "ファイルの選択", , False)
MsgBox (Workbooks(Filename).Charts.Count)
のように書いてみたのですが、エラーがでました。
どうやらWorkbooks(Filename)の部分がダメみたいなのですが、どう書いたらいいでしょうか?
832名無しさん@そうだ選挙にいこう:2009/01/05(月) 19:25:02
>>831
試さずに適当にレスしてみる
Workbooks(Filename).Activate
MsgBox ActiveWorkbook.Charts.Count
833名無しさん@そうだ選挙にいこう:2009/01/05(月) 19:36:03
>>831
Excelのバージョンは?
834名無しさん@そうだ選挙にいこう:2009/01/05(月) 22:43:45
>>831
Dim Filename As String
Filename = Application.GetOpenFilename("エクセルファイル (*.xls), *.xls", , "ファイルの選択", , False)
Set bk = Workbooks.Open(Filename)
MsgBox bk.Charts.Count
835名無しさん@そうだ選挙にいこう:2009/01/05(月) 23:19:24
>>831
グラフシートの枚数じゃなくてグラフの数を数えたいんならこんな感じ
Sub a()
  F = Application.GetOpenFilename("エクセルファイル (*.xls), *.xls", , "ファイルの選択", , False)
  Workbooks.Open Filename:=F
  c = 0
  For Each s In Worksheets
    c = c + s.ChartObjects.Count
  Next
  ActiveWorkbook.Close
  MsgBox c
End Sub
836名無しさん@そうだ選挙にいこう:2009/01/05(月) 23:48:16
>>827
馬鹿は=B$1+SUM(A$2:A2)とかやるが>>830が正しい。
837名無しさん@そうだ選挙にいこう:2009/01/06(火) 00:34:58
宜しくお願いします
xp Excel2000です

マクロからあるブックをアクティブにし、このブックのSheeet3のCommandButton2をクリックするとスタートする
Private Sub CommandButton2_Click()
以下のマクロを動かしたいのですが

bookName = ActiveWorkbook.FullName
Application.Run bookName & "!Sheet3.CommandButton2_Click()"
でも
bookName = ActiveWorkbook.FullName
Application.Run bookName & "!CommandButton2_Click()"
でも
そんなマクロありませんみたいなメッセージが出てエラーになります。
どのように書いたらいいですか?
またはマクロからSheeet3のCommandButton2をクリックする方法がありますか?

838名無しさん@そうだ選挙にいこう:2009/01/06(火) 00:40:14
>>837
たぶんSheeet3はSheet3の間違いだろう
839名無しさん@そうだ選挙にいこう:2009/01/06(火) 00:42:21
>>837
最後のカッコはいらない
Application.Run bookName & "!CommandButton2_Click"
840837:2009/01/06(火) 00:54:30
>>838 ご指摘ありがとうございます
>>839 試してみましたが マクロが見つかりませんエラー になります、どこが悪いんでしょうか?
841名無しさん@そうだ選挙にいこう:2009/01/06(火) 01:14:32
>>840
ファイル名はシングルクォートでくくる必要がある
Application.Run "'" & bookName & "'!CommandButton2_Click"
842837:2009/01/06(火) 21:56:27
>>841 有難うございます
Application.Run "'" & bookName & "'!Sheet3.CommandButton2_Click"
で走りました
843名無しさん@そうだ選挙にいこう:2009/01/07(水) 10:52:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL vlookup セル ずらす


19811002,1566
19811005,150
19811111,230
19831002,500
19801002,1556
A列は一意な連続性の無い日付となっていて
B列は価格となっています

vlookupで19811005を検索値とし150を返すようには出来るのですが
19811005を検索値として500を返すようにしたいと思っています
検索値からヒットした150から2個下にずらした500という値を毎回欲しいと思っています
19811002で検索したら1566から2個ずらした230が返ってくという感じです

何か良い関数や方法無いでしょうか?
844名無しさん@そうだ選挙にいこう:2009/01/07(水) 10:59:00
>>843
MATCHとINDEXの組み合わせ
845名無しさん@そうだ選挙にいこう:2009/01/07(水) 15:26:24
>>843
AB列にその表、C1に検索値として
=OFFSET(INDIRECT("a"&MATCH(C1,A:A)),2,1)
でいけるけどもう少し短く出来そう
846名無しさん@そうだ選挙にいこう:2009/01/07(水) 15:53:16
>>843
最初からB列を2個ずらしておく
847名無しさん@そうだ選挙にいこう:2009/01/07(水) 18:00:33
>>843
C列を二段ずらして普通にVLOOKUPとか
848名無しさん@そうだ選挙にいこう:2009/01/07(水) 18:00:46
>>843
=LOOKUP(19811005,A1:A100,B3:B102)
849名無しさん@そうだ選挙にいこう:2009/01/07(水) 18:11:14
>>848
オイオイ

>>843
=INDEX(B:B,MATCH(19811005,A:A,0)+2)
850名無しさん@そうだ選挙にいこう:2009/01/07(水) 18:51:38
INDEXの範囲を3列目からにすれば、+2する必要は無い
851名無しさん@そうだ選挙にいこう:2009/01/07(水) 18:55:34
>>850
知ってる。でもわかりやすいじゃん。
852名無しさん@そうだ選挙にいこう:2009/01/08(木) 01:05:46
ご相談です。

これまでWindows2000の入ったPCでExcel2002を使用していたのですが
WindowsXPの入った新しいPCに買換え、同じExcel2002をインストールし、使用しております。
しかし、新しいPCのほうが遥かにスペックは高いのにExcelが非常に遅くなりました。
具体的には、Excelは表計算ではなく、文書の作成に使用しているのですが、
セル内の編集が非常に重くなって、メモ帳にいったん書いてそれをコピー&ペースト
しないと使えないくらい反応が遅いです。
こういう場合は、最新のExcelに買い換えたほうが良いのでしょうか?
853名無しさん@そうだ選挙にいこう:2009/01/08(木) 01:38:14
エクセルをワードに貼り付けたとき、
ワードで設定された行と異なる幅で改行されるのですが、
それを直す方法ありませんか?
854名無しさん@そうだ選挙にいこう:2009/01/08(木) 02:10:59
>>852
フォントの入れすぎ?
855名無しさん@そうだ選挙にいこう:2009/01/08(木) 02:12:08
>>853
ない
可能性があるとすればVBA。ただし具体的な方法はわからん。
856名無しさん@そうだ選挙にいこう:2009/01/08(木) 03:32:59
VBAの話なのですが、
http://jeanne.wankuma.com/tips/vb6/directory/getfilesmostdeep.html
上記のリンク先にある内容と似た形で、
指定したディレクトリ以下の全てのファイルのファイル名・ファイルパス・最終更新日・ファイルサイズを
エクセルファイル(orCVSファイル)に表示させたいのですが、なかなかできません。
今日VBAを触り始めたのですが、上手くいかなくて困っております。
明日中に完成させなければいけないのですが、良い記述があればご教授お願いします。
857名無しさん@そうだ選挙にいこう:2009/01/08(木) 05:19:48
エクセルについての質問よろしくお願いします。

印刷すると、印刷紙の余白がすごく余ってしまいます。
非常にもったいないし、文字など小さくて不便です。
A4用紙いっぱいいっぱいに印刷する方法はないでしょうか?
858名無しさん@そうだ選挙にいこう:2009/01/08(木) 05:47:25
>>854
レスありがとうございます。
巨大なサイズのフォントが入っていました。
どうやら韓国語のものらしいのですが、なぜか削除できませんでした・・・
思い切って、OpenOfficeというものを試しに入れてみましたが、
こちらのほうは十分動作が早いです。
当面こちらを使ってみようと思います。
ありがとうございました。
859名無しさん@そうだ選挙にいこう:2009/01/08(木) 09:43:12
>>856
「VBA ファイル 列挙」でググる
860名無しさん@そうだ選挙にいこう:2009/01/08(木) 10:41:33
【1 OSの種類         .】 Windows xp sp2
【2 Excelのバージョン   】 Excel 2003
【5 検索キーワード     】 EXCEL 重い ネットワーク

社内で部署移動が有り、別のビルに引っ越したところ、
ネットワークにつなぐと、10秒くらいおきに5秒ほど固まるようになってしまいました。
LANを抜くと、治ります。新規のファイルでもなりますし、ウイルスバスターを終了してもダメでした。
また、他のアプリは問題ありません。
なのか心当たりのある方いらっしゃいますか?
861名無しさん@そうだ選挙にいこう:2009/01/08(木) 11:34:41
>>860
移動前後で自分の環境は代わっていないって言う前提で言うなら
↓みたいにどこかで足を引っ張ってるPCが有ったりしないかな?
ttp://pasokoma.jp/bbsa/lg304149.html

そもそも本当にエクセルだけの問題なのかどうかも分からない
ネットワークへのアクセスを監視するようなソフトを入れてエクセルの通信を監視してみては?
862名無しさん@そうだ選挙にいこう:2009/01/08(木) 12:06:03
>>857
印刷プレビュー→余白
863名無しさん@そうだ選挙にいこう:2009/01/08(木) 12:08:05
>>860
ネットワークドライブを参照するマクロかアドインが入ってない?
864名無しさん@そうだ選挙にいこう:2009/01/08(木) 12:11:19
>>857
ページ設定の倍率を変える

865名無しさん@そうだ選挙にいこう:2009/01/08(木) 12:51:35
回答ありがとうございます。
>>861
前のビルのプライベートアドレスに定期的にアクセスしてるようですが、何ものかわかりませんでした。
紹介していただいたサイトのようにプリンタの問題もなさそうです。

>>863
オフィスを再インストールしてるので、余計なものは入ってません。

こまりもうしたorz
866名無しさん@そうだ選挙にいこう:2009/01/08(木) 13:11:00
>>865
ネットワークの設定がおかしいだけじゃないの?
引っ越ししたならドメインとかも変わってるはずだし。
俺のエスパーではExcelは無関係。Windows板で聞け。
867名無しさん@そうだ選挙にいこう:2009/01/08(木) 13:24:14
テンプレートの作成について質問です。

知人から、毎日データをメールに添付して送らないといけなくなったので
テンプレートの作成を頼まれました。
私はExcelを持っていないし、ほとんど使ったことがないので、簡単なことですが
教えてください。

1.テンプレートでセルに今日の日付を初期値として自動設定したいのですが、
マクロを使わずにできますか?

2.初期値の設定にマクロが必要な場合、ブックの保存時にはマクロを
削除したいのですが、テンプレートの設定だけで可能でしょうか?

メールで送るファイルにマクロを入れたくないので、保存するファイルには
マクロが含まれない状態にしたいと思っています。
使用するOfficeのバージョンは、2007だと思います。
868860:2009/01/08(木) 13:59:46
原因が判明しました。
誰かが自作したツールバーのボタンが、前ビルのマクロを参照してたみたいです。
マクロのエディターには、アクセスできないので表示されてませんでした。
おさわがせさました。
一度アンインストールしたのにのこるんですね…
869名無しさん@そうだ選挙にいこう:2009/01/08(木) 18:14:00
>>864
一発でA4用紙のサイズに合わせたいんです
870名無しさん@そうだ選挙にいこう:2009/01/08(木) 18:54:01
>>869
意味わかんね。
つーか、質問間違えてるだろ?
「余白をなくす」じゃなくて「1枚に収める」だろ?
もしそうなら心から謝罪しなきゃやりかたを教えない。
871名無しさん@そうだ選挙にいこう:2009/01/09(金) 03:50:41
>>869
Excelの仕様で一発で合わせるのは難しいし環境にも依存することなので簡単には回答できない
872名無しさん@そうだ選挙にいこう:2009/01/09(金) 07:04:48
>>867
1.その日付が、日付が変わって日とともにいいなら、
できる。 だめなら、値で貼り付け。
2.なをだめなら、マクロ。 でもマクロ削除するくらいなら、

1.の方が簡単。
873名無しさん@そうだ選挙にいこう:2009/01/09(金) 09:05:13
>>867
マクロで組むとして何故作ろうとしているブックにマクロが入ると思ってるのか分からんな
どういう動作をするマクロを組めばいいのか分かってないのか?
1.マクロが入ってるブックを開く
2.マクロが新しくブックを作る
3.マクロが入ってるブックを閉じる
こんな感じの流れになるはず

テンプレートだけでやる案として
日付を入れるセルが1つだけなら
テンプレートを保存する前にそのセルを選択した状態にしておく
テンプレートから作成する時(開いた直後)にCtrl+"+"(当日の日付を入力するショートカット)
でいいんじゃないかな?

説明が分かりづらいかも知れんな・・・
874名無しさん@そうだ選挙にいこう:2009/01/09(金) 09:29:59
つーか、本人に直接書かせろよ
875名無しさん@そうだ選挙にいこう:2009/01/09(金) 09:58:09
ショートカットのキー間違えてるな orz
正しくはCtrl+";"
876名無しさん@そうだ選挙にいこう:2009/01/09(金) 09:59:27
>>856
「ファイル一覧作成」でぐぐる。
877名無しさん@そうだ選挙にいこう:2009/01/09(金) 10:48:59
excel2003で、飲食店の売り上げ分析等を行いたいのですが、
おすすめの本とか有りますか?

できましたら、ピボットから回帰分析等まで、詳しく説明されている本が良いです。

宜しくお願いいたします。
878名無しさん@そうだ選挙にいこう:2009/01/09(金) 11:13:05
>>877

>>2・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
879名無しさん@そうだ選挙にいこう:2009/01/09(金) 13:04:13
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】 ?

見積書を作っているのですが
左セルに合計金額
右セルに単価x個数(こちらの入力で合計が出るようにしたいです)

普通は
左セル(A1)に =B1
右セル(B1)に =単価*個数
と打ち込めばいいのですが

印刷する際、右B1に 数式 単価*個数 をそのまま表示させたい場合は
どうすればよいでしょうか?

よろしくお願いします。
880名無しさん@そうだ選挙にいこう:2009/01/09(金) 13:47:42
>>879
その”単価” ”個数"は、変数、文字列?
変数の場合、単価、個数は、どこに入力されている?
計算をさせ、且つ ”=単価*個数”と表示させたいの?
意味不明な点が多いです。
881名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:15:29
FV関数について質問です。
預け入れる期日が決まっている場合でも、支払期日を1と入力すればいいんですか?
セルは特に参照しなくていいのでしょうか?
882名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:17:02
>>879
表の作り方がおかしい
そういう時はB列に単価、C列に個数を入れて、A列に=B1*C1って数式を入れるんだよ。
そして見た目を数式っぽくしたいならB列の書式を "="0 、C列を "*"0 みたいにする。
記号の位置を縦にまっすぐになるようそろえたいなら記号だけの列を作るという手もある。
883名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:19:04
>>879
A1=B1*D1
B1=単価
C1=*(もしくは×)
D1=個数

じゃだめなのか?
884名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:26:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 不明

下の式を満足できるような、"ある関数"はありますでしょうか?
"ある関数"とはその日のひにちだけが返されるような関数です

A1=1/"ある関数"

例えば今日は9日ですから

A1=1/9

15日であれば

A1=1/15

の結果が表示されるようにしたいのです

よろしくお願いします
885名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:34:38
>>884
"ある関数"の入力値が「その日の日付」でいいなら
="1/"&TEXT(NOW(),"d")
886名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:38:50
ああ、言い方が悪かったかもしれません

A1=1/9
つまりA1セルに0.1111・・・・の値が欲しいのです
A1=1/15
つまりA1セルに0.0666・・・・の値が欲しいのです

お願いします
887名無しさん@そうだ選挙にいこう:2009/01/09(金) 14:41:59
自己解決しました

>>885さんのをちょっといじって

=1/TEXT(NOW(),"d")

でいけますね

ありがとうございました
888名無しさん@そうだ選挙にいこう:2009/01/09(金) 16:37:14
>>887
それなら
=1/day(now())
の方が自然なやり方だと思う。
889名無しさん@そうだ選挙にいこう:2009/01/09(金) 18:50:44
完全なスレ違いかも知れませんが、ネットで調べても解らず最後の手段でここで質問させいて頂きます。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセルシート 接続エラー

株価取得『エクセルシート』Ver 2.14を使いたいと、ベクターからDLしましたが
「マクロ」と言うのでしょうか、(インターネットで)株価取得をしようとしても、「接続エラー」と出てしまいます。
もちろんマクロは有効にしています。
原因がわかる方がいましたらよろしくお願いします。
890名無しさん@そうだ選挙にいこう:2009/01/09(金) 19:37:05
>>889
最初にやるべきことは、その「株価取得エクセルシート」の制作者に問い合わせることだな。
891名無しさん@そうだ選挙にいこう:2009/01/09(金) 19:57:18
マクロ内のパスでもいじる必要があるんじゃね?
892名無しさん@そうだ選挙にいこう:2009/01/10(土) 17:44:52
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

社内に見積データのファイルが膨大にあります。
これの品目と単価を新規で作るExcelに入れ、単価を検索するデータベースを作りたいと思います。
たとえば
   種類   見積業者  金額  
1.うどん   A社    500円
2.うどん   B社    450円
3.うどん   C社    550円
4.そば    A社    250円
5.そば    B社    350円
6.そば    C社    300円

のように一体化させたいのです。
Accessで作るのが一番いいのかもしれませんが、当方Accessは全然分かりません
さしあたりExcelで、膨大な見積書の行をサクサクコピペしていくような方法はありませんか?
893名無しさん@そうだ選挙にいこう:2009/01/10(土) 18:24:08
サクサクコピペするんじゃなくて
全部一括でコピペしたあとで必要な部分を抜き出すんだと思うよ
あとは元のデータがどんなふうになってるかわかんないとどうしようも
894名無しさん@そうだ選挙にいこう:2009/01/10(土) 22:06:29
>>892
前提条件として、元の見積データファイルの様式が完全に統一されていないと何も出来ない。
大丈夫?
895名無しさん@そうだ選挙にいこう:2009/01/10(土) 22:42:59

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 1+1/2+1/3+
1/2+1/3

A1 1
A2 A1+1/2
A3 A2+1/3
...というような計算をしたいのですが、下方向に続くを
全く使いこなせず、1づつ足されたり、1/2づつ足すことしかできません。
むしろエクセルでこんな計算できるのかも疑問です…
できるなら方法を教えて頂けると、本当に嬉しいです。
おねがいします。
896名無しさん@そうだ選挙にいこう:2009/01/10(土) 22:55:57
=A1+1/n
のnをセル参照にするだけ
897名無しさん@そうだ選挙にいこう:2009/01/10(土) 23:05:48
=A1+1/ROW(A2)
898名無しさん@そうだ選挙にいこう:2009/01/10(土) 23:22:04
>>896
ありがとうございます。
セル参照というのは、どうやって指定すればいいのでしょうか…?
循環参照というがでてきたのですが、青い矢印が出てくるだけで
変わりません。
>>897
ありがとうございます。
入れてみたのですが0になってしまいました。

基本知識が欠けているので、ちんぷんかんぷんな事を言ってたら
ごめんなさい。
899名無しさん@そうだ選挙にいこう:2009/01/11(日) 00:32:14
>>895
A1に「1」と入れる。
A2に「=A1+1/ROW()」と入れる。
A2をコピーしてA3以降、好きなところまで貼り付ける。
900名無しさん@そうだ選挙にいこう:2009/01/11(日) 00:40:14
>>899
できました!!!!
丁寧に有難うございました。
本当に助かりました。
901名無しさん@そうだ選挙にいこう:2009/01/11(日) 01:40:45
そこまで説明しないとわからないとは…
902名無しさん@そうだ選挙にいこう:2009/01/11(日) 12:03:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィル 1行おき コピー

オートフィルでのコピーについての質問です。

具体的には、下図のようにセルA100に入力した式をオートフィルにより
セルB100、C100、…へとコピーしたいのですが、
M$10:M$15、P$10:P$15、S$10:S$15のような2列おきのセル範囲を
A100、B100、C100という連続したセルにコピーする方法がわかりません。

ご存知の方がいましたら教えてください。

    A                       |   B                     | C
100 SUMIF(M$10:M$15,"[F1]*",N$10:N$15) | SUMIF(P$10:P$15,"[F1]*",Q$10:Q$15) | SUMIF(S$10:S$15,"[F1]*",T$10:T$15)
903名無しさん@そうだ選挙にいこう:2009/01/11(日) 12:04:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 できれば否
【5 検索キーワード     】 複数条件 countif 配列数式 など

日付 出荷先 品物  値段
1/10 広島県 リンゴ 2000
1/10 広島県 ミカン 1000
1/10 宮城県 ミカン 2000
1/11 宮城県 リンゴ 2000
1/11 広島県 ミカン 1000





こういう感じで、下にどんどんデータを増やしていきたいのですが、
「ある日付の、品物の合計」を求めたい場合、どうしたらよいのでしょうか?

=SUMPRODUCT((日付の範囲=日付)*(品物の範囲=品物の名前))や
{=SUM(IF((日付の範囲=日付)*(品物の範囲=品物の名前),1))}では
一応合計は求まるのですが、範囲を列全体にはできないですよね?
データは下に増えていくので、できれば列全体を参照したいのですが…

将来的には「ある日付の、ある出荷先の、ある品物の値段合計」なども
求めたいと思っています。
どうかアドバイスをお願いします
904名無しさん@そうだ選挙にいこう:2009/01/11(日) 12:13:16
>>903
ピボットテーブルを使うといいよ
905名無しさん@そうだ選挙にいこう:2009/01/11(日) 12:22:46
列全体にできるんじゃないの?
できなくても範囲を余分に広く取っておけばいいだけ
906名無しさん@そうだ選挙にいこう:2009/01/11(日) 12:48:25
>>902
A1=+SUMIF(INDIRECT("r10c"&10+COLUMN()*3&":r15c"&10+COLUMN()*3,0),"[F1]*",INDIRECT("r10c"&11+CO
LUMN()*3&":r15c"&11+COLUMN()*3,0))

907903:2009/01/11(日) 13:05:17
>>904
ちょっと敷居が高くて…すいません

>>905
一日の件数が0〜50件以上と変動が激しく、
できれば1年間は使いたいので範囲は指定したくないんですが、
やっぱりどうにもならないですか?

ちなみに列全体の参照はできませんでした
ttp://www.uploda.org/uporg1924563.jpg
908名無しさん@そうだ選挙にいこう:2009/01/11(日) 13:17:12
いいからピボット覚えろ
909名無しさん@そうだ選挙にいこう:2009/01/11(日) 13:18:35
あらかじめ1年分の範囲を指定すればいい
足りなくなっても範囲の中で行を挿入すればいいんだし
910名無しさん@そうだ選挙にいこう:2009/01/11(日) 13:19:40
クロス集計案件でピポッド使わないならExcel使う意味ないじゃんw
どんだけ自分のハコニワから動きたくないんだよw
911名無しさん@そうだ選挙にいこう:2009/01/11(日) 13:37:07
Excelで解決したい問題は大半がクロス集計の構造を持っている。
まずはピボットテーブルを覚えるといい。COUNTIFやSUMIFを覚えるのはもっと後だ。どうせこんなの役に立たないんだから。
912名無しさん@そうだ選挙にいこう:2009/01/11(日) 13:51:54
1行目はイラネ
913名無しさん@そうだ選挙にいこう:2009/01/11(日) 14:07:40
>>903
一年間も使うくせに=SUMPRODUCT()とか{=SUM(IF())}
とか使うなよ。
そんなもん途中で重くて使い物にならねーよ!
ピボット使え!
914913:2009/01/11(日) 14:18:14
>>903
よく考えたら君みたいに頭の堅い奴は想像力が欠如してるよな。
実際次の式使って実感してみな。アホくさい式を教えるから。

=SUMPRODUCT((A$2:A$65536=日付)*(B$2:B$65536=品物の名前))

あと名前定義を使って範囲を可変にする方法もあるけどめんどくさいから書かない。
915名無しさん@そうだ選挙にいこう:2009/01/11(日) 14:31:02
>>903
人気のない関数だけど[DSUM]や[DCOUNT]で簡単に集計できるよ
916名無しさん@そうだ選挙にいこう:2009/01/11(日) 14:39:05
みなさんありがとうございました
行を挿入したり、一番下まで範囲指定したり、
多分一人でやってたら全然気がつかなかったです…

ピボットテーブルも、調べてみたらとても便利そうですね
想像力も知識も欠如してるので、も少し勉強してみます
とても参考になりました
917名無しさん@そうだ選挙にいこう:2009/01/11(日) 15:01:01
>>915
SUMIFやCOUNTIF使うのとたいして変わらんよ。
品物ごと出荷先ごとの集計をする関数を一生懸命書いたとするだろ?
その後、品物が10種類、出荷先が10ヶ所増えたとしてみろ。
関数を100個追加しないといけないんだぞ。
集計表のレイアウトも全部作り直しだ。
こんな関数実務で使ってられるか。
918名無しさん@そうだ選挙にいこう:2009/01/11(日) 15:18:03
>>906
汚い式・・・
919名無しさん@そうだ選挙にいこう:2009/01/11(日) 16:04:41
>>918
では最適な解答を
どうせ無理でしょうけど
920902:2009/01/11(日) 16:08:51
>>906
ありがとうございます。
これでできました。
式も理解できました。

ただR1C1形式に慣れていないこともありますが、
一見してどのセルを参照しているのかがわかりにくく
後で表を加工したとき等に集計ミスが起こることかもしれないので、
集計対象の表と同形式の表を別途用意し、
素直にオートフィルでコピーする予定です。

わざわざ考えていただいたのに
大変申し訳ありません。
921918:2009/01/11(日) 16:40:24
>>919
うん、無理。
質問の意味もわからないほど文盲なので。
それでも汚い式だという事はわかる。
922名無しさん@そうだ選挙にいこう:2009/01/11(日) 17:34:38
それって「わかる」じゃなくて「思う」じゃね?
923名無しさん@そうだ選挙にいこう:2009/01/11(日) 18:02:42
商品名  数値A 数値B
KUHG      1.05 20.51
↓       ↓  ↓
 
というデータ表から数値Aと数値Bの一定の条件を満たす場合に
商品名をセルに表示するという場合どういう関数使えばいいでしょうか?
教えてくださいよろしくお願いします
924名無しさん@そうだ選挙にいこう:2009/01/11(日) 18:19:06
おれだったら作業列とVLOOKUPをつかう
925名無しさん@そうだ選挙にいこう:2009/01/11(日) 18:33:38
具体例ですが数値Aが2以上かつ数値Bは20以下なら
商品名を任意のセルに表示するということが作業列とVLOOKUP関数で可能でしょうか?
926名無しさん@そうだ選挙にいこう:2009/01/11(日) 18:42:06
条件によって引いてくる商品名が複数ある場合はVLOOKUPじゃ無理
作業列にフラグを立ててフィルタをかけるなりピボットテーブルで抽出するなりかな
927名無しさん@そうだ選挙にいこう:2009/01/11(日) 19:58:41
>>923
こんな感じ?
  A   B    C          D
商品名 数値A 数値B =IF(AND(B1>=2,C1<=20),A1)
928名無しさん@そうだ選挙にいこう:2009/01/11(日) 20:13:06
>>924,926さんに回答もらったんですが自分にはちょっと難しすぎました
回答いただいて感謝しています
>>927さんこういう条件式に合致した場合セルDに商品名が表示されるということですね
自分のしたかったことです ありがとうございます さっそく実践してみます
929名無しさん@そうだ選挙にいこう:2009/01/11(日) 20:19:53
>>928
こんなやり方もあるですよ
http://dreamy.boy.jp/tec2_8.htm
930名無しさん@そうだ選挙にいこう:2009/01/11(日) 20:39:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル VBA 日時

すみません教えてください。
A1というセルに今日の日付yyyy/mm/ddを表示させ
そのセルの日付から-1ヶ月を任意のセルに表示させる方法を教えてください。
例 2009/1/11 を参照し 回答は 12月(表示はmm"月"でお願いします。)
いろいろ調べたけどうまくいきません。
よろしくお願いします。
931名無しさん@そうだ選挙にいこう:2009/01/11(日) 20:53:07
>>930
=EDATE(A1,-1)
表示形式でmm"月"
932名無しさん@そうだ選挙にいこう:2009/01/11(日) 21:14:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

今、エクセルで収支内訳書を作っているのですが、
下部のワークシートに1月から12月までの各月と一年間の総計の項目を作って
一年間の総計のワークシートの
B4(光熱費)の部分に='1月'!B41
C4(通信費)の部分に='1月'!C41
D4(交際費)の部分に='1月'!D41とアルファベット一文字違いの数式を
B4からX4まで入力して1月部分のワークシートの合計をY4に出力したいのですが、
一つ一つの枠に数式を手作業で打っていくのではなく、
B4〜X4までの枠に上記を一括で入力するコマンドか方法のようなものはないですか?
よろしくお願いします。
933名無しさん@そうだ選挙にいこう:2009/01/11(日) 21:22:20
>>931
ありがとうございます。。
私の書き方が間違っていました。
マクロで動かしたいのでEDATEは使えません。
構文を教えてください。
934名無しさん@そうだ選挙にいこう:2009/01/11(日) 21:32:04
>>933
Range("B1") = Format(DateAdd("m", -1, Range("A1")), "mm月")
935名無しさん@そうだ選挙にいこう:2009/01/11(日) 21:34:10
>>932
1つ入れてコピペ
936名無しさん@そうだ選挙にいこう:2009/01/11(日) 21:41:00
>>934
ありがとうございました。
ちょっとがんばってみます。
937932:2009/01/11(日) 23:38:41
>>935
えと…どのような手順になるのでしょう?
エクセルを触ったのは今日が初めてなので、
バカみたいな質問をしていたらごめんなさい。。

B4(光熱費)の部分に='1月'!B41
C4(通信費)の部分に='1月'!C41
D4(交際費)の部分に='1月'!D41

といった具合に全部同じ数式を横一列にコピペではなく、
「'1月'!●41」の●の部分が上部のアルファベットに対応して一つずつ変わっていく入力をしたいのです。。
Dなら'1月'!D41
Eなら'1月'!E41といった具合に。。
ひとつひとつの枠に手作業で入力するしか方法がないのでせうか…?
938名無しさん@そうだ選挙にいこう:2009/01/11(日) 23:45:10
>>937
(1) B4に「='1月'!B41」と入れる
(2) B4をコピー
(3) C4〜X4をドラッグしてまとめて選択する
(4) 貼り付け

エクセルでは単純にコピペするだけでセル番号を示すアルファベットや数字が自動的にずれていくのよ。
939名無しさん@そうだ選挙にいこう:2009/01/11(日) 23:45:39
>>937
オートフィル
でぐぐれ
使えば分かるがかなり基本的な操作だぜ
940名無しさん@そうだ選挙にいこう:2009/01/11(日) 23:52:57
高久って入れてる奴の顔が気持ち良さそうすぎて
941名無しさん@そうだ選挙にいこう:2009/01/11(日) 23:58:14
>>937
質問の答えじゃないけど
「1月」「2月」・・・と月ごとにシートを分けるのってあまり上手いやり方じゃないと思うな
942名無しさん@そうだ選挙にいこう:2009/01/12(月) 17:51:11
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VLOOKUP 値の取り出し

下図@のように、クラスと番号と氏名が入力されているファイルがあります。
下図Aのように、クラスと番号のみが入力されているファイルがあります。
クラスと番号の2つをキーに、図@からAに氏名をとってきたいのですが、
どのようにしたら良いでしょうか。
キーが1つであれば、VLOOKUPで出来るのですが、2つになって困っています。
宜しくお願いします。

図@            図A
クラス 番号 氏名     クラス 番号
1   1  相沢     1   1
1   2  加藤     1   2
1   3  佐藤     2   1
1   4  館山     2   2
2   1  安西     2   3
2   2  木村      
2   3  工藤
943名無しさん@そうだ選挙にいこう:2009/01/12(月) 18:05:18
マルチイクナイ
944名無しさん@そうだ選挙にいこう:2009/01/12(月) 18:08:14
>>942 クラスと番号を結合してキーをつくればいいだけ
945名無しさん@そうだ選挙にいこう:2009/01/12(月) 18:18:45
>>938-939
ありがとうございます。
946名無しさん@そうだ選挙にいこう:2009/01/12(月) 18:31:23
>>944
942です。ありがとうございます。

947名無しさん@そうだ選挙にいこう:2009/01/12(月) 21:16:12
■■■■■■■■■■■■これを別の掲示板に
■          ■コピーして書き込むと
■          ■メッセージが出でくる
■          ■不思議な書き込みです
■          ■
■     n    ■
■          ■
■          ■
■■■■■■■■■■■■
948名無しさん@そうだ選挙にいこう:2009/01/12(月) 21:46:24
>>947
出てきませんでした。
はい次どうぞー
949名無しさん@そうだ選挙にいこう:2009/01/12(月) 23:25:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 年別 月数 エクセル

月の15日以前の日は当月の1日とし、16日以降は翌月1日として
年別の月数を求めたいと思っています。

たとえば
H19/5/11 H21/1/11 と入力したら

H19 8
H20 12
H21 0

と出るようにしたいのです。
入力に必要な年数はH19からH21までの3年間です。どのようにしたら良いでしょうか?
教えてくださいよろしくお願いします
950名無しさん@そうだ選挙にいこう:2009/01/12(月) 23:27:16
■■■■■■■■■■■■これを別の掲示板に
■                    ■コピーして書き込むと
■  ||||ii;,.             ■メッセージが出でくる
■       !||!i;:,,.     ■不思議な書き込みです
■ .,||!!|x..   ___      . ■
■   ~^!!  ^ ^"i;    ■
■    X     ,;|! x;_ ..■
■   ~^    ^^     ■
■■■■■■■■■■■■
951名無しさん@そうだ選挙にいこう:2009/01/12(月) 23:44:45
>949

つmonth
つday
952名無しさん@そうだ選挙にいこう:2009/01/13(火) 00:14:16
>>949
期間がA1、B1に入っていたとして、
H19年の月数=INT((IF(39448<DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1),39448,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)<39083,39083,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)))/30)
H20年の月数=INT((IF(39814<DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1),39814,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)<39448,39448,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)))/30)
H21年の月数=INT((IF(40179<DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1),40179,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)<39814,39814,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)))/30)
953名無しさん@そうだ選挙にいこう:2009/01/13(火) 00:20:34
なんで作業列つかわないのw
つくった本人でもメンテナンスむずかしいだろww
954名無しさん@そうだ選挙にいこう:2009/01/13(火) 00:33:05
ごめん。ちょっと無駄が多すぎたね。少しだけ最適化してみた。
H19年=INT((IF(39431<B1,39448,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39098,39083,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)))/30)
H20年=INT((IF(39797<B1,39814,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39463,39448,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)))/30)
H21年=INT((IF(40162<B1,40179,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39829,39814,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1)))/30)
955名無しさん@そうだ選挙にいこう:2009/01/13(火) 00:36:16
>>953
表の作り方を説明するのがめんどくさいし俺が使うんじゃないし
956名無しさん@そうだ選挙にいこう:2009/01/13(火) 01:46:24
何で間違った計算してるの?
質問者はそのまま使っちゃうだろw
957名無しさん@そうだ選挙にいこう:2009/01/13(火) 02:16:41
>>956
指摘してくれてありがとう。素で気付いてなかった。
これでどう?
H19年=INT((IF(39431<B1,39448,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39098,39083,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1))+2)/30)
H20年=INT((IF(39797<B1,39814,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39463,39448,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1))+2)/30)
H21年=INT((IF(40162<B1,40179,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39829,39814,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1))+2)/30)
958名無しさん@そうだ選挙にいこう:2009/01/13(火) 02:19:44
ああ、まだダメだ…
959名無しさん@そうだ選挙にいこう:2009/01/13(火) 02:34:12
こ、こんどこそ…
=IF(AND(A1<39463,39066<B1),INT((IF(39431<B1,39448,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39098,39083,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1))+2)/30),0)
=IF(AND(A1<39829,39431<B1),INT((IF(39797<B1,39814,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39463,39448,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1))+2)/30),0)
=IF(AND(A1<40194,39797<B1),INT((IF(40162<B1,40179,DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>15),1))-IF(A1<39829,39814,DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>15),1))+2)/30),0)
誰か頭のいい人、もっと簡単な式を考えてくれ。
960名無しさん@そうだ選挙にいこう:2009/01/13(火) 03:28:36
>>959 >>949
違う方法は思い付かないけど、その式ならもうちょっと整理できる
=IF(AND(A1<39432,39097<B1),IF(39431<B1,13,MONTH(B1)+(DAY(B1)>15))-IF(A1<39098,1,MONTH(A1)+(DAY(A1)>15)),0)
=IF(AND(A1<39798,39462<B1),IF(39797<B1,13,MONTH(B1)+(DAY(B1)>15))-IF(A1<39463,1,MONTH(A1)+(DAY(A1)>15)),0)
=IF(AND(A1<40163,39828<B1),IF(40162<B1,13,MONTH(B1)+(DAY(B1)>15))-IF(A1<39829,1,MONTH(A1)+(DAY(A1)>15)),0)

これだと式の意味がわかりにくいから、A2に"H19"、A3に"H20"と入れて、この式をB2以下にコピペで
平成何年まででも対応できる。はず。
=IF(AND(A$1<DATEVALUE(A2&".12.16"),DATEVALUE(A2&".1.15")<B$1),IF(DATEVALUE(A2&".12.15")<B$1,13,MONTH(B$1)+(DAY(B$1)>15))-IF(A$1<DATEVALUE(A2&".1.16"),1,MONTH(A$1)+(DAY(A$1)>15)),0)
961名無しさん@そうだ選挙にいこう:2009/01/13(火) 07:31:44
>>955
>>953が見事に当てはまっててワロタ( ´∀`)
962名無しさん@そうだ選挙にいこう:2009/01/13(火) 19:58:04
963名無しさん@そうだ選挙にいこう:2009/01/13(火) 21:01:53
一方では論理式の結果をそのまま加算する式にしてるのに
もう一方では論理式の結果を条件にIF関数で0と1を返す式にしている

無駄を省くために前者にするのも、読解性を高めるために後者にするのも一理あるが
こういう統一性のない式は感心しないな
964名無しさん@そうだ選挙にいこう:2009/01/13(火) 21:22:06
すげえなあんた
偉そうに能書きたれながら
木を見て森を見ずを地で行ってんな
965名無しさん@そうだ選挙にいこう:2009/01/13(火) 22:53:18
kkkk
966名無しさん@そうだ選挙にいこう:2009/01/13(火) 23:19:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 no
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

20以上 ならば 1
15以上、20未満 ならば 2
10以上、15未満 ならば 3
10未満 ならば 4

というふうに、表示されるようにしたいのですが
どのような式にすれば良いのでしょうか?

よろしくお願いします。
967名無しさん@そうだ選挙にいこう:2009/01/13(火) 23:42:30
>966

つArray
968名無しさん@そうだ選挙にいこう:2009/01/13(火) 23:46:39
>966

失礼!chooseのがいいかな。
969名無しさん@そうだ選挙にいこう:2009/01/13(火) 23:51:01
>966

最初に教えるべきは素直に IF だな・・・orz
970名無しさん@そうだ選挙にいこう:2009/01/13(火) 23:59:08
>>966
IF(A1>=20,1,IF(A1>=15,2,IF(A1>=10,3,4)))
971名無しさん@そうだ選挙にいこう:2009/01/14(水) 00:00:33
あ、空欄と無効文字列対策してないや。必要だったら最後のほう手直しして
972名無しさん@そうだ選挙にいこう:2009/01/14(水) 00:01:00
>>966
うーん・・ちょっと面白い数式を考え付いた
A2に数字が入ってるとして
=ROUNDUP(A2/-5+5,0)
ただこれは5<=A2<=25
の範囲でしか使えないのが残念。範囲外はifで分ければいいんだけどさー
何か閃きそうなんだよなあ
973名無しさん@そうだ選挙にいこう:2009/01/14(水) 00:03:37
どこが面白いの?
974名無しさん@そうだ選挙にいこう:2009/01/14(水) 00:14:57
ifでガチの>>970よりは面白いが実用性が無いな
975名無しさん@そうだ選挙にいこう:2009/01/14(水) 00:55:49
たぶん>>970より短い式はないと思う。

>>972
その式が使用できる範囲は5<=A1<25。25以下じゃなくて25未満。
範囲外を判別するにはこういう方法もある。=SIGN(INT((A1-5)/20))+2
976名無しさん@そうだ選挙にいこう:2009/01/14(水) 00:58:41
分類するのが1〜4までじゃなくて5パターン以上ならROUNDUPとか使った方が短くなるんだけどね。
977966:2009/01/14(水) 01:30:15
みなさん、ありがとうございます!
970のif関数を使わせてもらうことにします。
とても助かりました。
978名無しさん@そうだ選挙にいこう:2009/01/14(水) 04:02:05
無駄にわかりにくい数式を2つほど作ってみた

これだとIFが2つで済む
=IF(SIGN(INT((A1-5)/20)),IF(A1<10,4,1),ROUNDUP(5-A1/5,0))

個人的にはこういうのが好き
=CHOOSE(SIGN(INT((A1-5)/20))+2,4,ROUNDUP(5-A1/5,0),1)
979名無しさん@そうだ選挙にいこう:2009/01/14(水) 04:29:57
IFが1つ
=IF((5<A1)*(A1<25),ROUNDUP(5-A1/5,0),2.5-1.5*SIGN(A1-9))
980名無しさん@そうだ選挙にいこう:2009/01/14(水) 07:35:33
次スレまで変な数式合戦でもいいぞ
Excel総合相談所 77
http://pc11.2ch.net/test/read.cgi/bsoft/1231885728/
>>976
あーそうか、何か使えそうと思ってたんだがそこか。ありがと
>>978>>979
使いにくいwww
981名無しさん@そうだ選挙にいこう:2009/01/14(水) 08:38:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

  A   B   C
1 10F  2
2 
3 

A1=定数A(16進)に、定数B(16進)にB1の数値(10進)を乗じた値(16進)、
A2=定数A(16進)に、定数B(16進)にB2の数値(10進)を乗じた値(16進)、
A3=・・・
と、一定回数連続で入力していく方法を教えていただけないでしょうか。
982名無しさん@そうだ選挙にいこう:2009/01/14(水) 09:25:21
>>981
一定回数を詳しく。
手動?、自動?
983981:2009/01/14(水) 09:32:46
>>982
大体200程度で。
自動手動両方できれば。
984名無しさん@そうだ選挙にいこう:2009/01/14(水) 09:53:40
>>966
>>696の数式を少しいじれば使える

>>981
連続で入力って・・・変化するのはB列だけのように見えるな
16進と10進の変換方法が聞きたいんじゃないのか?
ヘルプで「16進」調べれば出てくるよ
985名無しさん@そうだ選挙にいこう:2009/01/14(水) 10:22:46
986名無しさん@そうだ選挙にいこう:2009/01/14(水) 10:23:51
だよな
10進であれば、厨房でもわかる内容
単に16進の扱い方が解らないだけのように見える
987名無しさん@そうだ選挙にいこう:2009/01/14(水) 10:24:05
>>983
200回ぐらいならオートフィルでいいんじゃないか。
988名無しさん@そうだ選挙にいこう:2009/01/14(水) 12:01:14
>>981
一回こっきりの作業なのか、
継続的な作業かで、対応は違う。
989名無しさん@そうだ選挙にいこう:2009/01/14(水) 12:20:11
何で降り順なのにMATCHが出てこないのかと....。
>>970
MATCHの照合の型-1の方が短くなるだろ?
=MATCH(A1,{150,19,14,9},-1)
150歳以上生きる人いたらエラーだが、そんときゃ200とでもすりゃいい。
990名無しさん@そうだ選挙にいこう:2009/01/14(水) 12:22:14
アンカーミスった。
上は>>975へだ。
991名無しさん@そうだ選挙にいこう:2009/01/14(水) 12:28:21
>>989
感動した!!
992981:2009/01/14(水) 12:35:38
お騒がせしました。
無事解決しました。

一応16進数と10進数は理解してます。


すみませんでした。
993名無しさん@そうだ選挙にいこう:2009/01/14(水) 19:04:58
>>989
この数字が年齢だとはどこにも書いてないじゃん
だからとりあえず質問にある条件を数学的に解釈したんだけど
上限も下限もないし、マイナスでも小数でも書いてあるとおりの条件で処理するようになってる
994名無しさん@そうだ選挙にいこう:2009/01/14(水) 21:35:10
じゃあ俺は
=1+(A1<20)+(A1<15)+(A1<10)
995名無しさん@そうだ選挙にいこう:2009/01/14(水) 21:43:48
ナルホド
996名無しさん@そうだ選挙にいこう:2009/01/14(水) 21:45:25
>>994
おまえ優勝
997名無しさん@そうだ選挙にいこう:2009/01/14(水) 22:12:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 yes
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

1セルに[email protected]:[email protected]:ccc@comのようなデータが入力されていて、
たとえば@yahoo.co.jpが付いてるアドレスだけを除去したいんですが、関数だとどうやる
んでしょうか。
時間がないのでVBAでSplitとInstrを使って除去しましたが、関数だとやり方が思いつきません。

見難いですが、セパレータはコロンです。

よろしくお願いします。
998名無しさん@そうだ選挙にいこう:2009/01/14(水) 22:39:03
>>997
先頭と末尾にもコロンを付ける(式内で付加すれば、実際のセルの内容として付加しなくても良い)
@yahoo.co.jpの位置を返す
その位置から左方向の最初のコロンと右方向の最初のコロンの位置を返す
2文字目から左コロンの前までと、右コロンから末尾の1文字前までを結合する

以上

アドレスの数が3つと決まってるなら、SplitとInstrを使うのと同じ様な処理方法も使える
あとは文字列関数のヘルプでも読んで自分でがんばれ
999名無しさん@そうだ選挙にいこう:2009/01/14(水) 22:42:02
>>997
編集/置換で
置換え後の文字を未入力にする
関数?そんなの関係ねぇ
1000名無しさん@そうだ選挙にいこう:2009/01/14(水) 22:45:13
>>994
うわぁ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。