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/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能でExcelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、 どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 ・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
★ルールを無視すると…
>>1-2 あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ
1.マルチをしてしまったら…
A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
それが嫌なら初めからマルチなんてしないように。
>>2 にマルチ禁止と書いてあり、
マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。
2.
>>1 ★4に従わず、必要な情報を出さないと…
A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
これはきちんとルールに従って質問、依頼した人のみの特権です。
3.情報・条件を後出しすると…
A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
>>1 ★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
長文になってもいいので詳細かつ明確かつ具体的に書きましょう。
★VBAについて
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える) ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する (プラグイン) ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA) ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
||
|| ━ 質問のしかた ━
||
|| ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
|| ★2 要望は具体例や図を使って明確かつ具体的にしる。
|| ★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
|| ★4 質問テンプレ(雛形)は必須ではないが、
|| OSやExcelのバージョン、VBAの可否などは必須情報。
||
|| ∧ ∧ 。
|| ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| ________________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ は〜〜〜〜い /
∧ ∧ ∧,,∧ ∧ ∧
( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。
【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536
【 このスレの登場人物 】 ┌─質問者─────────── どこにでもいるごく普通の初心者だったり 会社で上司に無理難題を押しつけられて困っている人だったりする。 たまに学生が宿題を持ち込んでくることも。 ┌─回答者─────────── テンプレを使わないと無視したり、質問を小出しにするとキレたりするくせに 自分は回答を小出しにして優越感に浸りニヤニヤしている嫌なヤツ。 ┌─自称回答者───────── 質問者を煽ったり、回答者を煽ったり、とにかくスレを引っかき回すだけで 何の役にも立たない賑やかし。単なるヒマ潰しでこのスレを見ている。 ┌─VBA厨 ─────────── VBAは万能と信じ、どんな単純な問題もついVBAで解いてしまう。 Module1がデフォルトで挿入されている世界を夢見るが、いまだ実現していない。 その実態はほとんどが理系の(元)学生。ピボット厨に目の敵にされている。 ┌─ピボット厨────────── ピボットテーブルの機能が強力すぎるため、なんでもできると錯覚している。 口癖は「データを正規化して出直せ」「ピボッと参上ピボッと解決」など。 弱点は大嫌いなVBAを使わないとテーブルのリアルタイム更新ができないこと。 ┌─啓蒙先生────────── ピボット厨一派の過激派。Excelはピボットテーブルだけのためにあり、 それ以外の機能はワークシート関数すら不要と言い切る。ピボットテーブルで 解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。 ┌─そのほか────────── ワークシート関数厨……何重にも入れ子になった複雑怪奇な数式を作り出し、 関数だけでどんな問題も解いてしまう。たまに自分でも何をやっているか わからなくなる。悩みは数式バーが1行しかないこと、頭が薄くなってきたこと。 配列数式厨……意外と使えるやつだが滅多に出てこない、というか出番がない。 極めてマイナーな存在。見かけたらその日はいいことがあるかも。 ナレーター……誰か知らない人。
8 :
名無しさん@そうだ選挙にいこう :2008/12/07(日) 22:37:35
マクロを途中で一時停止させるにはどうしたら良いのでしょうか? お願いいたします。
中断ボタンを押すか、Ctrl+Break 毎回特定の場所で一時停止させたいならMsgBoxでも使え
表を作るときに指数部分を揃える方法ってないでしょうか? どうしてもE-02やE-01など混ざってしまいます
>>8 F8押せば一行ずつ実行できる
ステップインとかでぐぐれ
>>10 ##0.0E+00
のように#を好きなだけつける
以前はPCにあったエクセルが消えてしまったんですが、復活させる方法はあるのでしょうか? また、消えてたってことは自分で削除したってことですよね・・・?
>>15 消えたってのはアンインストールされてるってこと?
デスクトップやスタートメニューにアイコンがないってこと?
具体的に書け
アンインストールされてるならインストールしなおすしかない
アイコンないだけならexeからショートカット作り直せばいいだけだからまた聞け
>>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で有効数字ってどうやって指定するのでしょうか? 計算である有効数字以下全く計算しない設定にするにはどうしたら良いのでしょうか?
>20 つRound
22 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 10:12:46
>>21 小数点何桁以下の四捨五入とかではなく、有効数字で決める方法はないのでしょうか?
それと例えば24324342*453454353
みたいな計算があるとして、有効数字5桁目以下を全く計算せず四捨五入する
みたいな方法も教えて頂けないでしょうか?
お願いいたします。
23 :
15 :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
マウスのダブルクリックを使わずにキーボードから、 選択セルを「編集モード」にするにはどうすればいいですか?
F2
26 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 10:53:35
>22 つRound/Rounddown/Roundup
28 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 12:51:35
>>22 値が必ず整数の場合
=ROUND(値,有効数字−値の文字数)
その他の場合は上式を工夫する
【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 よろしくお願いします。
Alt i e i Enter
>>30 早速にありがとうございます。
確かにできますね。
ただ手間としてはマウス右クリック→挿入とそれほど大差ないですね、、、
もっと手間の少ない入力方法があれば・・・思ったのですが、諦めますorz
ありがとうございました。
32 :
18 :2008/12/08(月) 13:47:21
何卒よろしくお願い致します。
33 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 13:50:22
Dim i As Long みたいに変数の型を定義しなかった場合どうなりますか? 何に定義されるのでしょうか?
バリアント
>>29 挿入だけ続けてやるなら Ctrl + Y が便利だけど
それじゃだめなのかな
36 :
15 :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にして重ねることはできたのですが このままだと挙績>実績になるとどこまでが実績かわからなくなってしまうので 挙績の棒を半透明みたいにスケレートンにしたいのです よろしくお願いしたいのです
>>36 OSクリーンインストールして出直してこい。スレ違い。
39 :
15 :2008/12/08(月) 14:31:11
>>38 すみません;;
ちなみに
>>38 の「vbaen32.olb」でした・・・
>>32 キーボードの右上あたりに、押したことのないキーが並んでるでしょ。
よく探してごらん。BreakとかBRKとかいうのがあるはず。
>>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 ここから給与、税、社保それぞれ別なセルに金額のデータを取り出したいのです。 規則性があるといえば、給与でいえば、"給与" から " "の間の数字になります。
>>42 Ctrl+Breakで一時停止、F5で一時停止したところから再開
>>43 Destination:=Worksheets("Sheet2").Range("B13")
>>44 =MID(A1,FIND(" 給与",A1)+3,FIND(" ",A1,FIND(" 給与",A1)+1)-FIND(" 給与",A1)-3)
給与 =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)
社保=MID(A1,FIND(" 社保",A1)+3,9)
給与=MID(A1,FIND(" 給与")+3,FIND(" 税",A1)-FIND(" 給与",A1)-3) 税 =MID(A1,FIND(" 税")+3,FIND(" 社保",A1)-FIND(" 税",A1)-2)
51 :
44 :2008/12/08(月) 15:43:04
52 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 15:44:05
>>46 ありがとうございます。
開いている全てのワークブックからそのファイル名と決められた位置のセルの内容を
A1にファイル名、A2:A1001にデータ
B1にファイル名、B2:B1001にデータ
・・・
みたいな感じで、複数のファイルからの内容を一つのワークシートにまとめるような
マクロを作りたいのですが、どうすれば良いのでしょうか?
For eachだとうまく作れないのですが、どうすれば良いのでしょうか?
>>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です
>>56 コピペには色々な方法があるけど、見た目でわかりやすいのはこう。
ブック名、シート名、範囲と、貼り付け先をこんなふうに書く。
Sub セル内容の一括コピー()
Workbooks("BookA").Worksheets("Sheet1").Range("A1:C100").Copy 'コピー
Workbooks("BookB").Worksheets("Sheet1").Range("A1").PasteSpecial '貼り付け
End Sub
>>54 ワークシートは名称で指定するのが普通だけど左から何番目かで指定することもできるから
for i = 1 to Worksheets.Count 〜nextとか使って
Worksheet(i)の望みの範囲をコピー貼り付けすればいいんじゃないの
59 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 17:49:14
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")
というのにどう書き加えれば良いのでしょうか?
何卒よろしくお願い致します。
>>53 質問者じゃないんだけれどこのWって何なの?
何の定義もせずに使えるものなの?
62 :
60 :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)) で定義エラーと出てくるのですが、なぜなのでしょうか?
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows Vista Ultimate x64 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 折り返して全体を表示 ずれる 印刷 「折り返して全体を表示する」で複数行になっているセルを印刷プレビューや印刷をすると 下の行の文字がかなりの確率で印刷時切れてしまいます。 印刷前は文字が隠れたりはしないように適宜改行しているのにです 1.一セルの文字数は40字以上で減らすことは難しいです。 また、縮小表示も目視できずとり得ません。 その他にこれをなくすための改善策は2003ではありませんでしょうか? とくに、 現状調べた中ではAlt+改行を繰り返すというのがありますが、 これをまくろでやることってできるんでしょうか。 2.Excel2007以降では改善されているのでしょうか。
>>61 変数宣言は一応省略もできるけども、しないといろいろ困るよね
>>63 Chr(10)が改行に当たる文字コードだからこれをマクロで挿入すればいいんだろうけど
Alt改行は好きな位置で改行が出来るというだけで、編集画面と印刷プレビューでずれる問題は
折り返して全体を表示の時と変わらないと思う
2007ではページレイアウトっていう新しい編集画面が出来たからこれでズレは防げるんじゃないかなあ
自分は2007あんまり使ってないから断言できない、ごめん
65 :
62 :2008/12/08(月) 19:39:56
どうしてもうまくいきません。 どうすれば良いのでしょうか? どなたか何卒よろしくお願い致します。
つーか、また計算ソフトで文書作成してる頭の弱い子ですか...
67 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 20:00:01
>>66 どういうことですか?
他に何か方法があるのですか?
68 :
63 :2008/12/08(月) 20:05:01
>>64 ありがとうございます
バージョンアップして解決できるならエクセル2007明日にでも買うんですが。。。
2007はやめといたほうがいいような・・ 2003で作って2007で最終仕上げ+印刷だけするってならわからんでもないけど
>>65 やはり前スレのあなたでしたか・・・
>>68 2007のヘルプより
>印刷機能の向上
>[ページ レイアウト] ビュー
>Office Excel 2007 では、[標準] ビューと [改ページ プレビュー] ビューに加えて、
>[ページ レイアウト] ビューが用意されています。
>このビューを使用すると、印刷時の見栄えを確認しながらワークシートを作成できます。
>このビューでは、ページのヘッダー、フッター、および余白の設定をワークシート内で直接操作したり、
>グラフや図形などのオブジェクトを目的の位置に適切に配置できます。
>また、新しいユーザー インターフェイスである [ページ レイアウト] タブでは、
>すべてのページ設定オプションに簡単にアクセスでき、用紙の方向などのオプションをすばやく指定できます。
>各ページに印刷される内容を簡単に確認できるので、何度も印刷を試したり、
>印刷時にデータの欠損が生じたりするのを避けることができます。
まあ2003と2007は一応共存できるし・・・2007だけ使おうとすると最初かなりイライラさせられるかも
>>62 作業してるシートをアクティブにすれば動くかもね
>>61 VBAは変数を宣言しなければシステムが勝手にバリアント型の変数を作ってくれる。
Dim W As Valiant を省略したのと同じ動作になる。
人間が楽を出来るかわりにパフォーマンスやメモリの利用効率が落ちる。
厳密にやるなら Dim W As Workbook と宣言する。
73 :
名無しさん@そうだ選挙にいこう :2008/12/08(月) 20:40:08
>>71 もちろんアクティブにしているのですが、うまくいきません。
どなたか助けて下さい。
>>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
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 って初めて見たのですが、
これってどういう意味があるのでしょうか?
78 :
63 :2008/12/08(月) 21:35:51
>>69 >>70 ありがとうございます。
非常に悩ましいですが70さんの説明だといけそうですね。
しまった。。。
大学で印刷する予定なのでOffice2003と下位互換性があるかお聞きして良いでしょうか
それとも1シート毎PDFで保存してPDFとして印刷すればよいのでしょうか。
>>78 詳しい人出てこないから答えちゃうけど
97-2003形式のxlsファイルで保存すれば一応互換性は保たれる事になってる
でも細かいレイアウトとかに関してはちょっとわからない
2003でプレビューと行ったり来たりしながら調整していくか
2007で作って2003で最終確認してから持っていくか
2007で作ってPDF化するか、のどれかになるのでは
80 :
76 :2008/12/08(月) 23:51:24
うおおおおおおおおおおお どなたかお願いしますよおおおおおおおおおおお
>>80 Nextのあとに書くのは制御変数。なくても動くしバイナリの速度もサイズも変わらない。
バグよけのおまじない。
そういえばNextの後ろに書くべきって遺体子がいたな。
>>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"ってのは単なる文字列だから好きに変えればいい。
>>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 はしなくてもできるはず
省略なんて、省略するとどういう動作をするのかをちゃんと把握してからやるもんだ
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 メール エクセル 背景色が変わる メールにてエクセルの表を添付し送ってもらうと送信者の意図しない 背景色に勝手に変わって表示されてしまうのですが、 (背景色をなしで作成してメールを送ってもらうとこちらで開くと灰色に変わってたり) この原因って何が考えられられますか? 分かる方教えて下さい。
86 :
37 :2008/12/09(火) 12:00:36
>>41 棒の数が100や200ではないのと
デイリーに毎日作るグラフであること、
会社のPCなのでMAC版も無理なので
あきらめることにします・・・
お返事ありがとうございました
>>86 オートシェイプの貼り付けは棒の本数に関係なく、1つのグラフに1回やるだけ
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
>>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 ありがとうございます。
でも上記のものをコピペして使ってもまだ、自分自身のセルから
データを転送するようなのですが、
これはどうすれば良いのでしょうか?
こうかな? 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 検索キーワード 】 エクセル テーブル 並び替え
95 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 14:12:16
>
>>92 このメソッドには対応していません。というエラーが出るのですが・・・
なんなんでしょうか?
これは?
>>93 オートフィルタで空白行以外
コピーして貼り付け
>>93 4セル1組で並んでるなら
2列目の先頭から最後尾を1列目の最後尾の1セル後に挿入(もしくは貼付)
1レコードずつ横に並べたければこの後、別シートにでも関数で並べれば?
縦になってるやつを横にするのはROWやINDIRECTやOFFSETとか使ってやってる例が
過去スレとかにいっぱいある
>>94 激しくではないが同意
>>95 .Nameで比較して問題ないはず
デバッグで条件通りに動いているか見てみるべき
Ifとその下のForにブレークポイント置いてその条件の時に
処理を飛ばしているか確認してみるんだ
Ifの条件をウォッチ式に追加しておくと分かりやすい
98 :
93 :2008/12/09(火) 14:35:02
ごめんなさいよく解りませんでした。結局コピペするしかないって事ですね。ありがとうございました<><><><
99 :
97 :2008/12/09(火) 14:40:17
質問があります。 実験結果を散布図に表示したいのですが、点をグループごとに色分けしたいです。 「やろうとしていることは、Aグループに所属する点は赤色 Bグループに所属する点は青色」 というように色づけをして、あとはそれぞれの点を x軸、y軸の値よりプロットするだけです。 形式は 「グループ,x,y」 という形のcsvファイルから読み込む予定です。 A,312,789, B,546,111, という感じです。 もしよろしければ、アドバイス頂けないでしょうか。よろしくお願いします。
101 :
95 :2008/12/09(火) 14:53:22
>>97 ありがとうございます。
マクロのおいてある場所が、現在開いているファイルではなく、002.xlsファイルにあったため、
うまくいっていないことが分かりました。
でも一応ブレークポイント、ウォッチ式についても教えて頂けないでしょうか?
それと
If W.Name <> ThisWorkbook.Name And W.Name <> "PERSONAL.XLS" Then
でPERSONAL.XLSを除外できないのはなぜなのでしょうか?
何卒よろしくお願い致します。
103 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 15:45:50
>>そのマクロをPERSONAL.XLSに入れてる場合にしか引っかからないよ ではどうしたら良いのでしょうか? 皆目検討がつかないのですが・・
And→Or
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.は可能ですか? できる場合、方法も教えていただけると助かります。 宜しくお願いいたします。
>>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 というようにすることはできないのでしょうか? 宜しくお願い致します。
110 :
109 :2008/12/09(火) 17:19:24
>>109 × のようになっていて最初のアルファベット3文字だけ消して
○ のようになっていて最初のアルファベット3文字と全角スペースを消して
>>100 AとBのデータをきっちり分けないとだめ。
作業列に移してもいいし、ソートしてもいい。方法はいくつもあるから自分が一番簡単だと思う方法で。
たとえばこんなふうに。
A列=Aグループのx
B列=Aグループのy
C列=Bグループのx
D列=Bグループのy
>>109 最初の3文字を削るだけなら
=MID(A1,4,99)
>>110 アルファベット3文字と全角スペース1個、あわせて4文字を削るってことは5文字目以降を残すってことだから
=MID(A1,5,99)
>>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は事はできますか?
できる場合、方法も教えていただけると助かります。
宜しくお願いいたします。
>>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で書いた方がいいと思うが。
すまん、最初の"hoge"の後ろのxはゴミだ。
119 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 18:02:04
>>108 うおおおお、うまくいきました。
ows.Parent.Name And W.Name って何なんですか?
>>108 ows.Parent.Name
ows(アクティブなシート)のParent(この場合はブック)のName(名前)
122 :
121 :2008/12/09(火) 18:08:06
123 :
109 :2008/12/09(火) 18:37:36
124 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 18:43:29
>>121 うおおおおおおおおおありがとうございます。
もう一つよろしいでしょうか?
いまの状態だとこのマクロをPERSONAL.XLSにおいたままだと使うことができないのですが、
このマクロをどこのファイルにおいた状態であっても、開いているファイルに対して
このマクロが適用されるようにするにはどうしたら良いのでしょうか?
何卒よろしくお願い致します。
125 :
121 :2008/12/09(火) 18:55:47
>>124 PERSONAL.XLSに入れて試したか?
除外してる条件は
マクロが入っているブック
マクロを動かした時にアクティブになっているブック
PERSONAL.XLS
つまり「マクロが入っているブック」が「PERSONAL.XLS」だった場合も同じ動きのはず
126 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 19:29:43
↑バカがきっ、もう来なくていいよ
結局全部人に考えてもらったな
129 :
20 :2008/12/09(火) 20:24:06
結局、有効数字の件はどうなったのでしょうか? よろしくお願い致します。
IDが出ない板でよかったね
131 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 20:52:58
自分なりに有効数字の出し方を考えてみたのですが、 Function xxxxx(x) xxxxx = WorksheetFunction.Round(Buffer, (3 - Int(Log(x)))) End Function これってどこが間違えていますでしょうか?
>>129 一発で有効数字を設定する方法はない。たとえばこういう式を使っていちいち変換する必要がある。
=ROUND(A1,4-INT(LOG(ABS(A1)))-1)
. ↑
これが有効数字の桁数。この場合は4。
133 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 20:56:55
>>131 変数Bufferが初期化されてないので常に0になる。
それだと負の数に対応できない。
>>133 質問者のレベルから判断して、「工夫する」の部分ができないと思われ
136 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 21:03:25
すいません、 Function xxxxx(x) xxxxx = WorksheetFunction.Round(x, (3 - Int(Log(x)))) End Function の間違えです。どこが間違えているのでしょうか?
>>136 それだとxがマイナスの時にエラーになる。
Log(x)の部分をLog(Abs(x))にする必要がある。
>>136 せめて
Function RoundX()
みたいな、もうちょっとマシな名前付けようよ
139 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 21:29:17
>135さん、なるほど分りました
>>129 >>20 これでどうぞ
A1に対象となる値があるとして(有効数字4の場合)
=ROUND(A1,4-ROUNDUP(LOG10(A1),0))
こうだな =TEXT(A1,"0.000E+0")*1
141 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 21:43:26
>>137 すいません、負の数でなく正の数のときでもエラーが出るのですが・・・・
それと
>>139 Excel functionではなく、VBAでこれを行いたいのですが・・・
何卒よろしくお願い致します。
ここの回答者ってなんでこんなに有効数字のことに無知なの?
143 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 21:54:57
グラフの凡例マーカーの色や形の一括変更や凡例をまるごとコピペってできませんよね? 一括変更や任意選択した凡例項目の変更をするためにはVBAでマクロ作らないとダメでしょうか?
>>142 だったら、教えてくれよ、賢い解答を ( ´,_ゝ`)プッ
>>142 そんなもん知る必要がまったくない
円周率を何桁まで言えるぜーとかと同レベル
まったく役に立たない金にもならない覚える必要なし
逆に教えて欲しかったら懇切丁寧に有効数字について解説してみろやクソガキ
>>142 が居なくなったジャマイカ・・・/(^o^)\ナンテコッタイ
有効数字とかぐぐった方がよほど早くて正確で身になると思う ここの回答者って実務以外にかなり弱いよなw
正解はわかるだろうけど身にはならないよね。ようするに質問者は答えを丸写しするんだから。
がんばって作ってみた。これでどう? 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
質問者がExcelに直接関係ないVBAの有効数字型を作ってくれみたいな 丸投げで回答を求めてるようにしか見えないです Roundなりで工夫して欲しいのです
>>149 自分で調べると、その情報の周りにある情報も見てしまう。それが非常に価値が高いらしい
例えばここで回答者に有効数字はxx桁、と言われるよりもwebで有効数字は云々〜と言われるほうが価値が高く、さらに辞書で有効数字の周りにある情報を見てしまうのが脳としては情報の価値が高いとか
眉唾
でも辞書で呼んだことはなかなか忘れないんだよなー
あきれたやつらだな。本当に有効数字知らないんだな。
>>150 つまらないプログラム組む前にまず有効数字をぐぐれ。
155 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 23:28:19
それで結局
>>136 のどこが間違えているのですか?
アルゴリズム的には間違えはないように思うのですが・・・
>>155 VBAのLog関数は底がeだから底が10の時の対数を求めるにはLog(x)/Log(10)としなきゃならない
>>155 VBAで作る前に、ワークシートにその式を入れて結果を見てごらん
>>156 >>20 のことか?読んでるよ。
「ある有効数字以下の計算をしない」ことになんの意味があるんだと
思ってたところ、へんてこな回答がいっぱい出てきてびっくりしている。
>>159 意味とか…
おまえこそ有効数字の意味を調べて出直してこい
>>155 Function xxxxx(x)
xxxxx = WorksheetFunction.Round(x, 3 - Int(Log(Abs(x))/Log(10)))
End Function
有効数字で計算することの意味も知らない
>>159 はまちがいなく中卒。
しかも実際は学校へ行ってなくて、お情けで卒業させてもらった。
163 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 23:48:01
>>161 ありがとうございます。
でも0のところで#VALUEというエラーが出るのですがどうにからないのでしょうか?
何卒よろしくお願い致します。
>>162 Excelで「ある有効数字以下の計算をしない」ことにどんな意味があるの?
>>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 が可能かどうかだけ教えてくれませんか?
無理そうなら今から徹夜でマクロ作らないといけないので。
おまいらやさしいな…
正解やヒントがこんだけ出てんのに、ロクに自分で考えようとしない
>>20 や
有効数字の使い所も知らない中卒の相手なんかしなくていいよ…
168 :
名無しさん@そうだ選挙にいこう :2008/12/09(火) 23:53:26
>>168 残念ながらコンピューターは二進数、人間は十進数と、扱う体系が違うので、
人間基準で有効数字を操作するとかえって計算が遅くなる
>>152 の言うとおり薀蓄語ってるサイト探した方がいいと思う
有効数字って計算しても意味がない部分を切り捨てるとかどーたらこーたら〜って事でしょ
計算スピードが速くなるのは結果であって直接的には何の意味も無い
>>170 137でAbsを入れろとか、157で底はeだとか言ってるのに自分ではまったく修正してない
>>140 が一番シンプル
これをWorkSheetFunctionで呼び出せばいいんでね?
もう解決したみたいだから有効数字はNGワードでいいよね
>>175 例えば1と入れた時1.000にならないんだけど。
くだらない話してないで おまえらもう寝ろよ。
何卒よろしくお願い致します。 をNGにすればいいのに・・・ ヘルプ見ないし調べないしエラーが発生するたびにしつこく連投してくるし 前スレからずーっと張り付いてるやつじゃないの
プロファイリング 中学校の理科の先生。40代。女性。
>>20 有効数字は、指定するモンじゃなく、
体系の中で、決まるもの。
従って、具体的な例がないと、
有効数字は、求められない。
>>183 1行目から4行目までまったく意味がわからない。
185 :
名無しさん@そうだ選挙にいこう :2008/12/10(水) 10:49:50
Excel2003において、見積書の明細(罫線と見出しだけの入っている表)を必要時に簡単に挿入したいのですが CAD等である「ブロック挿入」のように、内容を固定させてすぐに組み込めるようにする方法はありませんでしょうか? 現状だと出来上がった見積書の明細の途中の部分に後から挿入する際、非常にめんどいです・・・
CADとか使ったことないから「ブロック挿入」は知らんが 明細を「コピー」して「コピーしたセルの挿入」をするのとは何か違うのか?
表の行数を増やしたいってこと? 行単位でのコピペや挿入は簡単にできるけど、もっと簡単にやりたいならマクロを登録だな
>>185 まず何を何に対して、どのようにしたいのかを
大方の人に理解できるように
説明してください。
189 :
名無しさん@そうだ選挙にいこう :2008/12/10(水) 12:54:27
>>183 知らない世界に首突っ込むな
ピントの外れた坊やは、おとなしくしてろ
セルを選択して、セルの右下にカーソル?を宛てて、 下方向などに、びーっと伸ばす動作の事を何と呼ぶのですか? ドラッグ? 数式などをコピーしたいときに、びーっと伸ばす動作です。
193 :
名無しさん@そうだ選挙にいこう :2008/12/10(水) 19:27:31
価格表を作っています。 2社で安い方を赤字にしたいのですが、どの関数を使えばいいのでしょうか? A列 B列 C列 商品1 価格 価格 商品2 価格 価格 というような表です。 OS WindowsXP Excelのバージョン Excel2002 VBAが使えるか いいえ VBAでの回答 否 検索ワード Excel 価格 比較表
すみません、どなたかお願いします。 生徒のテストの点数一覧表を作っています。 それで、子供たちの取った点数の内で、満点の9割より低い点数の子のセルに、塗りつぶしで色が着くよう設定したいのです。 IF関数で、=IF(子供の点数セル<(満点のセル*0.9),子供の点数を塗りつぶし,子供の点数セルそのまま) という感じで、数式はなんとかうまくいったのですが、"真"の部分、塗りつぶしの命令?の入力がよくわかりません。 私の説明が下手かもしれませんが、どなたかお願いします。
条件付き書式
197 :
名無しさん@そうだ選挙にいこう :2008/12/10(水) 20:08:19
>>194 ありがとうございます。
やってみたんですがうまく反応してくれません。
数式が =B2=MIN($B2,$C2)
とやってみました。
2つの値で小さい方を赤字にという指示はどうすればいいのでしょうか?
>>196 さん
ありがとうございます。
ちょっと試してみました、条件付き書式のほうが簡単そうですね!想像してた一覧表が作れそうです、頑張ってみます。
本当にありがとうございました(^-^)v
>>197 試さないで書いちゃうけど2つ値で比較するだけなら
B2=B2<C2
C2=B2>C2
で良くない?
>>197 です。
お騒がせしました!
なんとか無事出来ました。
:を,にしてしまっていたので直したら反応してくれました!
本当にありがとうございました(´;ω;`)
>>199 さん
ありがとうございます!
試してみます!
簡単なやり方があったんですね。
無知なもので恥ずかしいです。
【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 キーを押すと出来たのですが、ヒストグラムでは入力範囲で受け付けてくれず、【入力した参照が正しくないか、また必要な参照が入力されていません。】と表示されます。 よろしくお願いします。
202 :
191 :2008/12/10(水) 20:43:29
203 :
201 :2008/12/10(水) 20:44:29
読んでみたら分かりにくいところがあったので追記します。 入力範囲で受け付けてくれずとは、平均や標準偏差だと{}(半角の?)が式の両側に出るのですが、それが出ないことです。
B列とC列で小さい方に条件付き書式を適用する =B2=MIN($B2,$C2)
>>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というものでそれぞれのピークに対してフィッティングすることもできるそうなのですが、できればその方法についても教えて頂けないでしょうか? 自分でひな形くらい作って質問したいところですが、全くどうやって作れば良いのか検討もつかないのでどなたかよろしくお願い致します。
208 :
名無しさん@そうだ選挙にいこう :2008/12/10(水) 23:15:48
>>206 数学板行ってその関数についてよく聞いてきた方がいいと思う
フィッティングのうまく行った度合いとかをどう判断するかとかもさ
>>206 教えてGooの方の回答No.2ちゃんと読んだか?
いいこと書いてあるぞ
どれだけマルチしてんだよwwwwwww
質問します 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートフィルタ 関数 棒グラフを作ったのですが棒の数が多かったものですから 元データをオートフィルタで絞込みますと見やすいグラフになりました さてここからが質問なのですが オートフィルタで何を選んだのかをグラフに(タイトルの横あたりに)表示したいのです またVBAはよくわかりませんので何か関数での解決はできないでしょうか 調べている時にSUBTOTALという関数が上手くオートフィルタの抽出に対応してくれそうだったのですが これを使ってできますか? りんご|青森|100円 みかん|愛媛|40円 りんご|長野|90円 なし|鳥取|120円 ぶどう|長野|200円 みかん|和歌山|60円 こんなのがたくさんある中からりんごを抽出してグラフを作った時に 「果物:りんご」みたいに表示させたいのです
そういう専用の機能があるのかもしれないけど・・・とりあえずマクロでなら出来そう・・・ 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はオートフィルターのボタンが表示されているセルなのでフィルタの範囲を変えた場合はここを変更して 予想外の動きをしてしまうときはモジュールにして任意で実行をしてもいいし・・・
214 :
213 :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
○ B列に数値が入っている。 ○ A列はB列を常に参照するようにしたい。(A1に「=B1」) ○ B列の任意のセルの数値を、同じ行の、C列に移したい。 この時、切り取って貼り付けをすると、この行のA列は、C列を参照してしまう。 ーーーーーーーーーーーー A1に「=$B1」としてみても、「切り取って貼り付け」をすると、 A1は、[=$C1]となり、C列を参照してしまいます。 B列のセルの数値をC列に移す時に、切り取りでなく、コピーにして、 その後、B列の数値を削除すればよいのですが、 作業が2動作になります。もし、これより短い動作でする方法が あったら知りたいのですが、ないですよね?
216 :
206 :2008/12/11(木) 10:06:55
ありがとうございます。 数学版で聞いてみます。
>>215 少しかぶるけど
=$B1の代わりに
=INDIRECT("B1")か=OFFSET(A1,0,1)を使えば
カットアンドペーストで参照先が動くことはない
219 :
212 :2008/12/11(木) 10:47:32
>>213-214 ありがとうございます
しかしうまくいきませんでした・・・
入力規則のリストから何を選んでも全データ行が非表示のように見えなくなってしまいます
当方マクロにはかなり疎いために操作を間違えているのかもしれません・・・
> VBAエディタを開いてsheet1の中に
とのことですがAlt+F11でVBAエディタを開いた時にデータ入力できそうな窓がなく
左側にあるツリー表示みたいなところのSheet1のところをダブルクリックしたのですが
そのマクロを貼り付ける場所はここで正しかったでしょうか?
またこのSheet1の各データはいわゆる単純な値ではなくて
よそのシート(データベース貼り付け用)から関数で引っ張ってきて
「りんご」や「青森」、「100円」と表示させているのですが
これがまずかったのでしょうか
(しかしコピーして値貼り付けにしても挙動は変わらずでした・・・)
221 :
215 :2008/12/11(木) 11:25:03
>>217-218 有難うございます!
A列は、A1を下方にドラッグして、数式を複製したいのですが、
INDIRECTではそれが出来なかったので、OFFSETを使う事にします。
>>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
少し修整 = "価格:" & Target ↓ = "価格:" & Target.Value
224 :
215 :2008/12/11(木) 11:59:29
お世話になっております。 さっきの続きなのですが、 行方向は、日付となっており、 条件付き書式で、日曜と土曜日の行だけ背景色を青色にしています。 さきほどのOFFSET関数で、 B1を切り取り、C1へ貼り付けしても、 A1はB1を参照することができましたが、 土曜か日曜の場合、B1の背景色がなくなってしまいます。 欲を言えば、切り取る動作をしても、背景色をそのままにしたいのですが、 方法はありますでしょうか。 やっぱり、セルを切り取ってしまうなら、書式も必ず切り取ってしまって、無理でしょうかね。 コピーしてから削除すれば、背景色がなくならないので、これでもよいのですが、 少しでも単純な作業でする方法があれば、それにしたいので。
なんでTargetを使わないでRange("D1")を使うんだろ。
226 :
212 :2008/12/11(木) 13:15:00
>>220 フィルタオプションについて調べてみましたが・・・
たしかにできそうな気がしましたがこれはちょっと複雑すぎます
後出し情報で申し訳ないのですが完成後社員に配布するものですので
ここまで複雑なものはNGです・・・大変申し訳ありません
>>222-223 すみません、書き換えてみたのですが今度はエラーが出ます
実行時エラー'1004':
'ChartObjects'メソッドは失敗しました: '_Worksheet'オブジェクト
と表示され、デバッグボタンを押すと8行目の
ChartObjects("グラフ").Chart.ChartTitle.Text = "価格:" & Target.Value
が黄色く表示されます
マクロはさっぱりなので何がおかしいのかもわからず・・・
聞いてばかりですみませんがどこがおかしいのでしょうか
>>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
228 :
212 :2008/12/11(木) 14:18:07
ダメですねまったく同じエラー文章と8行目が黄色です・・・ ぶっちゃけグラフのほうには後でセルのリンク表示ができるので オートフィルタで選んだ言葉がD1なりE1なりに出てくるだけでいいのですが あとやっぱり元データとなる表をVLOOKUPだとかで作り上げてるのも問題なのでしょうか・・・
>>228 グラフに出す必要はなかったのかw
ChartObjects〜
を2行とも削れば解決
>>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で分ける必要はなないかも知れんが念のため入れた
231 :
212 :2008/12/11(木) 16:01:16
ChartObjects〜を削ってもダメでしたが なんとかマクロを使わずに作業列などの追加で自己解決いたしました 数々の人にご迷惑をかけ大変申し訳ありませんでした
いえいえ! 役にたってもらえてうれしいです(≧▽≦)
お前は答えてないだろうが!
234 :
名無しさん@そうだ選挙にいこう :2008/12/11(木) 17:26:47
Excelのソルバーのアルゴリズムについて教えて下さい。 これは変数にいろいろな値を代入することで、条件に合ったもっとも最適な値を探すというものですが、 これはモンテカルロを使っているのでしょうか? 詳細なアルゴリズムを教えて下さい。 よろしくお願い致します。
>>234 ソルバーについてヘルプで調べたのか?
調べたならここにくるはずはないわけだが・・・
エクセル2000 VBA勉強中 VBAでセルAD1(セル結合してます)をコピーして 他のエクセルファイルのセルBC1(セル結合してます)にペーストしたいのですが セルの大きさが違うと言うエラーがでます セルAD1の文だけコピーしてセルBCにペーストしたいのですが良い方法無いでしょうか? 解るかた教えてください、お願いします。
range("〜").valueじゃなくてrange("〜").mergearea.valueとすると結合セルを指定できるよ
〜の部分はセルアドレス(A1とかB2とか)を入れるんだよ
239 :
名無しさん@そうだ選挙にいこう :2008/12/11(木) 19:35:52
>>235 はい、見てみました。
どこに書いてあるのでしょうか?
よろしくお願い致します。
>>235 私も教えて下さい。
どうやってるのか興味がありまして。
Excel2003の場合だけど ヘルプを「ソルバー」で検索、「ソルバーについて」の項目を開くと使用しているアルゴリズムが書いてある
>>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種類があるということなのですか?
そしれぞれぞれのアルゴリズムが異なるということなのでしょうか?
それと最後の内部解決プロセスというのはいきなり出てきているのですが、
シンプレックス法と分枝限定法とどういう関係にあるのでしょうか?
よろしくお願い致します。
以下の連絡先ってのに問い合わせたほうが確かな答えが返ってくると思う ここに居るのは自己満足で回答する奴だけだから そういう画一的で自分を出せない回答は誰もしたがらない
したがらないっていうか「出来ない」だろうな。 数学板とかで聞いた方がいいと思う。
246 :
>>236 :2008/12/12(金) 06:50:37
SUMIFとか配列数式の時は威勢がいいくせにソルバーの話題には食いつき悪いなあ。
ここをなんだと思ってるんだw 雑談したいなら余所に行けと
じゃあ流れをぶった切って質問だ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 棒グラフを作ったんだがひとつ表示に納得がいかない 実績と挙績とその進捗率の数字を使った集合縦棒とかいうシンプルなやつなんだが 進捗率の数字を挙績の棒のてっぺんに表示させたいんだ<挙績の値が普通に出せる位置に もちろんひとつひとつドラッグで動かすことはできるんだが できれば設定か何かで自動的にてっぺんに乗るようにしたいんだ よろしく!
おれなんか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活用の幅が広がるかなと思っております。 以上です。よろしくお願い致します。
>>251 関数でいいなら
=COUNTIF(INDIRECT("A1:A"&B1),"")
>>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なんかに変えたほうが使いやすいかもね
254 :
253 :2008/12/12(金) 12:24:07
循環参照になってしまった Range("A1").Formula =のA1の部分はテキトーに変えて使ってね
>>251 =COUNTIF(INDIRECT("A1:A"&B1),検索条件)
【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)) のように書けば目的どおりの動きをするのですが、 もう少し短くまとめる記述の仕方はないでしょうか?
とりあえずiserror(〜〜)のあとに「=true」はなくてもいい
sage忘れスマソ
ついでに誰か
>>249 に答えてくれないか
259 :
名無しさん@そうだ選挙にいこう :2008/12/12(金) 15:18:51
2007にアップしてIFERROR
使っていないセル(仮にB1)に =vlookup(A1,A2:D10,2,0) としてから =if(iserror(B1),"あああ",B1) とかやってみるのは?
A2:D10に名前を定義する vlookupを作業列でやる IFの条件と結果にVLOOKUPを入れるのはいやだ 条件見るのにVLOOKUP、結果返すのにVLOOKUPと負荷が2倍になると思ってるから
>>257 確かに!ありがとうございます。ずっと気づかず=TRUE入れてました
>>259 今のところ入れる予定はありませんが、あるとすごく便利そうですね
>>260-261 ありがとうございます。試してみます
>>261 すごく同意見です。それに、式自体も非常に長くなるんですよね・・
263 :
251 :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つ目のに上書きされて消えてしまいます。どうやれば出来るのでしょうか?
>>263 INDIRECT($C$4&"A.csv!$P12")
↑が2行目にあるとして
INDIRECT($C$4&"A.csv!$P"&(ROW()+10))
とすればオートフィルでもいけるようにならなくもない
>>258 設定でグラフ内に表示できるのは値とタイトルとラベルだけ。
VBA使え。
268 :
264 :2008/12/12(金) 19:27:24
266さんありがとうございます(^^) ドラッグで出来ました。
いえいえ! お役にたててうれしいです(≧▽≦)
>>267 そ、そうなのか・・・
VBAは難しいから諦めるよ・・・ありがとう
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel スクロール スクロールマウスを使っているのですが、ちょっと設定に苦労しています。 OSのマウス設定について、ブラウザに合わせるとエクセルのスクロールが早すぎます。 エクセルに合わせるとブラウザのスクロールが遅すぎます。 これを解決するうまい方法はありませんでしょうか?
vbvb
>>271 WindowsやOfficeの設定では無理なので何らかのフリーウェアを使う。
ソフト板へ。
275 :
名無しさん@そうだ選挙にいこう :2008/12/13(土) 01:30:09
ここのスレに常駐でしている人ってどういう人ですか? フリーターか何かですか? それともベンチャー立ち上げた若い兄ちゃんですか? 全く年齢層を読み取ることができないのですが・・・
自宅警備員(夜勤)です
テンプレ使わない質問には答えない
>>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
土曜日なのに仕事なの?
282 :
281 :2008/12/13(土) 11:20:49
書き忘れ
>>279 RR.Font.ColorIndex → RR.Interior.ColorIndex
範囲には気をつけよう!
283 :
279 :2008/12/13(土) 11:37:50
>>282 ありがとうございます。教えて貰った場所を書き換えたら文字色じゃなく背景色が
変わるのを確認しました。あと、これを E 列だけじゃなく E H K も同じように文字に
よって背景色を変えるようにするにはどうしたらいいでしょうか。
>>279 For Each…
こんな最悪ソースやめとけ
285 :
279 :2008/12/13(土) 15:39:38
>>284 ソースの善し悪しは私には分からないのですが実現出来る例がありましたら
ぜひお教えください。
286 :
ほほう :2008/12/13(土) 19:40:49
>>284 横から割り込みで気は引けるが、
釣りか?
釣りでないなら、おまいがコードアップしてみwww
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みたいにずらしてやれば重ならないのですが、 どうしても見づらいため良い方法がありましたら教えて下さい。 よろしくお願い致します。
290 :
289 :2008/12/13(土) 21:52:32
すいません、棒の重なりという項目がオプション画面に見つかりました。 でもこの値を-100とか+100にいじっても何も変化しないようなのですが、 棒の間隔のほうはちゃんと機能しているんですが・・・
291 :
名無しさん@そうだ選挙にいこう :2008/12/13(土) 21:53:57
こんばんは。 初歩的な質問かもしれませんが、 皆さんの広い心でカバー出来るものと存じます。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 Excelを使って表を作り、印刷プレビューで確認したのですが 表が左側に、よってしまいました。 表を中央に配置するにはどうすればよいでしょうか? よろしくお願いします。
ページ設定の余白タブで水平・垂直の中央配置を有効にする
293 :
名無しさん@そうだ選挙にいこう :2008/12/13(土) 22:16:55
294 :
名無しさん@そうだ選挙にいこう :2008/12/13(土) 22:38:04
【1 OSの種類 .】 Windows2k 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excelで一つのブックが所持できる最大シート数を教えて下さい。 よろしくお願い致します。
【1 OSの種類 .】 WindowsXP HE
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 折れ線グラフ 凡例 固定したい 線
自分が設定・変更した折れ線グラフの線の形・色を
別のグラフでも固定値として使用したいのですが、なにか方法はないでしょうか。
(具体的には、商品売上数ランキングのグラフで、
月ごとに順位は入れ替わるが同一商品ごとに常に同じグラフの線の形・色を使用したいです)
今は系列が更新されるたびに線の形・色が変わってしまうので
ひとつひとつ手作業で直していて、もっと手間の少ない方法があればと思い質問させて頂きました。
※図も添えさせて頂きます(ヘタクソですいません)
http://kjm.kir.jp/pc/?p=67020.jpg どうか宜しくお願いいたします。
>>290 それは気のせい。ちゃんと重ねたり並べたり自由に設定できる
298 :
名無しさん@そうだ選挙にいこう :2008/12/13(土) 22:59:02
>>297 y軸を共有した状態ではできるのですが分けた状態では
どうしてもできません。
>>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
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)) までできました。
=LEFT(A14,SEARCH("@",A14)-1) じゃダメなの
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 家計簿 家計簿をつけているのですが、 集計が上手くいきません。 たとえば、A列で交際費・交通費等の科目、B列でその値段、C列で費用を使った個人名、 という感じで記録していますが、 例として、田中が使った交際費(A列が交際費、C列が田中)を抜き出して、 その条件でのB列の値段の合計を出すにはどうすれば良いでしょうか? A列で交際費、C列で田中、でオートフィルタをかけてB列の数字をSUMで 足しこむ方法で今までやっておりましたが、データが膨大で手間がかかり すぎてしまうので、関数で解決できる方法はないものかと悩んでおります。 よろしくお願いします。
>>305 =SUMIFS(B1:B20, A1:A20, "=交際費", C1:C20, "=田中")
家計簿なのに田中? いったい何世帯で同居してるんだろう
>>306 ありがとうございます!
さっそくやってみます。
>>305 集計したい項目が確定してるならsumif,sumproductとか
その時々で集計項目が変動とか集計表作るまでもないとかならオートフィルタとsubtotalというやり方も
こっちはフィルタ掛けたあと集計したい範囲を指定して買{タン押すだけ
310 :
名無しさん@そうだ選挙にいこう :2008/12/14(日) 18:03:18
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 文字を逆さに表示する方法ってありますか? 書式の設定で文字を90度までなら動かせるのですが 180度回転させることはできますか? よろしくおねがいします。
>>306 できました!
本当にありがとう。
>>307 家計簿っていうか、個人事業の経理です。
今年から始めたばかりの事業なので、わからないことだらけです・・・
>>299 どこかで最近Target使わないやつがいたが、そのサイトの人と同じ人かもね。
回答者ももっと基本を勉強しないとね。
俺もだけど。
314 :
279 :2008/12/14(日) 19:03:37
>>288 ありがとうございます。サイトに書いてあった例では B 列しか反映しないので B
と書いてあるあたりが範囲指定の場所だろうというのはわかるのですが具体的に
どうすればいいかが分かりませんでした。参考に書いてある部分と範囲指定の
方法を勉強します。
>>299 ありがとうございます。今はなぜそうなるかは分からないレベルですが今回はこれを
使わせてもらってゆっくり覚えていこうと思います。
317 :
名無しさん@そうだ選挙にいこう :2008/12/14(日) 19:48:46
どこで聞いたらいいか分からないので、ここで質問させていただきます。 KingSoftについてですけど、シートを開いても一番下のタスクバーに一番手前のものしか 表示されなくて困っています。 どなたか複数表示させる方法わかる方いらっしゃいませんか? また、間違えて画面を閉じてしまった場合、編集状態になってても「保存しますか?」と出てこないでの困ってます。 教えて下さい、よろしくお願いします。
>>315 たしかインテルチップセットのグラフィックドライバに画面を回転させるショートカットがあるから・・・
319 :
317 :2008/12/14(日) 20:11:21
もう1個質問追加で・・・ Excel2007についてですが、「WEBページとして保存」のブラウザはどこにあるのでしょうか? よろしくお願いします
>>315 312はExcelと関係ない。インテルのチップセット使ったマシンで画面全体を上下逆にする方法。
初心者向きの質問スレでよく書き込まれるイタズラ。
>>319 ブラウザってのはインターネットエクスプローラのこと。
322 :
319 :2008/12/14(日) 20:44:07
324 :
319 :2008/12/14(日) 21:11:15
>>323 ありがとうございます
どこにそのソフトがあるのでしょうか?
試用版でもできますか?
文字を拡張メタファイルに変換すれば変形も回転も自由自在だけど、 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みたいにすればされないと思うのですが、これ以外に方法がありましたら教えて下さい。 何卒よろしくお願い致します。
>>326 形式を選択して貼り付け→加算
=INDIRECT("B2")
=OFFSET(B2,0,0)
329 :
名無しさん@そうだ選挙にいこう :2008/12/14(日) 21:57:49
>>327 一つ目の質問なのですが、
例えば2が入っているセルにRAND()を形式を選択して貼り付け→加算 すると
=2+(RAND())になってしまいます。
それではなく数式のかたちではなく2.12379みたいに数値を違うものに変えたいのですが、
2つ目の質問なのですが、
=INDIRECT("B2") だと動かないようなのですが、=B2という数式を変えることなく
移動することはできないのでしょうか?
何卒よろしくお願い致します。
きましたね宿題君 >何卒よろしくお願い致します。
>>329 一つ目
足す数字がランダムなら、元の数字はなんだって関係ないじゃん。最初からランダムな数字を入れとけば
二つ目
数式バーをコピペ
>>329 とりあえずさ
1から100まで何をやりたいか先に書いてちょうだい
質問の小出しするなら答える気はない
>>328 VBAで書式をコピーとか
いっそのこと好みの形式でグラフを作るマクロを作っとくとか
>>329 応用力のないやつだな
もう一回形式を選択して貼り付けで値
先輩方、よろしくお願いいたします。 【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-部品番号(昇順) 上記のように、一部だけ交互並びと言うのは可能ですが?
ずれているので、修正 部品番号 納入場所 組合せ 納入時間 831−AA 03AA A 07:00
>>336 条件が3つ書いてあるけど、それは並べ換えの優先順位?
<肛門体操> 毎日、入浴の際や排便後に、 肛門を上に引き上げるような感じで、ギュッとすぼめます。 すぼめた状態を10秒ほどキープしてから、 その後力を抜いてゆるめた状態を10秒。 これを10回ぐらい繰り返します。 数ヶ月ぐらい行うと、肛門括約筋が鍛えられ、 便のゆるみなどの症状が改善されるそうです。 そして、デスクワーク等で、肛門がうっ血しやすい方の、 うっ血防止にも役立ちますので、ぜひお試しくださいませ。 これでいいのか
>>336 イマイチ分からないけど
その四列を選択した後、右クリックでデータの並べ替え
でいけそう?
>>338 優先順です。
一番目が納入時間
二番目が組合せ(交互)
三番目が部品番号
最低、交互の方法だけでも分かれば。。。。もし分かるようでしたら
ぜひ、教えてください。
>>341 まず昇順でソートしたあと、組み合わせがAなら作業列に奇数、Bなら偶数の連番を入れて
こんどは納入時間、作業列、部品番号を指定してもう一度ソート
343 :
317 :2008/12/14(日) 23:10:14
【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以降に働いた時間)を出す方法も できましたらお願い致します。
>>344 始業=A列、終業=B列 以下略、として
D2=C2-(C2>=8/24)/24
E2=IF(B2>22/24,B2-22/24)
>>342 OKです!
ありがとう。
なるほど、別の要素を付加してsortすればいいということですね。
お世話様でした。
349 :
117 :2008/12/14(日) 23:37:15
>>346 >>345 聞いてみます
あと、2007での「WEBページとして保存」の場所のみ教えてください
>>347 できました!
時間を表現するのって、○/24でいいんですね・・・
(8,0,0)とかやってました。無知だなぁ、自分。
どうもありがとうございました!
officeボタン(左上の丸いやつ)-名前を付けて保存じゃなくてワンボタンでやりたいの? ユーザー設定の中簡単に見たけど見つからないから・・・判らない
エクセル 20081210071200 なデータを 7:12 って時間変数に変換するには?
>>353 MID関数で切り出してTIME関数に入れる
おkやってみる
>>353 =DATEVALUE(TEXT(A1,"0000!/00!/00 00!:00!:00"))
で、表示形式をh:mm
さんきゅ =TEXT(MID(A13,9,4),"0!:00") 祝!!解決!!
TIME関数は使い方がわかんなかった。
>>356 それでやるなら
DATEVALUE ではなく
TIMEVALUE だろ
360 :
317 :2008/12/15(月) 00:36:15
>>357 それだと文字列になっちゃう。時刻を表す数値にするなら
=TIME(MID(A1,9,2),MID(A1,11,2),0)
グラフタイトルに参照って使えない??
>>362 (1) グラフのタイトルをクリック
(2) 数式バーに「=」を入力
(3) タイトルの入ったセルをクリックしてEnter
記号の「・」(中点、というのでしょうか)についてですが、 みなさんは半角と全角どちらを使ってますか? それとも気にしてないでしょうか
それは全角。
変換された方。特に気にしてないかな 統一する必要があるなら置換すりゃいいし
case by case
Excel2000を使用していますが、入力規則のリストの先頭や最後に空白(ブランク)の選択肢を 設けたいのですが、カンマで区切ったりしても空白の選択肢が出来ません。 リストの中に空白を入れるにはどうしたら良いんでしょうか?
Excel2003を使用してます。 印刷しようとすると文字が途中で切られた感じで、上半分(下半分)しか印刷されなかったり、 セルの中の文字が3行分あるのに、 2行分しか印刷されず、文章が途中になってしまったりします。 どのように対処したらいいでしょうか?よろしくお願いします。
371 :
名無しさん@そうだ選挙にいこう :2008/12/15(月) 13:23:29
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 一定の大きさの容器に、縦Xセンチ×横Yセンチの箱(サイズはその都度変わります)が 最大何個入るかを求める方法はありますか? 箱を重ねることはありませんので縦横のサイズのみで計算できると思うのですが、 容器になるべくたくさん入れたいので、向きを縦にしたり横にしたりして詰められる最大数を求めたいので、 やり方がわからなくて悩んでます。 1つの容器に詰める箱のサイズは一定なのですが、その箱のサイズが毎回変わるので、 縦と横のサイズだけを入力して最大数を求めるやり方があればどうか教えてください。
>>369 直接書くのではなく=A1:A2とかさんしょうにしてみる
Excel2002,VBA×です。よろしくお願いします。 A列に日付が入っていて、 B列ではA列を参照して曜日(書式設定でaaa)を表示しています。 @B列で土曜を青、日曜を赤に色づけしたいのですが、 条件付書式で 「セルの値」が「次の値に等しい」=「"土"」としても色がつきません。 どのように設定すればよいでしょうか? AABCD列でそれぞれ、B列の曜日を参照して、 土日の行を条件付書式で背景色を青や赤に変えることはできますか?
>>373 >@どのように設定すればよいでしょうか?
B列を=TEXT(A1,"aaa")
>A土日の行を条件付書式で背景色を青や赤に変えることはできますか?
できる。ヒント「数式が」「相対参照」
375 :
374 :2008/12/15(月) 14:12:59
「数式が」=$C3="土" こんな感じでいけました! ありがとうございます。 もうひとつだけ、「土か日のとき背景色を赤くしたい」場合 「数式が」=$C3="土" 「数式が」=$C3="日" のふたつの設定を1行で済ませることはできますか?
>>371 それは「ナップサック問題」と言って、スーパーコンピュータを使っても
答えが出るまでに何百年もかかったりする。詳しくは「NP完全」でぐぐれ。
もっと具体的に容器と箱の大きさを限定すればなんとかなるかもしれないが、
どちらかと言うと数学板向きの問題だな。
>>375 「数式が」=OR($C3="土",$C3="日")
ありがとう、できましたー! ORの位置を根本的に間違っていました。
>>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)
381 :
370 :2008/12/15(月) 14:55:25
>>377 レスありがとうございます。
セルの大きさを必要十分にするためにはどうすればいいでしょうか?
大きさがあっていないセルがたくさんあるので、
一挙に適切な大きさにしたいのですが、可能でしょうか?
>>381 不可能。
印刷した結果を見ながら手作業で一つずつ調整するしかない。
>>370 >>381 前スレで似たような質問をして教えてもらった者ですが
1.目的の行をすべてドラッグして選択、
選択した中のどれか適当な行番号の間(たとえば行番号1と2の間)をWクリック
2.目的の列をすべてドラッグして選択、
選択した中のどれか適当な列番号の間(たとえば列番号AとBの間)をWクリック
3.もともとのセル内容によってはやたらと幅広い行/列ができたりするので
適当に縮めたりのばしたり
でもこれを印刷プレビューで見てぎりぎり入ってるように見えても
印刷すると文末が切れているセルも出てくる。
Excelは表計算ソフトなのであってテキスト編集にはむかない、
そういうものなのだと思っています。
自分は手順3の後で、表全体をコピーしてWordに貼り付けて整形し印刷します。
370の書類の内容に合うかはわかりませんが・・・
>>380 371が欲しいのは例えば
10×11のサイズの箱に2×5のものを最大何個詰め込めるか
だと思うんだが
それで求められるか?
ちなみに例の正解は11個
バカなのでこれを箱のサイズ可変で求めるのは難しいわ
>>381 そもそも何故そうなったのかが少し気になるが・・・
すべて選択して
[書式]→[行]→[自動調整]もしくは行の境界線をダブルクリック
[書式]→[列]→[選択範囲に合わせる]もしくは列の境界線をダブルクリック
これで思い通りにならないなら諦めて手作業かVBAになる
もしかしたらフォントを「MS ゴシック」にするだけでもいいかも知れん
っとかぶってても気にしないで書き込むやつ
385 :
371 :2008/12/15(月) 16:41:30
皆さんレスありがとうございました。 ややこしい書き方だったようですみません。 384さんの仰る通り、定型の容器の中に同じ大きさの箱が最大何個入るか、を求める式です。 例えば、 底面のサイズが縦30cm×横50cmの容器Aに箱Bが何個入るかを求めたいのですが、箱Bの底面のサイズは今週は縦5cm×横7cm、翌週には縦4cm×横6cmという風に毎週変わります。 ケーキのような柔らかい物なので、2段に積み重ねて入れたりすることはないのですが、 容器Aに入るだけ入れるために、一定の向きではなく、隙間があれば横向きに入れたりもします。 そのやり方で入る最大数を求めたいのです。 毎週末に翌週使う容器の仕入れ数を決めるために箱の数を計算しないといけないんですが、計算方法がわからないので今は1/10のサイズに紙を切って組み合わせて数えたりしてます。 それが面倒なので、Excelで何とかできないかと思ったんです・・。 具体例を書かなかったのでややこしくなってすみません。 この場合、ナップサック問題と言うのに当たるのでしょうか? もし良いやり方があればぜひご教示ください。 無理なら諦めます。 お騒がせしてすみません。
>>385 平面充填問題ってのは一般化がとても難しく、片手間のプログラムで解けるようなもんじゃない。
容器と箱の組み合わせが数種類に限定されるなら解けないこともないけど、
ぶっちゃけ、紙をならべて自分で考えた方が早い。
コンピューターを使った方がいいのは、容器に入る箱の数が数十個程度までで、箱の種類が
何百もあるような場合。
数式で求める方法は思いつかないけど 行の高さ: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 など
>>388 シート上で出るのと同じものを判定したいならワークシート関数のISERRやISNAとか
例外処理なら「On Error GoTo」とかで検索してみ
391 :
388 :2008/12/15(月) 17:39:07
ありがとうございました。
>>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 数学板で式を作ってもらってきな、
その式をエクセルでどうやるか、
これだったら解る人いるかもしれない。
パズル板でもいいかもしれないな
決まったブロックで平面を埋める問題は大学でやったけどめちゃめちゃ大変だった。 当時はCPUクロックがわずか10MHzだったし、すべてアセンブラだけでプログラムを書いて、 それでも計算開始から答えが出るまで2週間ぐらいかかった。 いっぺん途中でブレーカーが落ちて泣いてから、途中経過を自動で保存するプログラムも追加した。
>385 単純な考えかもしれないけど、下の方法でダメな場合があるんでしょうか? A B C 1 容器縦寸法 サイズを入れる =B2 2 容器横寸法 同上 =B1 3 箱縦寸法 同上 =B3 4 箱横寸法 同上 =B4 5 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さんの書き込みを見てみましたが、数学的に厳密な最大値 云々の並べ方はジグソーパズルのように縦、横とか複雑に並べるということで しょうから、そうなると最大何個並べられるという数字だけではなく、並べ方 をグラフィックで示さないといけなくなるけど、そういう「大層な」問題では ないと思うんですが。
397 :
396 :2008/12/15(月) 20:48:56
大事なことを忘れてた。 収納数はB14とC14に表示されるので、どちらか大きい方を採用してください。
398 :
396 :2008/12/15(月) 20:51:09
もうひとつC12の計算式は=C10*C11です。
質問がもっと具体的なら効率のいいやり方も思い付くだろうけど、 はっきり言って条件があいまいすぎる。 これだと問題を一般化してどんな条件でも解けるように考えるしかない。 容器の大きさと箱の大きさを思い付く限り全部書いて欲しい。
>>392 容器縦寸法 1 3
容器横寸法 3 1
箱縦寸法 7 7
箱横寸法 4 4
だとうまくいかない
正解は9だが7か8になる
それに大量にある場合、入れ方分からなきゃ意味ないし
もうこれは人がやったほうが早いって結論はずっと前に出てるんだよ・・
401 :
295 :2008/12/15(月) 21:29:58
遅レスすいません
>>331 右クリック→場所で範囲変更ですね。
今帰宅したので明日会社でやってみます。
>>328 VBAもマクロもさっぱりのド初心者なので…
せっかくアドバイス頂いたのにすいません。
お二人ともありがとうございました!
明日チャレンジしてみます。
402 :
396 :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%信頼区間を求めるためにはどうしたら良いのでしょうか? よろしくお願い致します。
404 :
371,385 :2008/12/15(月) 22:17:14
容器に入る箱数の質問をした者です。 たくさんの回答ありがとうございました。 ややこしい質問ですみません。 箱Bのサイズは一応長方形とは決まってるんですが、サイズが本当にまちまちで 数パターンに絞るのも難しいんです。 でも皆さんにいただいたご意見を元に、少しでも効率良くできないか考えてみます。 社内に相談できる人もいないので、いろんなご意見いただけるだけでもとても助かりました。 本当にありがとうございました!
405 :
396 :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 5 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 数学的な最大値と、この表で計算した値で矛盾が出る例って何かありますか?
■▲■▲ ■▲■▲ ■▲■▲ ▲■▲■ ▲■▲■ ▲■▲■ ●●●□
>>405 5x5の容器に2x3の箱は4つ入る
パレットに荷物を載せる時のもっとも定番の組み合わせが解けない
■■■□□
■■■□□
□□ □□
□□■■■
□□■■■
>>406 それは解ける
1 3 4 7で9って出たぞ
409 :
403 :2008/12/16(火) 09:17:37
よろしくお願い致します。
410 :
400 :2008/12/16(火) 09:27:21
>>402 ああ、すまんそのままコピペしたら見にくかったな
容器縦寸法 1
容器横寸法 3
箱縦寸法 7
箱横寸法 4
だと、9にならないってことで
でも
>>405 で直ってるね
とりあえず
>>407 はほしい
>>406 xxxu
pppu
xxxu
pppw
xxxw
pppw
xxx
の方が楽じゃね
413 :
名無しさん@そうだ選挙にいこう :2008/12/16(火) 09:44:18
RAND()を使ったセルを ソートするにはどうすればいいですか?
>>413 式のままじゃソートした後に再計算されるので値にしてからソートする
415 :
名無しさん@そうだ選挙にいこう :2008/12/16(火) 10:32:22
マクロの中でRANDセル欄を ソートしたいので F9で値に出来ません どう値にすればいいでしょう?
F9は再計算だろうがw つPasteSpecial これ以上何か言ってきてもスルーだな
つーかマクロの記録使いなよ
【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を直接行番号にできると色々便利なのですが・・
自動再計算を止めてみるとか Application.Calculation = xlCalculationManual
>>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 が「回目」になるよ
>>418 セルの指定をCells(i + (x - 1) * 34, 1)にすればいいんじゃない?
8〜33をまとめてやるなら
Range(Cells(8 + (x - 1) * 34, 1), Cells(33 + (x - 1) * 34, 1))
でiのループは不要になるはず(検証してないw)
>>418 こう書けば範囲が飛び飛びでも一気に塗りつぶせる。For Nextとか一切必要なし。
Range("A8:A33,A42:A67,A76:A101").Interior.Color = vbYellow
>>421 >>422 ありがとうございます、これは滅茶苦茶使えそうです(妙にしっくり来ます)
カウンター部分に変数を使えば良かったんですね、納得
>>420 >>423 すいません!範囲選択を忘れていました
範囲選択すると一瞬で終わりました・・お騒がせしましたorz
なんやとー
Excel総合相談所 - 完 -
427 :
424 :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 追記 当初考えていたことはこれで実現できました! もっと応用ができるようになりたいです・・
>>418 For x = 8 To 518 Step 34
For i = 0 To 25
'処理 Range("A" & x + i).value・・
Next i
Next x
綺麗にまとめるなあ
430 :
295 :2008/12/16(火) 21:17:31
何度もスイマセン
>>331 ダメでした…場所って書式をコピーってことだったんですね。
>>295 の図に書いたんですが、商品の順位が入れ替わるので
書式コピーでは対処できないみたいんです…
大人しくVBAの本買ってきますつД`
432 :
295 :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 という式を解かなくてはならない という結果になりました。 これをエクセルを用いて解くには、どういう式を使えばよいのでしょうか?
>>433 一次方程式はソルバーを使えば解ける可能性が高い。
まず移項して
f(x)=log_[72.99e](-1.68Ln(x)+30.88)+49.82x
という関数を作り、f(x)が0になるようなxを求めればいいわけだから
適当なセルをxとして、ソルバーの「変化させるセル」に指定すればいい。
ゴールシークで足りるかも
エクセルより数学ソフトのほうが向いてないか?
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未満
みたいにそれぞれの長さに何本あるかというのをヒストグラム下化したいのですが、
どうすれば良いのでしょうか?
>>438 分析ツールのヒストグラムを使う
COUNTIFで数える
など
441 :
433 :2008/12/17(水) 00:22:04
>>434-437 ありがとうございました!
ゴールシークで出来るかと思い、数式(f(x))を立てて
xに適当なセルを指定したのですが、
解答が見つかりません となってしまいました。
目標値を0にしたのがいけなかったかと思い、他の数字にも
変えてみましたが、同じになります。
数式自体はできたので、予想した値を
ちまちま代入してxの値を出すことは出来ました。
ありがとうございました。
442 :
415 :2008/12/17(水) 00:30:22
443 :
415 :2008/12/17(水) 01:02:30
セルに今表示されてる数値を Getするような関数はないのでしょうか? セルにセットされている関数しかコピー出来ないのでしょうか?
445 :
415 :2008/12/17(水) 01:41:38
普通は数式を取り出す方法で悩むもんだけどなあ…
=(MAX(C2:C6) この範囲の幅を選択できるようにしたい!↑この場合「5」 どうすればいい!!
それでいのか?だとしたらどんな領域でも対応できるように =ROWS(C2:C6)*COLUMNS(C2:C6) じゃね? セル範囲を2回書かなくちゃならないのが面倒だけど。 オレは「=MAX(C2:C6)」と入ったセルから「C2:C6」を取り出す問題かと思ってたが。
>範囲の幅を選択できるようにしたい!↑この場合「5」
>>447 の質問が日本語でOKな状態だから解はない
質問する前にまず何がしたいのかはっきりしないとなw
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)だとなんだか間抜け&手間ですし・・ 別の場所でエラーをわざと表示させているところがありますので、シート全体のエラー非表示はしない方向でお願いします
>>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)
とすればいいだけでは?
>>457 ありがとうございます。
そしてごめんなさい・・・空白が入ってることに気づきませんでした
459 :
名無しさん@そうだ選挙にいこう :2008/12/17(水) 14:06:23
ゴールシークとソルバーって同じもののように思えるのですが どこが違うのでしょうか? よろしくお願い致します。
>>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 になります。 よろしくお願い致します。
>>461 データ系列の書式設定→系列の順序
ではないか?
STDEVじゃね?
466 :
名無しさん@そうだ選挙にいこう :2008/12/17(水) 17:52:39
>>465 なぜか分析ツールだとSTDEVのちょうど2倍になります。
なんなんでしょうか、これは?
>>462 標準偏差というのはデータが大量にないと正確に計算することができない。
で、STDEVはデータの個数が不十分なときに標準偏差を「推定」する関数で、
STDEVPはデータが十分たくさんあるときに標準偏差を「計算」する関数。
この違いがわかるかな?
データがたった 10個では、「推定」と「実際の計算」で大きな誤差が出るのは当たり前。
469 :
名無しさん@そうだ選挙にいこう :2008/12/17(水) 21:08:37
>>469 番号から数字を抜き出して普通に昇順で並び替えではどうよ?
471 :
名無しさん@そうだ選挙にいこう :2008/12/17(水) 21:28:31
>>464 では、こういった小難しいことは何でやったら良いのですか?
Excelよりも良いソフトがありましたら教えて下さい。
>>471 数学ソフト
で調べてみてください。もしかしたらものすごく役に立つかもしれない
>>469 オートフィルタ、フィルタオプションで
番号 と等しくない
and
"" と等しくない
でコピーペースト
すると中が消えてる
可哀想な頭だね
>>475 エクセル様は全能!エクセル様は全て正しい!
エクセル様が全ての基準!
と思ってると思った
>>475 なぜ、わからないのかわからない。
推定すると脳細胞は108つだな。
>>477 なぜデータが大量にないと標準偏差を正確に計算できないの?
>>478 1万人センター試験を受けてるとしましょう
その内一人のデータを取りました。満点の100点でした。偏差値は50です
もういいかい
480 :
469 :2008/12/17(水) 23:09:57
>472さん ありがとうございます
>>478 偏差という字をひとつずつ考えてみるといい
>>479 よくありません。
その偏差値はどうやって求めたのですか?
それだよ
485 :
名無しさん@そうだ選挙にいこう :2008/12/18(木) 00:23:53
STDEVは標本を使って計算する STDEVPは母集団を使って計算する 前者はどちらかと言うと、データが多すぎて計算が困難だったり、データそのものを集めるのが困難な場合に、 その一部を使って計算の手間を省くというのが本来の用途 統計学的に標本数が十分なら標本は母集団と同じ傾向になるという考えによるもの。 無作為抽出のアンケートとか、国勢調査の速報なんかは標本を使って計算する。
ワークシート関数なんていうブラックボックスを使うからややこしいことになる。 アルゴリズムを調べてVBAで計算すれば納得のいく結果が出るんでない?
…みんな、ちょっといいか?
盛り上がってるとこすまないが、試しにセルに「=STDEVP(2.5,3,3,2,1,2,1.5,3,2.5,3)」って
入れてみたら0.672681202って出たんだが…
>>462 が操作ミスをしたか、Excelの使い方をわかってない可能性ってのは、ないか…?
さらに追試。
分析ツールとワークシート関数の結果も一致した。
というわけで
>>462 の勘違いということでFA
Excel総合相談所 - 完 -
ここの回答者がバカだらけということがばれたな。 おまえらはSUMIFとか配列数式の話だけしてろよ。
自己紹介しなくていいです><
なんだなんだ、ひよこ達が大騒ぎしてるじゃないか ここんところ無かったから、なんだか懐かしいね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 対応 他のセル同士を対応させて、違う作業に反映させる方法はありますか? 東京都 500 京都府 600 佐賀県 700 ↑のデータが存在して、これと別に 東京都 京都府 佐賀県 ↑既に入力されたこのようなデータがあった場合に一々対応で数値を出せますか? 検索用の単語も分からず困っています。 よろしくお願いします。
>>497 なぜ、LOOKUPをすすめるんだよ・・・
あの関数の使用条件厳しいぞ。
きっと君はどこかで「LOOKUP関数がうまくいきません。」とか質問してるんだろ?
>>496 VLOOKUPの方がいい。
>>498 どっちも似たようなものだと思うが・・・
>>496 どちらを使うにせよその例で言うと元になる数値が入ってる表は
都府県に当たる列でソートかけるの忘れるなよ
>>499 >都府県に当たる列でソートかけるの忘れるなよ
それがあるから VLOOKUPにしろというのがわからないのかい?
>>498 多くの社会人は「LOOKUP」と提示されると
その関数を調べVLOOKUP,HLOOKUP,INDEX,MATCHと
関連する関数がある事を知る。
そして何が最適かは自分で判断する。
与えられたままに事を進めるのは、あんたぐらいだ。
>>501 まず、サンプルになる人間1万人くらいに聞いた回答を発表してもらおうか?
相談所で回答者叩いたり煽ったりする奴ってなんなの? そういうことは雑談スレでやってくれ
Excel2002、VBA×です。 部門名・商品名・個数・使用期限月 のリストがあり、 A部門のB商品で使用期限がC月の個数はいくつ、 という集計をして集計行のみの表にしたいのですが、 集計行に部門名・商品名を表示させるにはどうしたらよいですか? 集計行のみ表示したときに部門名・商品名が表示されるようにしたいです。 現在の設定は下の通りです。 グループの基準:使用期限月 集計の方法:データの個数 集計するフィールド:商品名と使用期限月 ○年○月 データの個数 の表示になります。
>>503 ここが2chだからだ。
そしてお前も(ry
506 :
名無しさん@そうだ選挙にいこう :2008/12/18(木) 11:31:06
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 含まれる行は表示しない エクセルで"平日"と入力された行が複数行ある場合、Ctrlで全部の行を選んで表示しないではなく、 簡単に検索かなにかして、表示しないようにすることはできますか? できるとしたら、その方法を教えてください。
507 :
504 :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
>502 >人間1万人くらいに・・・ ( ´,_ゝ`)プッ ガキ丸出しだな
>>506 範囲を選択してから、[Ctrl+F]→[検索する文字列:平日]→[全て検索]
→[Ctrl+A]→[閉じる] としてから行の非表示処理
511 :
506 :2008/12/18(木) 12:50:36
>>510 ありがとうございます。
ところが、複数行が選択された状態になりますが、メニューバーから表示しないにすると、
シート全体が表示されなくなり、行をシフトを押しながら表示しないにしようとすると、
選択解除になってしまいます。
どうしたらいいでしょうか?
>>511 それ、シートの非表示にしてるんだろ。
[書式][行][表示しない]だよ。
513 :
506 :2008/12/18(木) 13:10:50
>>512 できました♪
ありがとうございます。
その非表示のやりかたは知りませんでした。
すいません。
無事解決です。
よくExcelにゴミがたまってファイルが大きくなるって聞きますが、どう言うことですか?
>>514 データを追加したり変更すると、もともとデータの入っていた領域をそのまま放置して
新たにデータを入れる場所を追加していく場合がある。
すると、未使用の領域がどんどん溜まっていく。
新規ブックにシート全体をコピペすると空き領域が整理されてファイルが小さくなる。
516 :
496 :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セルでもあるかの判別がしたいです よろしくお願いいたします
エクセルの学習ソフトについて質問があるのですが>2のBでスレ違いとなるそうで どちらのスレで尋ねれば良いでしょうか?
>520 あ、いえそうではなくてすいません お勧めのエクセル学習ソフトとか伺いたかったんです
>>503 今回はさすがに回答が微妙だったからなぁ
>>518 教えてgooとか
たぶんまぁ、しょーもない内容だろうとは思う
>>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のテキストデータを 全て一枚のエクセルのシートに貼り付けたいです。 一つ一つ開いてマウスで文字をドラッグし、コピーするには 時間がかかりすぎます。
527 :
525 :2008/12/18(木) 23:30:32
>>525 ダウソソフトで一括ダウソしたあとコマンドプロンプトからcopyコマンドで1つにまとめればコピペは1回で済む
Excelのテクニック何も必要なし
529 :
525 :2008/12/18(木) 23:40:53
>>528 ウチはIT系会社なんですが、ソフトを勝手にDLするのは
禁止されているのです。会社のPCでやりたいと思っております。
社内イントラのデータなので家ですることが出来ないのです。
531 :
525 :2008/12/18(木) 23:45:01
>>530 FTP?ITの新人にはちょっと分からないです。
すみません
ftp/?
>>525 FTPがちょっと分からないITの新人受けたw
社内イントラならそのhtmlファイルが置いてあるとこから
まるっとコピーできそうなもんだが無理なの?
ここで分からないまま情報小出しにしてる暇に先輩か上司に相談したほうが早そうだが
まぁ俺の友人のプログラマ(当時4年目くらい)にも、
「レジストリって何?」とか言う奴もいた
ただ
>>525 はIT系云々以前にものの聞き方がアレなので
どっちにしろ無理っぽい
大人しく上司にでも相談してくれ
複数のページなのにホームページとは? ホームがそんなにたくさんあるのか?
IT系の会社であって総務系とか
役員の秘書とか完全に文系だしなあ
538 :
504 :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列は事情により式を複雑に作ってあるため、数式の保護をしました。 チェックボックスの『並び替え』『オートフィルタ』はチェックしてあります。 オートフィルタで抽出するのは問題なくできるのですが、並び替えができません。
>>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です。
>542 仕様です。 自分で微調整してください。
>>541 A1に誕生日
本日の満年齢=DATEDIF(A1,NOW(),"Y")
>>542 セルの幅や高さをギリギリに調整すると間違いなく中身が切れます。
手動で広げてください。
十分な余裕を取るか、ひたすら試行錯誤するしかありません。
やっと複合参照がわかった・・・ 要するに動かしたくないとこに$つければいいんだな 参考書&サイトを2時間眺めてやっとわかった
548 :
名無しさん@そうだ選挙にいこう :2008/12/19(金) 18:25:11
>>544 >>546 早速ありがとうございます。
仕様とは初めて知りました。ふざけてますね。
量がかなりあって面倒なので、
bmpにして貼り付けてみようと思います。
ありがとうございました。
>547 普通の人は複合参照なんて言わない。 駆け出しなら言葉は正確に覚えましょう。
>>549 駆け出しの意味がわからないけど「複合参照」って
書いてあるよ?
>>547 ここで質問しないと理解できないレベルなのに
「ふざけてますね」はどうかと思うね。
もうちょっと謙虚になりなさい。
駆け出しさんは相対参照と絶対参照は知っていても 複合参照って言葉は知らないこと多いね A1 相対参照 $A$1 絶対参照 $A1絶対列参照(列絶対参照) A$1絶対行参照(行絶対参照) このうち後者2種をまとめて複合参照と呼ぶ 行と列のいずれかに絶対参照と相対参照を複合して使っているからだ これはExcelのヘルプにも載ってる正式な名称なので覚えておいた方がいい
まぁ、イバちゃって オコチャマね!
顔が真っ赤だよw
複合参照っつってもどっちのことかわからないし どっちか説明することになるなら最初から使わないよな
必死な言い訳恥ずかしい
556は今日始めての書き込みなんだぜ
俺は今日が生まれて初めての書き込みなんだぜ と、書くだけなら何とでも書ける そもそも件の本人じゃなきゃ誤解されたとしてもわざわざ言い訳がましく他人宣言なんてしない 本人だからこそ、過剰に気にして墓穴を掘ってしまう
俺は今日が生まれて初めての女の子をデートに誘ったんだぜ
複合参照なんて言葉初めて知ったけど たしかに知っていてもいいとは思う ただ会社では使い道がないのは確かだな・・・まず誰にも通じないから説明しなきゃならないし 絶対参照も覚えたての時は使ってたけど絶対なんて名前が付いてるのに indirect程絶対ではないので迷ってダラー使うやつって言ったりする
まぁ、現実に使うかどうかは別として > 普通の人は複合参照なんて言わない。 > 駆け出しなら言葉は正確に覚えましょう。 が間違いであり恥ずかしい事実だけは変わらないな。 しかし、うちの会社では指示書などでは複合参照って結構使うよ。 複合参照が何か解ってる奴なら、どっちの複合参照使うべきかは 自分で判断できるし、何処にどっちの複合参照使うかなんてのは、 指示する方ではなく指示される方が、要求仕様に基づいて考える べき事だからな。
どんな会社なのか本気で興味がある エクセルで総務のお仕事お助けします!とかFAXで来る、あんな系統の会社?
┏┳┳┓ ハイ. ┏┳┳┓ ┏┫┃┃┃ 雑談は ┃┃┃┣┓ ┃┃┃┃┣┓ ここまで ┏┫┃┃┃┃ ┃ ┃┃┏━━━┓┃┃ ┃ ┃ 雑談 ┣┫ . ・∀・ ┣┫. STOP!┃ ┗━━━━┛┗┳━┳┛┗━━━━┛ ┏┻┓┃ ┏━┛ ┣┻┓ ┗━━━┫ ┗━┓ . ┗━━━┛
>>562 >>指示書などでは複合参照って結構使うよ。
どんな会社やねんw
自演擁護はもうウンザリです。
>>538 君のやってることは無意味なんだよっていわれて、むちゃくちゃ怒るやつ。
多分内心ではそのことに気付いているんだよ。でも認めたくないんだ。
ピボット厨は素直にVBAを認められない奴だと思うんだな 両方使えば、両方の長所がはっきりわかると思うんだけどねぇ どっちも便利なんだから両方使えばいいのに
認めないんじゃない さっぱりわかんないんですよーだ!!
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 ほんの少し(猛勉強中) 【4 VBAでの回答の可否】 少し可(がんばって解読します) 【5 検索キーワード 】 エクセル 図形 セル 関連付け 差込印刷 エクセルのみで、社員の健康診断票を作成しています。 社員IDを、拾ったバーコード生成マクロでバーコード化 →差込印刷マクロで雛形所定位置に印刷。 名前、部署、生年月日など文字・数字は差し込めるのですが、バーコード(bmp)を 差し込むことができません。この図(バーコード)をセル内の値として認識させることは 可能でしょうか? ド素人なりに『セルの書式設定』『表示形式』『ユーザー定義』を怪しみましたが それらしいとこに辿り着けませんでした・・・ 以上、宜しくお願いします
>>569 超てっとり早くするならそのバーコードをペイントで開いて、ctrl+A→ctrl+cでコピーしてエクセルの画面にもどり、
ctrl+vで貼り付け
セルのはばを大きめにしておくとよい
図形を選んでそこから挿入するのもいい
よ
対利ょうにあるならvbaだな。今はよってるので翌日か他の人の回答 を まて
>>569 画像をセルに入れることはできない。
ワークシートに画像を貼り付けて、大きさをセルと同じにしてごまかすしかない。
バーコードの形式にもよるけど、バーコードフォントというのを入れれば バーコードを文字列として扱うことができるようになる。
>>567 ピボットとVBAを比較の対象にする事事体あほくさい。
ピボット厨のダメな所は何でも無理やりピボットでやる事。
VBA厨のダメな所はピボットを認めない所。
どっちもバカだな。
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 使えません 【4 VBAでの回答の可否】 わかりません 【5 検索キーワード 】 レコード、抽出、COUNTIF あるテーブルから条件にあったものだけカウントしたいんですが、 条件を絞り込んでカウントする数式がわかりません。 具体的には、競馬のデータなんですが、H7:H33に晴れの日や曇り、雨など天気のデータがあります。 そしてK7:K33には1着、2着、3着、4着、など着順のデータがあります。 このデータを使って、別のセルに晴れの日は1着が何回で2着が何回か、晴れ以外の日は1着が何回2着が何回かなど 条件を絞り込んでカウントしたいんですが、どんな数式を入れればいいんでしょうか?
>>573 ピボット厨のダメな所は何でも無理やりピボットでやろうとしてできない事。
VBA厨のダメな所は何でも無理やりVBAでやる事。
だと思うが
VBAでピボットテーブルは作れるがピボットでVBAは実現できない
だがVBAで1時間かけて作ったピボットはピボット使える人にと取っては10数秒でできること
両方できるが、VBA使うほうが割かし便利なんでVBAばっかり使ってる
ピボット使えるほうが便利なんだろうけどなー
一言で言うと、PCオタクって奴なんだろうけどなw.
>>574 作業列を使うか、countifかな
作業列は表がH列ならI列に=if(H1="晴れ"=h1,"")
といった感じでj、k列も同様に曇り、雨とするもの
countifはぐぐったほうが早い。が、やはり作業列のほうが早いと思う
>>575 お前みたいに使い分けができない奴が一番クソ。
>>574 =SUMPRODUCT((H7:H33="晴")*(K7:K33="1着"))
>>570-572 レス有難うございます。社員が200人もいるので手動は厳しいです・・・
かといってVBAの知識はほぼないに等しいので、バーコードフォント
でとりあえず進めてみます。
ありがとうございました。
>>576 ありがとうございます。
countifは晴れの日の1着のセルだけ範囲指定して検索値に1と入力してみたんですが
ダメでした。晴れの日の出走回数だけはcountifで出来たんですが…
作業列と言うのは初めて知りました。カウントした数値が出せるかどうかググってやってみます。
>>577 まーそのレスも予想通りだったわ
ただこのスレを見てる俺としてはできるだけピボットで答えて欲しいと思うけどね
(見たこともない使い方なんていくらでもあるだろうから)
がんばってね
>>578 ありがとうございます。やってみたんですが0になってしまいました…
585 :
名無しさん@そうだ選挙にいこう :2008/12/20(土) 00:41:19
>>583 >>578 の式は、セルに入っている通りの文字列を入れないとダメだよ。
たとえば順位に「着」が付いてなくて数字だけなら
=SUMPRODUCT((H7:H33="晴")*(K7:K33=1))
みたいにしなきゃいけないし、天気に送りがながあれば
=SUMPRODUCT((H7:H33="晴れ")*(K7:K33=1))
とかね。
587 :
574 :2008/12/20(土) 00:47:17
ありがとうございます。一応着順は数値の[1]で[1着]とは入力してないです。 フィルタ使って数を数えればわかるんですが、関数使って何とか出来ないものかと思って まだ初心者なんで皆さんの意見がすごく勉強になります。
>>585 まぁ、環境にもよるだろうね・・・
総務なんだけど、基本的にはピボットで出した表を提出すればそれでokと思うんだけどね
何故かそれを前年比で出してだの、取引先AはXXとyyで7:3に分けてだの
さらにその前はXXがいないからzzでその比は・・とか言われたらVBAもうまくなりますよorz
逆にその資料を一瞬で出せるのが目障りなのかもしれないけどね。まぁなんだ。零細企業の俺乙
>>582 そもそも競馬のデータをエクセルで時点で
ああいうのはパドック(当日の調子)が最重要だと何度言えば
589 :
574 :2008/12/20(土) 00:54:47
>>586 ありがとうございます!出来ました!本当にみなさんのおかげです。
いくつか条件をかえてまたやってみます。
590 :
574 :2008/12/20(土) 00:59:20
>>588 すいません好きな馬の成績表作ってデータ調べたりして遊びたいなぁって思ったんで…
この関数がデータにホント役に立ちます!重ね重ねありがとうございました!
>>588 どっちかというとVBAよりピボット使うほうがいい典型例のようにみえる。
ピボット厨はVBA使えるがあえて使わない。 しかしVBA厨はどうやら本当にピボットが理解できないらしい。
>>574 条件が反映されずに難儀するなら=SUMPRODUCT((H7:H33="晴")*(K7:K33="1着"))の
="晴"の部分を=H35とか、="1着"の部分を=K35とか別セルを指定して
そこに集計対象のセルから条件をコピぺするか、入力規則のリストを使うと簡単で確実に集計できるよ
リストは集計表にデータを入力するときにも、表記揺れによる集計ミスを減らせるからお勧め
>>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 を
一度参考にしましたが、データを重ねているわけではないので、実行できませんでした。
よろしくお願いします。
>>595 「レーダー図」と「円グラフ」ってのは普通別物だけど、レーダーチャートを円形に表示したいってこと?
597 :
595 :2008/12/20(土) 21:51:37
>>596 遅くなってすみません。
はい、その通りです。
三角でなく円形のレーダーが作りたいのです……
ご教授お願いいたします。
教授ー! 読んでますよーっ
ご教授はダメ、ご教示だろうがっていうやつ2chに多いよね。
>>597 むずいな
設定にはなさそうだから、項目数を増やして間を補完するとかしかないんじゃね?
602 :
601 :2008/12/21(日) 00:15:17
gnuplotで描いちゃうとかもアリか。
603 :
597 :2008/12/21(日) 02:12:28
皆様、遅くなりましたが、ありがとうございます。 いろいろやってみて、自分には無理そうだったら三角で行こうと思います… ありがとうございました。
604 :
569 :2008/12/21(日) 02:38:16
>>594 ありがとうございます。参考になる部分がかなりあります
>'C2に入力した番号と同じ名前のbmpファイルを拾ってきて
以下をコピペ、A6をH1にしてそのままいけそうな気がします!
教えてもらう内容が高度かそうでないかなんて誰がどうやって判定するんだよ。
俺
>>608 つまり「ご教授」と「ご教示」のどちらが適切かを判定する客観的な基準は
存在しないということでいいですね?
そうでもないか
例えば「教諭する」という表現は辞書にのっていませんが誤用でしょうか?
>>611 辞書に「スル」という活用で載ってるんだが
>>612 そうなんですか!
私の見た辞書にはのっていませんでした。辞書にはないからてっきり間違いだと思ってました。
ご教授ありがとうございました。
エクセルの回答は全て高度です。
よって、教授で問題ありません。
>>606 クソスレw
615 :
名無しさん@そうだ選挙にいこう :2008/12/21(日) 10:04:05
>>606 クソスレである事の根拠
http://www.tt.rim.or.jp/~rudyard/index.html >WEBサイトを何気なくながめているだけで、誤字等はたくさん見つけることができます。
>そういった誤字等を検索エンジンにかけてみて、どれくらいヒットするかを調べて考察を加えたものがこの「誤字等の館」です。
>考察といっても、そんな大層なものではなく、適当な推論です。
>当方、言葉の専門家でも研究者でもありませんので。
>考察といっても、そんな大層なものではなく、適当な推論です。
>考察といっても、そんな大層なものではなく、適当な推論です。
>考察といっても、そんな大層なものではなく、適当な推論です。
>考察といっても、そんな大層なものではなく、適当な推論です。
スレ…?
617 :
名無しさん@そうだ選挙にいこう :2008/12/21(日) 10:12:54
間違い指摘を受け入れられずに必死に抵抗するも 更に間違いを重ねて墓穴を掘り続ける はてさて、どこまで逝くきやらw
>間違い指摘を受け入れられずに必死に抵抗するも それはお前だwww
>>618 あわてものがスレとか言ってしまいましたが、無関係な間違いなのでスルーしてください。
あなたがご教授は間違いと考える根拠は何?
もうやめとけ
「老師、どうか私に、剣の極意を御教授下さい。」 「いやいや、私に出来るのは極意を御教授などと大層なものではない せいぜいを心掛けを教示するまで、それでも良いか?」 「お願いします。」 的な、あなたの知識は尊いですといった謙遜を込めた御教授
>>622 で、「ご教授ください」は間違いなの?間違いじゃないの?
自分で判断しろよ
質問するほうは 御教授と言えば失礼ではないと思う もちろんたいした事でも無いのに御教授と言えば 逆に失礼な、馬鹿にした印象与える場合も
>>625 頭の中が分裂しているようだな。
どっちなの?
627 :
名無しさん@そうだ選挙にいこう :2008/12/21(日) 13:41:06
エクセルファイルをCSV(タブ区切り)に変換したいのですが、 セルの計算式が値で出力されて困っています。 式のまま出力できないでしょうか?
「ご教授は間違い」派ってなんなの? 何を根拠に間違ってると主張しているの? 根拠もないのに言ってるの?
629 :
名無しさん@そうだ選挙にいこう :2008/12/21(日) 13:51:11
>>627 ツール/オプション/数式にチェックしてから保存
>>628 間違いかどうかは各個判断なんだよ
受け手が判断するだけなんだから
OKと思う人はOKだしNGと思う人にはNG
「ご苦労様です」って言われて「ありがとう」と思うか「何様だテメェ」と思うかの違い
わかったかクズさっさと死ねボケチンカス逆蛍
>>631 やっとまともな意見が出てきたか。
まあそういうことだよね。
「教授ください。」が嫌な奴は黙って回答しなければいい。 気にならないなら回答すればいい。 「教授」と書いてあるからといって煽る奴が一番カスでおk?
>>631 それは違うだろ
ご苦労様ですは同等以下の人に使う言葉だから何様扱いは当たり前
持ち上げた表現を使われて、いやこの場合
他人が他人に尊敬表現を使っているのを見てキレてる基地外がいるだけだ
たとえ当たり前でも何様扱いすると空気読めないやつだとしか思われん 物事の真理よりもそちらのほうが大事である
そういう意味でもご教授にぐだぐだ言う奴が一番空気読めてないよね 真理という意味ではなおさら
勘違い誤用指摘厨はもちろんアレだがそろそろまとめて空気読め
おまいら暇だな。 もっとやれ。ファイヤーw
つまりどういう場合が正しくてどういう場合が間違いなんだ? 教示って使っておけば問題はなさそうだが
まあ経験則として言えるのは、この手のスレでご教授下さいとかご教示下さいとか書く質問者は丁寧な言葉使えば何書いても許されると思ってる馬鹿が多いって事かな。
641 :
名無しさん@そうだ選挙にいこう :2008/12/21(日) 19:10:27
教授 教示 になります おります おりません よろしいので あたりをNG マジで鬼嫁
この討論をエクセルで解決するんだ!
if 質問者 and xlBAKA then レス = 質問内容 & vbcrlf & "ご教授下さい。" else レス = 質問内容 & vbcrlf & "ご教示下さい。" end if call 投稿(レス)
【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」を入れてみた。
649 :
646 :2008/12/22(月) 11:47:27
>>647-678 THXです。
でも(3)を空白にする以外に方法ありません?
B列あるいはC列に式を作るとか。
>>649 ない。
見た目をごまかしたいなら、Sheet2にもう一組座標のデータを入れといて、そっちでグラフを書く。
Sheet1を参照するような数式にしておけば、方程式の変更にも対応できる。
(3) を 0 にしてエラーだしたらダメなのかな?
653 :
名無しさん@そうだ選挙にいこう :2008/12/23(火) 10:04:35
Excel使いの方におたずねしたいのですが、Excelで旧暦と潮汐を表示させるような式ってくむことができますでしょうか? 何月何日といれたら、旧暦と大潮・中潮・小潮・若潮・長潮などの表示ができるようにしたいのです。 実現された方やこういうプログラムがあるよ〜などご存じの方がいたら教えてください。
>>651 そうそう。君はそうやって人の言うことを聞いとくべきだよ。
六年生とは思えないほど稚拙な文章だったけど、面白かったよ。
>>653 国立天文台HPでデータが手に入るか調べてごらん
__、 .,ー'"′ `'''‐,、 ,! ,,! ヽ .r‐--,,,,,,,―へ ヽ r | │ | \ 丿 ( ″ .| ヽ、 ,/ `'-,__ | ‘i、 .,i´ ‘'ー---、,,, | `!,,,i´ ゙゙l、 -|,,,,,,,,,,,,,/ 八 ゙l .| ,,″`i、 :i、 | .,! ,/ `'i、 ‘i、 l゙ .,! ,r′ `-, .゙l、 ,,/ .{――ー'''''゙^ ー'"` ` ゙―-''''"
孤独な冬厨が湧いてくる年末です。 皆様、ご辛抱です。
660 :
名無しさん@そうだ選挙にいこう :2008/12/23(火) 22:58:02
質問です。よろしくお願いします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(多少は…という程度) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 オートシェイプ 削除 削除 トリガー VBA オートシェイプ 削除 <やりたいこと> オートシェイプ内にテキストが記載されていて、 付箋紙のように使用しています。(ワークシート内に複数存在することも多々あり) そのオートシェイプを選択し、Deleteキー等で削除した場合に、 オートシェイプの中のテキストを指定のワークシートに保存したい。 ここで言う指定のワークシートは任意で決めてもらってもかまいません。 (履歴が記載されているワークシートだということがわかればOKです。) よろしくお願いします。
>>660 オートシェイプを削除するにはDelキーを押す以外に右クリックや編集メニューから切り取りを選ぶ
という方法があるが、これをオートシェイプが消えるよりも前にVBAで感知するのはかなり難しいので、
何か別の方法を考える必要がある。
もっとも簡単に実現できるのは削除ボタンを作り、それ以外の方法では削除しないこと。
662 :
660 :2008/12/24(水) 00:25:55
多少操作的に面倒になってしまいそうですが、 削除ボタン使用でも問題ないと思います。 指定したオートシェイプの中のテキストをバックアップできればOKです。
>>660 タイマーで一定時間ごとにシート全体をチェック、すべてのテキストの一覧を作業用シートに書き出しておく。
この一覧に変化があったら、その部分を目的のシートに書き込む。
みたいな感じかなあ。
はっきり言ってかなり難易度が高い希ガス。俺の知識が足りないだけかもしらんが。
オートシェイプの変化ではChangeイベントとか発生しないんだよなあ。
>>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
666 :
646 :2008/12/24(水) 22:12:48
>>647-652 レスTHXです。
百戦錬磨のここの住人が無理というのなら無理なんでしょう。
あきらめて(3)を空欄にします
【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に収まりませんでした。一つのセルに対する文字数を制限し、一定数 を超えるセルがあれば、行を追加し、すぐ下のセルから途中を続ける、 という方法を探しております。 無知ですが、よろしくお願いします。
>>668 セルに入る文字数を正確に求めるのは非常に難しいので、
最善の回答は「Excelで印刷することは考えるな」。
どうしてもExcelで印刷までやりたいなら、その「一定数」をまず自分で決めること。
その際にある程度余裕を見ておくしかない。余裕が小さいと文章が切れる。
場合によってはセルの右の方に大きな余白ができる可能性もある。
完全に日本語だけなら固定ピッチフォントでなんとかなるけど、
アルファベットが混じってる場合はどうにもならない。
それでもよければ回答できるかもしれけないけど、それでいいかな?
>>667 For〜Nextでフラグの入ってる行を端からチェックして、
あとは今までに作った印刷のマクロを呼び出せばいいんでね?
>>665 マーカーを右クリックしてデータ系列の書式設定から
系列ごとに折れ線の有無やマーカーの種類を選択できる。
東京、千葉、神奈川、平均の4つのデータ系列を用意して、
個別のデータはマーカーのみ、平均は折れ線のみにすればいい。
672 :
名無しさん@そうだ選挙にいこう :2008/12/25(木) 06:22:21
673 :
667 :2008/12/25(木) 06:52:04
>>670 ありがとうございます。てか寝落ちしてしもたw
早速試してみます!
>>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
文字数じゃなくて文字の幅で改行ってことでしょ これは諦めた方がいい
676 :
名無しさん@そうだ選挙にいこう :2008/12/25(木) 15:08:18
>>671 ありがとうございます。
それは、散布図での話ですよね?
何度も試してみたのですが、横軸の名称を「東京、千葉、神奈川」みたいな名称にしようとしても
1,2,3・・・といった行番号になってしまうのですが・・・
もしかしてこの名前だけをテキストボックスを上に貼り付けて使うということなのでしょうか?
>>676 グラフオプションで「X/数値軸」を消して「X/数値軸ラベル」に「東京 千葉 神奈川」と入れる
678 :
名無しさん@そうだ選挙にいこう :2008/12/25(木) 16:07:26
>>677 ありがとうございます。
何度も申し訳ないのですが、
「X/数値軸」の場所は分かるのですが、「X/数値軸ラベル」という設定項目は見あたらないのですが、
バージョンは2003なのですが、もしかしてバージョン違いなのでしょうか?
お願いいたします。
>>678 グラフエリアを右クリック→グラフオプション→タイトルとラベル→X/数値軸
681 :
名無しさん@そうだ選挙にいこう :2008/12/25(木) 17:44:51
>>680 ありがとうございます。
それってつまりはテキストツールで書くのと全く同じことですよね?
【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に入力した数値のところでグラフを止めたいのですが、何か方法はありませんか?
683 :
682 :2008/12/25(木) 18:10:33
間違いがありました。 セルB1には『IF(B1="","",B1)』 セルC2には『IF(B2="","",B2+B1)』 セルC3〜C30はC2をオートフィルでコピーしています。
>>681 厳密に言えばラベルはチャートオブジェクトの一部だからテキストボックスを重ねるのとはちょっと違う。
どうしてもラベルの内容をどこかのセルから持ってきたいのなら、数式で文字列を連結してから、
それを参照するって手もある。
>>683 式がおかしい気がする。
C1は「=B1」
C2は「=B2+C1」以下オートフィルじゃないの?
で、折れ線グラフを途中で切りたいなら軸の範囲とデータの範囲をあとから修正するしかない。
686 :
682 :2008/12/25(木) 18:31:24
>>685 レスサンクスです。
指摘されたところはその通りですorz
細かくやるしかないんですね…
687 :
名無しさん@そうだ選挙にいこう :2008/12/26(金) 07:47:04
こんな問題がありました。 「何人かの残業時間が32・24・17・22時間だとします。 残業手当ては、20時間までは一時間当たり2000円、20時間を超える分は一時間当たり1500円とする。」 となっていた場合、エクセルにはどのように入力すれば残業手当てが計算できるのでしょうか?
>>687 =A1*2000-(A1>20)*(A1-20)*500
冬休みの宿題?
689 :
名無しさん@そうだ選挙にいこう :2008/12/26(金) 12:37:39
>>688 パソコン教室の宿題で…すいません、レスありがとうございます。
すいません、まだ慣れてなくて分からないのですが、それはIFで入力でしょうか?
>>689 =IF(A1>20,A1*1500,A1*2000)
>>690 いえ、どちらでも良いのですが、パッと見てなるほど!と言える理解力が無かったので、すいません。
とりあえずそのまま書いてみます。
693 :
名無しさん@そうだ選挙にいこう :2008/12/26(金) 13:49:39
ありがとうございました!
>>688 の式で上手く全て埋まりました。
次になんですが、
通勤時間がそれぞれ55分・60分・95分・80分・120分だとして、
通勤手当は、通勤時間が90分未満は15000円、90分以上120分未満は20000円、120分以上は30000円とする。
何度も式を変えてやってるつもりなのですが、完成させられません。
どなたか宜しくお願いします。
パソコン教室の宿題ってことは復習だよね? 習った内容を元に自分で考えないと意味ないんじゃないか?
>>694 正月過ぎまで行けないので沢山宿題を貰いました。
宿題の中には出来ない物も含まれている、と言われたのです。
でも、できれば理解してからまた通いたいのでご教授願えませんか?
>>695 教えていない範囲まで宿題として渡してしまう教室もどうかと思うが・・・
答えだけ教えて理解できるのか?
=LOOKUP(A1,{0,90,120},{15000,20000,30000})
細かい解説とかはそれこそ教室の守備範囲だろうからあえてしない
教えてない範囲まで問題渡したなら、 関数のヘルプ見ながら、これかなあれかなってやらせるのが目的だろ それができるようになれば一般レベルのコースに通う必要もなくなる ここで答えもらっちゃダメだろ
そうだよな。 ここで普通に全て答えちゃってる回答者もなんだかなー。 本当の回答者ならヒントは与えても答えを教えちゃいけないと思うんだ。
>>697 生徒:○○ってどうやるの?
教室:ググレカス
ってことか?
基本的な(と思われる)関数とセルの参照ぐらいは習ったんならヘルプで十分だろう
しかし、IFの使い方分かってないしIFの入れ子かLOOKUP使うって発想もできないレベルのようだし
実は教室の人間もエクセルとか全然使えない奴だったりw
>>698 696の回答を元にLOOKUPの使い方を調べるようになればいいな〜
とか思ってあえて初心者向きじゃない回答したんだがダメか?
【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 上記のブックが開けません。
[問題が発生したため...]となり、強制終了してしまいます。
作者にもしばらく前にメールを送ったのですが、返事がありません。
開くにはどうしたらいいですか?よろしくお願いします。
>>700 そういう怪しいファイルは開いちゃいかん。
>>699 おまえ、考え方根本的におかしいよ。
>生徒:○○ってどうやるの?
>教室:ググレカス
パソコン教室は金もらってるんだからここの回答者と一緒にする事事体無意味。
>696の回答を元にLOOKUPの使い方を調べるようになればいいな〜
そんな普通じゃない使い方(一般的ではないって意味であってヘルプに
載っている事から間違った使い方ではない。)を教えるくらいならLOOKUP調べてみな、
という回答の方がいい。
>>699 ググレカスってなんだよ…
本人がほしがったからいっぱい宿題渡したんだろ、
同レベルの大量に渡してもしょうがないから少し先のテキストまで
教室こないんなら宿題だしてやったって一銭の得にもならんのに
出来なくて当たり前だけど、やる気があるなら自分で考える勉強になるからよかったら、
って意味ととるのが普通じゃないの?
その宿題の答えを他人が出してやってちゃ意味ないわ
基本が分からんのならそこまでの復習をすべきだろ
パソコン教室のあり方論ワロタwww
使命感を持った回答者達、乙
くだんない煽り乙
エクセルの使い方がわかりません。
708 :
名無しさん@そうだ選挙にいこう :2008/12/26(金) 20:22:20
答えたいやつが答えてりゃいいだけだろw なにそのボクの考え方ご披露パーティはwww やっぱり質問は全部俺宛てと思っちゃう病気の方ですかwwwwww
そういう病気の人ばっかりだしここ
周りに迷惑かけないし、別にいいんじゃねーの
なんか必死なのがわいてるな 次の質問マダー?
712 :
名無しさん@そうだ選挙にいこう :2008/12/26(金) 23:29:48
わ〜い、冬厨だらけで、いごごち最高〜
>>695 1問目)
まず、20時間以下なら時間に2000をかけるだけでいい。
20時間を超えたら、越えた分だけ1500円ということは、元の時間から20を引いてから1500をかける。
だから、20時間以下か越えているかをIFで判断して分ける。
=IF(A1<=20, A1*2000, 20*2000+(A1-20)*1500)
これなら理解できるかな?
まさかIFの使い方がわからないとか言わないよな?
>>693 それはIFを重ねるんだよ。
=IF(条件式1, 結果1, IF(条件式2, 結果2, 結果3 ))
条件というのは、90分と120分。
715 :
名無しさん@そうだ選挙にいこう :2008/12/26(金) 23:49:39
教えるのも冬厨だから、もうヘロヘロ
ホントもうヘロヘロですよ
(;゚д゚)ェ..
718 :
名無しさん@そうだ選挙にいこう :2008/12/27(土) 14:45:57
ExcelみたいにVBA的な機能がついてExcelよりもよりこういった数学に特化された ソフトを知りませんか?
どういった数学じゃゴルァ
暇な奴多すぎワロタ
ぼくの右手を知りませんか?行方不明になりました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel ver5 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】 slkをxlsに変えたり、 xlsをsikに変えたりしたいんですが、 sik⇔xlsな変換ソフトってフリーでありませんか?
>>722 Excelスレで唐突にslkだかsikだか言われても意味が分からんよ。
多分拡張子の事を言ってるんだろうが、どういうソフトなのかを詳しく書いてくれ。
名前を付けて保存の時にファイルの形式をSIKにしたら?
>>718 数学ソフト
でぐぐると良い
小数誤差もほとんどない
>>722 SYLKとは、表計算ソフトやデータベースソフトで扱うデータ形式のことである。
SYLKは、MicrosoftがExcelを発売する前に開発・発売していた表計算ソフトのMultiplanで導入された形式で、Windowsでの標準的な拡張子は.SLKである。
Excelはもちろん、他の表計算ソフトでもSYLK形式を使えるようになっていることが多く、
データ交換用途に使える。ASCIIコード(漢字はシフトJIS)だけで構成されるテキスト形式だが、
セル位置や、データが数字か文字かを示す情報などを記録しているので、少々冗長だが確実にデータを交換することが可能である。
ふむ。SLKの形式がCSVに相当するなら色んなフトてせ使えると思う
727 :
名無しさん@そうだ選挙にいこう :2008/12/27(土) 19:18:58
知らないなら答えなきゃいいのにwwwwであるwwwwww
いつも解説ご苦労さん たまには答えてもいいんだよ
>>718 「表」がなくていいなら maxima とか。
Rも楽しい。
730 :
名無しさん@そうだ選挙にいこう :2008/12/28(日) 23:38:38
エクセルデータにてシート上の - をすべて ― に 変換したいのですがうまい方法はないでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 OOo calc 3.0 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 countif + カウントされない OOo calcですが質問です COUNTIFで[]や+が入っている文字列がカウントされず0となります これらが入っている文字列を正しくカウントする方法はありますか? またExcelなら問題なくカウントされるのでしょうか?
↑ スレタイを500回くらい読んでみようw
OOoも使ってるのでcalcに付いても回答できるが スレ違いなのでExcelいついてのみ回答しよう > またExcelなら問題なくカウントされるのでしょうか? カウントされる
736 :
733 :2008/12/29(月) 13:57:08
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
739 :
名無しさん@そうだ選挙にいこう :2008/12/29(月) 21:01:17
if文で、現在午前か午後かで処理を変えたいのですが わからなくて困ってます。 if(now()>"12:00",処理1,処理2) とかでは駄目ですよね。 どなたか教えて頂けないでしょうか?
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【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に生徒名と教師名とマーク こんな感じが理想なのですが、お願いいたします。
>>740 =IF(MOD(A1,1)<0.5,"午前","午後")
=IF(MOD(A1,1)<"12:00"*1,"午前","午後")
=IF(MOD(A1,1)<VALUE("12:00"),"午前","午後")
743 :
740 :2008/12/30(火) 14:26:14
すまん、まつがった。 上の式のA1の部分はNOW()に変えれ。
>>740 「任意のセルの時刻値が」ではなく「現在時刻が」なら、VBA使わないとまずいのでは?
数式だと再計算されない限り、正午を回っても午前のままだぞ
>>741 「生徒:村田&教師:松岡&成績:5以下」の数を、「生徒:村田&教師:松岡」の数で割って
それを条件にIFで★なり☆なりを返せば良いだけだろ
確か2007なら複数条件でカウント出来る関数が加わったから
配列数式とか作業列とか使わずに簡単に処理できるはず
2007の複数条件でカウント出来る関数(COUNTIFSだったか?)は内部的には配列数式だから、配列数式でも同じ。
>>742 >>745 ありがとうございます。
>「任意のセルの時刻値が」ではなく「現在時刻が」なら、VBA使わないとまずいのでは?
あっ、そうなんですね。 では任意のセルに時刻値を取るようにしてみます。
ありがとうございました。
> 内部的には配列数式だから ハズレ > 配列数式でも同じ。 例え内部的には配列数式でも、Ctrl+Shift+Enterで確定するとか 論理演算が必要とかの制約が違うから同じとは言えない
Ctrl + Shift + Enterなんてたいした意味ない。 重さ調べりゃ分かる。 SUMPRODUCTみたいなもんだな。
配列数式だからどうのこうのっていう奴が一番バカ。 配列数式には大した意味はない。 配列計算をしているかどうかだ。 ただ、ほぼ確定なのは {=SUM(IF())}とSUMPRODUCTは同じ結果がでるが 処理スピードの速さは {=SUM(IF())}<SUMPRODUCT SUMIFSも同じ 配列計算を前提に作られている関数なんだから当然といえばとうぜんだな。
で、 今の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行目 あ い う というように変えることはできますか? よろしくお願いします。
754 :
名無しさん@そうだ選挙にいこう :2008/12/30(火) 23:51:15
新しいパソコン買ったが、EXCEL2007って糞だな。 2003と互換性も限られるし本当に糞!
A B 1 =$B$1 2 =$B$2 3 =$B$3 : : 10 =$B$10 みたいな感じで「絶対参照なんだけど1つずつ数字をずらす」ようにしたいのですが 簡単に入力する方法はないでしょうか? A1セルが=$B$1じゃなくて=$B1ならばそのままセル枠を下に引っ張れば =$B2 =$B3 と続いてくれるけど、数字にも$をつけてるので引っ張ってコピーしても当然数字が変わらない この例はセルに直接記入していますが、条件付き書式で同じようなことをしたいとも思っています。
>>752 形式を選択して貼り付け→行列を入れ換える
>>755 =$B1で引っぱってから「B」を「B$」に置換
>>755 数式なら
>>757 でいいが、条件付き書式ではVBA使うしか無い
まあ具体的に何がやりたいのかが解れば、他の解決方法が有るかも知れないが
>>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
>>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),))
762 :
761 :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)} のまちがいな。
>>759 マクロの記録使えば一瞬で終わるよ
ただ
>>755 は
=INDIRECT("$b$"&ROW())
で解決じゃねーの
ちなみに上記式だと$は合ってもなくてもいい
>>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使うやつは馬鹿。
式5はよくみたら*1は不要だな。余計な計算したら遅くなるのは当然か。 =SUM(INDEX((A1:A60000="A")*(B1:B60000=1),)) としたら 速い順に 式7 ぶっちぎり 式1と式2ほぼ同じ 式4と式5ほぼ同じ 式3 式6 だった。 式5が一番遅いわけではないが、無意味に長いから馬鹿には違いなし。
>>767 式2と式3はまったく同じって書いてあるじゃん!
式2より式3を推してるし。
>>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秒で変わらんからな。
>>768 >>764 と勘違いだすまんね。
>>769 読んでね。
やっぱ*で乗算する場合はSUMPRODUCTは推せないよ。
ちなみに上の分解能は精度の間違いね。
>>771 そんなのとうの昔に読んでるよ。
っていうか俺の知識とたいして変わらんからまるで俺が書いてるみたいだが、間違いもチラホラとあるから俺じゃない。w
SUMPRODUCTのくだりは間違い。
上に書いてるようにう使い方による。、
使い方によるって事くらい分かってるさ。
あと書かなくてもわかってるだろうが、
>>762 の式1と式2や式3の違いはスピード(たいした差じゃないが)だけじゃなく、C列が文字列のときなどだ。
あんまりいじめるなよ。 SUMPRODUCTやINDEX使いが怒るぞw
0/14(火) 23:06:32 ID:Iks1urwt _. --──── -- 、 / ` ー 、 / \ / / \ / / ________ ノ / ,′ イ ̄ `l | | /| | | | / ハ__________.ノ | ノ /_.イ / ノト、_」/ |/l/_.斗 \ 〕 . / l  ̄ 7|/| 」ィfて-カ` ィf リハ ! 「| / | ∧| ノ 弋zノ 辷ノ' ノ∨|/| . / | // | |、 , | | ノ . / // | | \ 人 ハ | / 厶-、| ト._个 、 ∠フ _. イ| \| / / / ̄ ヽ、 >- ≦ノ| | /´⌒ く\ . / __. イ / /⌒ヽ\ // | | しl⌒ヽ ∨ /  ̄ | { /⌒l\\/7 | | 〈⌒ヽ | ,′ l ヽ /⌒l \ / / / 〈⌒ ノ . { | >ー-く´ / / / /`ー'7
779 :
759 :2008/12/31(水) 14:21:52
>>763 > マクロの記録使えば一瞬で終わるよ
マクロの記録で、条件付き書式のダイアログを出して式の中身を直接編集する方法だとダメでした…
すみませんが記録中にどのような手順を踏めば良いのでしょうか…?
> ただ
>>755 は
> =INDIRECT("$b$"&ROW())
> で解決じゃねーの
> ちなみに上記式だと$は合ってもなくてもいい
おおっ!こういうやり方があるのですね。感動しました!
どうもありがとうございます。
関数の内部処理を解ってる奴が一人も居ないってのも以外だな
781 :
名無しさん@そうだ選挙にいこう :2008/12/31(水) 15:13:24
>>779 ああごめん、そっちじゃない
表を作るときのことね
条件付書式の設定のときとあわせて記録すれば全部一瞬で終わる希ガスる
sumproductだとかindexだとか配列だとか。 たかが集計にそんな低級機能を使いこなさないといけないの? あげくに関数の内部処理がどうとかあほらし。Excelマニアになっても仕方ないんたぞ。
というわけで
>>782 が高級機能を駆使した解決策を提示してくれます
出た!
>>782 はきっとピボット厨だなw
俺もピボット嫌いじゃないけどな。
SUMPRODUCTやDQNな配列数式はしょっちゅう見ててうんざり。
>>755 は=INDEX(B:B,ROW())じゃないのか?
条件付き書式に使うなら揮発性でも問題ないけどな。
、 .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“'ー .゙‐'| ,,-"
,-, (⌒ 二) ~`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 □(チェックボックス)…表示
今年の運勢 大凶 大凶 大凶 |llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll|llll| ○ ● □ ■ ☆ ★ ? ┣¨ ! ?
>>789 ワークシートのChangeイベントで、該当セルの値を条件に処理すれば良し
>>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ってところにコピペするといいわ
【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 即回答ありがとうございます!
できました〜。
>>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 こういう場合ピボットではどういう風に作るのか教えてもらえませんか?
色々試行錯誤したけどどんどん肥大化していくだけで目的のデータになりません・・
excelなんてピボットテーブルとvlookupだけ覚えたらいいんだよ。 sumifとかindexとかは使うとバカになる関数。
sumifは便利だぞ
多くのSUMIFの式を使うやつは馬鹿だが、1個の式なら無問題。 INDEXも見た目を配列数式じゃなくするなどという変な使い方しなきゃ無問題。
むしろvlookup使いに馬鹿が多い。
vlookupは覚えるとすげー上達した気になれたな 確かにあの頃はバカだった
ほげ.xlsのシート名「シート」のA1に「あ」という文字が入っていたとします。 同じパスにある、ひげ.xlsのあるシートのB1に「ほげ.xls」という文字が入っていたとして、 別のセルC1から、=[B1]シート!A1 のような感じで、開いていない ほげ.xlsのセルを読み込むことはできるでしょうか。
>>803 関数では無理
VBAで一旦ファイルを開き、更新してから閉じるしかない
>803、804 VBAでC1セルの計算式を生成するようにしたらダメですか? ブック「ひげ.xls」を開いたときに実行されるマクロに Range("C1").formula = "=[" & Range("B1").Value & "]Sheet1!A1" のような式を入れておくといいような気がします。 マクロが終わると再計算が働くので、いいと思うんですが。 これなら参照元ファイル(ほげ.xls)は開かずに内容を読み込めます。 B1セルに入れたブックが存在しない(シート名も一致する必要有り)と 計算式のエラーになりますが。
806 :
名無しさん@そうだ選挙にいこう :2009/01/02(金) 01:21:23
>>798 こういう人はアクセス使えばいいんじゃね
【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の合計金額を出したいのです。
みなさま教えてください。よろしくお願いいたします。
すみません,すこし聞きたいのですが センチ単位で表示された数値をミリ単位で変換するにはどうしたらいいのですか? 0.2→2などにしたいのですが,普通に変えるとグラフまで変わってしまいます お願いします
>>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"
とか?
これでグラフを作ると何故か数詞軸の書式設定まで変わってしまうので、
数値を右クリック→軸の書式設定で「数値」辺りに変更
寝よう・・
809です
>>808 返事ありがとうございます
"書式設定で0"0" "がよくわかりません。
いろいろなサイトで単位を千や万にして単位を大きくする方法が載っていますが
逆に単位を小さくする方法はあるのでしょうか?
>>811 素直に作業列作って*10するのがいいと思う
グラフの単位は何にしたいんだ
813 :
名無しさん@そうだ選挙にいこう :2009/01/03(土) 21:22:07
【1 OSの種類 .】 WindowsXPSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 出先で検索出来ないです。 携帯からですいません セルA1に条件付き書式で、セルB1の数値が1以上なら色を赤に変えたいのですがどうしたらいいのでしょうか? どなたかご教授お願いします。
>>813 条件付書式で
「数式が」「B1>=1」
815 :
812 :2009/01/04(日) 08:47:24
816 :
808 :2009/01/04(日) 13:39:48
>>810 ありがとうございます。
おかげでできました。
817 :
名無しさん@そうだ選挙にいこう :2009/01/04(日) 14:58:59
チンチンぶらぶらソーセージ キンタマゆらゆら風鈴りん _,........,_ _,........,_ , ´,.-== ,ヽ , ´,.-== ,ヽ i (ノノλノ)リ i (ノノλノ)リ ルイ) ゚ ヮ゚ノ) ルイ) ゚ ヮ゚ノ) ⊂、 ,つ 彡 ミ ⊂、 ,つ | \ / ノ くく゚U゚\\ //゚U゚>> (ノ (ノ (ノ \) ウンコがもーりもり _,........,_ _,........,_ , ´,.-== ,ヽ , ´,.-== ,ヽ i (ノノλノ)リ∩ シッコがじょーろじょろ i (ノノλノ)リ ルイ) ゚ ヮ゚ノ)ノノ ルイ) ゚ ヮ゚ノ∩ / つ ,へ| |ノ ( /っ・゚・。 しヘ_ノノ・ ||>> ゚。 (( 人 ノノ\) ・ (ノ (:::::::) \)
>>817 Sub test()
res817.clearcontents
End Sub
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 =SUM(A3+B2)の数式のAとBの次の数字を+1ずつ自動に入力する方法ってありますか? Bの列に無限にいれたいのですが…
いろいろ間違ってるなw
822 :
820 :2009/01/05(月) 17:34:07
>>821 はい自分でも良くわからん質問だと思います
ようはA列に入力した数字と一段上にあるB列の数字を足してAを入力した段のB列に反映させたいのです
ダメだ日本語がへただな…
実例を挙げろバカモンがぁwww
>>822 それなら
=A3+B2
だけで十分だと思うが・・・
ところでオートフィルって知ってるか?
オートフィルタではないぞ
>>822 =A3+B2
をB3に入れて、B列にオートフィルしたらできないの?
リロードしてなくて
>>824 に気づかなかったorz
>>823 A B
1 100
2 100 200
3 200 400
というようにA列に入力した数字を反映させるよう
無限ループにしたいんです(数字に規則性はありません)
>>824 わかりません…
>>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)の部分がダメみたいなのですが、どう書いたらいいでしょうか?
>>831 試さずに適当にレスしてみる
Workbooks(Filename).Activate
MsgBox ActiveWorkbook.Charts.Count
>>831 Dim Filename As String
Filename = Application.GetOpenFilename("エクセルファイル (*.xls), *.xls", , "ファイルの選択", , False)
Set bk = Workbooks.Open(Filename)
MsgBox bk.Charts.Count
>>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
宜しくお願いします 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をクリックする方法がありますか?
>>837 たぶんSheeet3はSheet3の間違いだろう
>>837 最後のカッコはいらない
Application.Run bookName & "!CommandButton2_Click"
840 :
837 :2009/01/06(火) 00:54:30
>>838 ご指摘ありがとうございます
>>839 試してみましたが マクロが見つかりませんエラー になります、どこが悪いんでしょうか?
>>840 ファイル名はシングルクォートでくくる必要がある
Application.Run "'" & bookName & "'!CommandButton2_Click"
842 :
837 :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が返ってくという感じです 何か良い関数や方法無いでしょうか?
>>843 AB列にその表、C1に検索値として
=OFFSET(INDIRECT("a"&MATCH(C1,A:A)),2,1)
でいけるけどもう少し短く出来そう
>>843 C列を二段ずらして普通にVLOOKUPとか
>>843 =LOOKUP(19811005,A1:A100,B3:B102)
>>848 オイオイ
>>843 =INDEX(B:B,MATCH(19811005,A:A,0)+2)
INDEXの範囲を3列目からにすれば、+2する必要は無い
852 :
名無しさん@そうだ選挙にいこう :2009/01/08(木) 01:05:46
ご相談です。 これまでWindows2000の入ったPCでExcel2002を使用していたのですが WindowsXPの入った新しいPCに買換え、同じExcel2002をインストールし、使用しております。 しかし、新しいPCのほうが遥かにスペックは高いのにExcelが非常に遅くなりました。 具体的には、Excelは表計算ではなく、文書の作成に使用しているのですが、 セル内の編集が非常に重くなって、メモ帳にいったん書いてそれをコピー&ペースト しないと使えないくらい反応が遅いです。 こういう場合は、最新のExcelに買い換えたほうが良いのでしょうか?
853 :
名無しさん@そうだ選挙にいこう :2009/01/08(木) 01:38:14
エクセルをワードに貼り付けたとき、 ワードで設定された行と異なる幅で改行されるのですが、 それを直す方法ありませんか?
>>853 ない
可能性があるとすればVBA。ただし具体的な方法はわからん。
エクセルについての質問よろしくお願いします。 印刷すると、印刷紙の余白がすごく余ってしまいます。 非常にもったいないし、文字など小さくて不便です。 A4用紙いっぱいいっぱいに印刷する方法はないでしょうか?
858 :
名無しさん@そうだ選挙にいこう :2009/01/08(木) 05:47:25
>>854 レスありがとうございます。
巨大なサイズのフォントが入っていました。
どうやら韓国語のものらしいのですが、なぜか削除できませんでした・・・
思い切って、OpenOfficeというものを試しに入れてみましたが、
こちらのほうは十分動作が早いです。
当面こちらを使ってみようと思います。
ありがとうございました。
860 :
名無しさん@そうだ選挙にいこう :2009/01/08(木) 10:41:33
【1 OSの種類 .】 Windows xp sp2 【2 Excelのバージョン 】 Excel 2003 【5 検索キーワード 】 EXCEL 重い ネットワーク 社内で部署移動が有り、別のビルに引っ越したところ、 ネットワークにつなぐと、10秒くらいおきに5秒ほど固まるようになってしまいました。 LANを抜くと、治ります。新規のファイルでもなりますし、ウイルスバスターを終了してもダメでした。 また、他のアプリは問題ありません。 なのか心当たりのある方いらっしゃいますか?
>>860 ネットワークドライブを参照するマクロかアドインが入ってない?
865 :
名無しさん@そうだ選挙にいこう :2009/01/08(木) 12:51:35
回答ありがとうございます。
>>861 前のビルのプライベートアドレスに定期的にアクセスしてるようですが、何ものかわかりませんでした。
紹介していただいたサイトのようにプリンタの問題もなさそうです。
>>863 オフィスを再インストールしてるので、余計なものは入ってません。
こまりもうしたorz
>>865 ネットワークの設定がおかしいだけじゃないの?
引っ越ししたならドメインとかも変わってるはずだし。
俺のエスパーではExcelは無関係。Windows板で聞け。
テンプレートの作成について質問です。 知人から、毎日データをメールに添付して送らないといけなくなったので テンプレートの作成を頼まれました。 私はExcelを持っていないし、ほとんど使ったことがないので、簡単なことですが 教えてください。 1.テンプレートでセルに今日の日付を初期値として自動設定したいのですが、 マクロを使わずにできますか? 2.初期値の設定にマクロが必要な場合、ブックの保存時にはマクロを 削除したいのですが、テンプレートの設定だけで可能でしょうか? メールで送るファイルにマクロを入れたくないので、保存するファイルには マクロが含まれない状態にしたいと思っています。 使用するOfficeのバージョンは、2007だと思います。
868 :
860 :2009/01/08(木) 13:59:46
原因が判明しました。 誰かが自作したツールバーのボタンが、前ビルのマクロを参照してたみたいです。 マクロのエディターには、アクセスできないので表示されてませんでした。 おさわがせさました。 一度アンインストールしたのにのこるんですね…
>>864 一発でA4用紙のサイズに合わせたいんです
>>869 意味わかんね。
つーか、質問間違えてるだろ?
「余白をなくす」じゃなくて「1枚に収める」だろ?
もしそうなら心から謝罪しなきゃやりかたを教えない。
>>869 Excelの仕様で一発で合わせるのは難しいし環境にも依存することなので簡単には回答できない
>>867 1.その日付が、日付が変わって日とともにいいなら、
できる。 だめなら、値で貼り付け。
2.なをだめなら、マクロ。 でもマクロ削除するくらいなら、
1.の方が簡単。
>>867 マクロで組むとして何故作ろうとしているブックにマクロが入ると思ってるのか分からんな
どういう動作をするマクロを組めばいいのか分かってないのか?
1.マクロが入ってるブックを開く
2.マクロが新しくブックを作る
3.マクロが入ってるブックを閉じる
こんな感じの流れになるはず
テンプレートだけでやる案として
日付を入れるセルが1つだけなら
テンプレートを保存する前にそのセルを選択した状態にしておく
テンプレートから作成する時(開いた直後)にCtrl+"+"(当日の日付を入力するショートカット)
でいいんじゃないかな?
説明が分かりづらいかも知れんな・・・
つーか、本人に直接書かせろよ
ショートカットのキー間違えてるな orz 正しくはCtrl+";"
excel2003で、飲食店の売り上げ分析等を行いたいのですが、 おすすめの本とか有りますか? できましたら、ピボットから回帰分析等まで、詳しく説明されている本が良いです。 宜しくお願いいたします。
>>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に 数式 単価*個数 をそのまま表示させたい場合は どうすればよいでしょうか? よろしくお願いします。
>>879 その”単価” ”個数"は、変数、文字列?
変数の場合、単価、個数は、どこに入力されている?
計算をさせ、且つ ”=単価*個数”と表示させたいの?
意味不明な点が多いです。
881 :
名無しさん@そうだ選挙にいこう :2009/01/09(金) 14:15:29
FV関数について質問です。 預け入れる期日が決まっている場合でも、支払期日を1と入力すればいいんですか? セルは特に参照しなくていいのでしょうか?
>>879 表の作り方がおかしい
そういう時はB列に単価、C列に個数を入れて、A列に=B1*C1って数式を入れるんだよ。
そして見た目を数式っぽくしたいならB列の書式を "="0 、C列を "*"0 みたいにする。
記号の位置を縦にまっすぐになるようそろえたいなら記号だけの列を作るという手もある。
>>879 A1=B1*D1
B1=単価
C1=*(もしくは×)
D1=個数
じゃだめなのか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 不明 下の式を満足できるような、"ある関数"はありますでしょうか? "ある関数"とはその日のひにちだけが返されるような関数です A1=1/"ある関数" 例えば今日は9日ですから A1=1/9 15日であれば A1=1/15 の結果が表示されるようにしたいのです よろしくお願いします
>>884 "ある関数"の入力値が「その日の日付」でいいなら
="1/"&TEXT(NOW(),"d")
ああ、言い方が悪かったかもしれません A1=1/9 つまりA1セルに0.1111・・・・の値が欲しいのです A1=1/15 つまりA1セルに0.0666・・・・の値が欲しいのです お願いします
自己解決しました
>>885 さんのをちょっといじって
=1/TEXT(NOW(),"d")
でいけますね
ありがとうございました
>>887 それなら
=1/day(now())
の方が自然なやり方だと思う。
完全なスレ違いかも知れませんが、ネットで調べても解らず最後の手段でここで質問させいて頂きます。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセルシート 接続エラー 株価取得『エクセルシート』Ver 2.14を使いたいと、ベクターからDLしましたが 「マクロ」と言うのでしょうか、(インターネットで)株価取得をしようとしても、「接続エラー」と出てしまいます。 もちろんマクロは有効にしています。 原因がわかる方がいましたらよろしくお願いします。
>>889 最初にやるべきことは、その「株価取得エクセルシート」の制作者に問い合わせることだな。
マクロ内のパスでもいじる必要があるんじゃね?
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で、膨大な見積書の行をサクサクコピペしていくような方法はありませんか?
サクサクコピペするんじゃなくて 全部一括でコピペしたあとで必要な部分を抜き出すんだと思うよ あとは元のデータがどんなふうになってるかわかんないとどうしようも
>>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づつ足すことしかできません。 むしろエクセルでこんな計算できるのかも疑問です… できるなら方法を教えて頂けると、本当に嬉しいです。 おねがいします。
=A1+1/n のnをセル参照にするだけ
=A1+1/ROW(A2)
>>896 ありがとうございます。
セル参照というのは、どうやって指定すればいいのでしょうか…?
循環参照というがでてきたのですが、青い矢印が出てくるだけで
変わりません。
>>897 ありがとうございます。
入れてみたのですが0になってしまいました。
基本知識が欠けているので、ちんぷんかんぷんな事を言ってたら
ごめんなさい。
>>895 A1に「1」と入れる。
A2に「=A1+1/ROW()」と入れる。
A2をコピーしてA3以降、好きなところまで貼り付ける。
>>899 できました!!!!
丁寧に有難うございました。
本当に助かりました。
そこまで説明しないとわからないとは…
【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)
【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))}では 一応合計は求まるのですが、範囲を列全体にはできないですよね? データは下に増えていくので、できれば列全体を参照したいのですが… 将来的には「ある日付の、ある出荷先の、ある品物の値段合計」なども 求めたいと思っています。 どうかアドバイスをお願いします
列全体にできるんじゃないの? できなくても範囲を余分に広く取っておけばいいだけ
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))
907 :
903 :2009/01/11(日) 13:05:17
908 :
名無しさん@そうだ選挙にいこう :2009/01/11(日) 13:17:12
いいからピボット覚えろ
あらかじめ1年分の範囲を指定すればいい 足りなくなっても範囲の中で行を挿入すればいいんだし
クロス集計案件でピポッド使わないならExcel使う意味ないじゃんw どんだけ自分のハコニワから動きたくないんだよw
Excelで解決したい問題は大半がクロス集計の構造を持っている。 まずはピボットテーブルを覚えるといい。COUNTIFやSUMIFを覚えるのはもっと後だ。どうせこんなの役に立たないんだから。
1行目はイラネ
913 :
名無しさん@そうだ選挙にいこう :2009/01/11(日) 14:07:40
>>903 一年間も使うくせに=SUMPRODUCT()とか{=SUM(IF())}
とか使うなよ。
そんなもん途中で重くて使い物にならねーよ!
ピボット使え!
914 :
913 :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]で簡単に集計できるよ
みなさんありがとうございました 行を挿入したり、一番下まで範囲指定したり、 多分一人でやってたら全然気がつかなかったです… ピボットテーブルも、調べてみたらとても便利そうですね 想像力も知識も欠如してるので、も少し勉強してみます とても参考になりました
>>915 SUMIFやCOUNTIF使うのとたいして変わらんよ。
品物ごと出荷先ごとの集計をする関数を一生懸命書いたとするだろ?
その後、品物が10種類、出荷先が10ヶ所増えたとしてみろ。
関数を100個追加しないといけないんだぞ。
集計表のレイアウトも全部作り直しだ。
こんな関数実務で使ってられるか。
>>918 では最適な解答を
どうせ無理でしょうけど
920 :
902 :2009/01/11(日) 16:08:51
>>906 ありがとうございます。
これでできました。
式も理解できました。
ただR1C1形式に慣れていないこともありますが、
一見してどのセルを参照しているのかがわかりにくく
後で表を加工したとき等に集計ミスが起こることかもしれないので、
集計対象の表と同形式の表を別途用意し、
素直にオートフィルでコピーする予定です。
わざわざ考えていただいたのに
大変申し訳ありません。
921 :
918 :2009/01/11(日) 16:40:24
>>919 うん、無理。
質問の意味もわからないほど文盲なので。
それでも汚い式だという事はわかる。
それって「わかる」じゃなくて「思う」じゃね?
923 :
名無しさん@そうだ選挙にいこう :2009/01/11(日) 18:02:42
商品名 数値A 数値B KUHG 1.05 20.51 ↓ ↓ ↓ というデータ表から数値Aと数値Bの一定の条件を満たす場合に 商品名をセルに表示するという場合どういう関数使えばいいでしょうか? 教えてくださいよろしくお願いします
おれだったら作業列とVLOOKUPをつかう
925 :
名無しさん@そうだ選挙にいこう :2009/01/11(日) 18:33:38
具体例ですが数値Aが2以上かつ数値Bは20以下なら 商品名を任意のセルに表示するということが作業列とVLOOKUP関数で可能でしょうか?
条件によって引いてくる商品名が複数ある場合はVLOOKUPじゃ無理 作業列にフラグを立ててフィルタをかけるなりピボットテーブルで抽出するなりかな
>>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に商品名が表示されるということですね
自分のしたかったことです ありがとうございます さっそく実践してみます
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"月"でお願いします。) いろいろ調べたけどうまくいきません。 よろしくお願いします。
>>930 =EDATE(A1,-1)
表示形式でmm"月"
【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は使えません。
構文を教えてください。
>>933 Range("B1") = Format(DateAdd("m", -1, Range("A1")), "mm月")
936 :
名無しさん@そうだ選挙にいこう :2009/01/11(日) 21:41:00
>>934 ありがとうございました。
ちょっとがんばってみます。
937 :
932 :2009/01/11(日) 23:38:41
>>935 えと…どのような手順になるのでしょう?
エクセルを触ったのは今日が初めてなので、
バカみたいな質問をしていたらごめんなさい。。
B4(光熱費)の部分に='1月'!B41
C4(通信費)の部分に='1月'!C41
D4(交際費)の部分に='1月'!D41
といった具合に全部同じ数式を横一列にコピペではなく、
「'1月'!●41」の●の部分が上部のアルファベットに対応して一つずつ変わっていく入力をしたいのです。。
Dなら'1月'!D41
Eなら'1月'!E41といった具合に。。
ひとつひとつの枠に手作業で入力するしか方法がないのでせうか…?
>>937 (1) B4に「='1月'!B41」と入れる
(2) B4をコピー
(3) C4〜X4をドラッグしてまとめて選択する
(4) 貼り付け
エクセルでは単純にコピペするだけでセル番号を示すアルファベットや数字が自動的にずれていくのよ。
>>937 オートフィル
でぐぐれ
使えば分かるがかなり基本的な操作だぜ
高久って入れてる奴の顔が気持ち良さそうすぎて
>>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 工藤
マルチイクナイ
>>942 クラスと番号を結合してキーをつくればいいだけ
945 :
名無しさん@そうだ選挙にいこう :2009/01/12(月) 18:18:45
946 :
名無しさん@そうだ選挙にいこう :2009/01/12(月) 18:31:23
■■■■■■■■■■■■これを別の掲示板に ■ ■コピーして書き込むと ■ ■メッセージが出でくる ■ ■不思議な書き込みです ■ ■ ■ n ■ ■ ■ ■ ■ ■■■■■■■■■■■■
【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年間です。どのようにしたら良いでしょうか? 教えてくださいよろしくお願いします
■■■■■■■■■■■■これを別の掲示板に ■ ■コピーして書き込むと ■ ||||ii;,. ■メッセージが出でくる ■ !||!i;:,,. ■不思議な書き込みです ■ .,||!!|x.. ___ . ■ ■ ~^!! ^ ^"i; ■ ■ X ,;|! x;_ ..■ ■ ~^ ^^ ■ ■■■■■■■■■■■■
>949 つmonth つday
>>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)
なんで作業列つかわないのw つくった本人でもメンテナンスむずかしいだろww
ごめん。ちょっと無駄が多すぎたね。少しだけ最適化してみた。 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)
>>953 表の作り方を説明するのがめんどくさいし俺が使うんじゃないし
何で間違った計算してるの? 質問者はそのまま使っちゃうだろw
>>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)
ああ、まだダメだ…
こ、こんどこそ… =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) 誰か頭のいい人、もっと簡単な式を考えてくれ。
>>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
一方では論理式の結果をそのまま加算する式にしてるのに もう一方では論理式の結果を条件に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 というふうに、表示されるようにしたいのですが どのような式にすれば良いのでしょうか? よろしくお願いします。
>966 つArray
>966 失礼!chooseのがいいかな。
>966 最初に教えるべきは素直に IF だな・・・orz
>>966 IF(A1>=20,1,IF(A1>=15,2,IF(A1>=10,3,4)))
あ、空欄と無効文字列対策してないや。必要だったら最後のほう手直しして
>>966 うーん・・ちょっと面白い数式を考え付いた
A2に数字が入ってるとして
=ROUNDUP(A2/-5+5,0)
ただこれは5<=A2<=25
の範囲でしか使えないのが残念。範囲外はifで分ければいいんだけどさー
何か閃きそうなんだよなあ
どこが面白いの?
ifでガチの
>>970 よりは面白いが実用性が無いな
たぶん
>>970 より短い式はないと思う。
>>972 その式が使用できる範囲は5<=A1<25。25以下じゃなくて25未満。
範囲外を判別するにはこういう方法もある。=SIGN(INT((A1-5)/20))+2
分類するのが1〜4までじゃなくて5パターン以上ならROUNDUPとか使った方が短くなるんだけどね。
977 :
966 :2009/01/14(水) 01:30:15
みなさん、ありがとうございます! 970のif関数を使わせてもらうことにします。 とても助かりました。
無駄にわかりにくい数式を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)
IFが1つ =IF((5<A1)*(A1<25),ROUNDUP(5-A1/5,0),2.5-1.5*SIGN(A1-9))
【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=・・・ と、一定回数連続で入力していく方法を教えていただけないでしょうか。
983 :
981 :2009/01/14(水) 09:32:46
>>982 大体200程度で。
自動手動両方できれば。
>>966 >>696 の数式を少しいじれば使える
>>981 連続で入力って・・・変化するのはB列だけのように見えるな
16進と10進の変換方法が聞きたいんじゃないのか?
ヘルプで「16進」調べれば出てくるよ
だよな 10進であれば、厨房でもわかる内容 単に16進の扱い方が解らないだけのように見える
>>983 200回ぐらいならオートフィルでいいんじゃないか。
>>981 一回こっきりの作業なのか、
継続的な作業かで、対応は違う。
何で降り順なのにMATCHが出てこないのかと....。
>>970 MATCHの照合の型-1の方が短くなるだろ?
=MATCH(A1,{150,19,14,9},-1)
150歳以上生きる人いたらエラーだが、そんときゃ200とでもすりゃいい。
992 :
981 :2009/01/14(水) 12:35:38
お騒がせしました。 無事解決しました。 一応16進数と10進数は理解してます。 すみませんでした。
>>989 この数字が年齢だとはどこにも書いてないじゃん
だからとりあえず質問にある条件を数学的に解釈したんだけど
上限も下限もないし、マイナスでも小数でも書いてあるとおりの条件で処理するようになってる
じゃあ俺は =1+(A1<20)+(A1<15)+(A1<10)
ナルホド
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を使って除去しましたが、関数だとやり方が思いつきません。
見難いですが、セパレータはコロンです。
よろしくお願いします。
>>997 先頭と末尾にもコロンを付ける(式内で付加すれば、実際のセルの内容として付加しなくても良い)
@yahoo.co.jpの位置を返す
その位置から左方向の最初のコロンと右方向の最初のコロンの位置を返す
2文字目から左コロンの前までと、右コロンから末尾の1文字前までを結合する
以上
アドレスの数が3つと決まってるなら、SplitとInstrを使うのと同じ様な処理方法も使える
あとは文字列関数のヘルプでも読んで自分でがんばれ
999 :
名無しさん@そうだ選挙にいこう :2009/01/14(水) 22:42:02
>>997 編集/置換で
置換え後の文字を未入力にする
関数?そんなの関係ねぇ
1000 :
名無しさん@そうだ選挙にいこう :2009/01/14(水) 22:45:13
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。