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総合相談所 67
http://pc11.2ch.net/test/read.cgi/bsoft/1207792832/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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で出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
________________________________
||
|| ━ 質問のしかた ━
||
|| ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
|| ★2 要望は具体例や図を使って明確かつ具体的にしる。
|| ★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
|| ★4 質問テンプレ(雛形)は必須ではないが、
|| OSやExcelのバージョン、VBAの可否などは必須情報。
||
|| ∧ ∧ 。
|| ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| ________________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ は〜〜〜〜い /
∧ ∧ ∧,,∧ ∧ ∧
( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
次スレ立ってなかったから立てようと思ったらw
>>1 乙
10 :
名無しさん@そうだ選挙にいこう :2008/05/07(水) 23:56:27
【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 こんなの↓(A列とB列。100行程度) 4/12 | 山田 4/20 | 佐藤 4/8 | 鈴木 4/21 | 佐藤 4/7 | 山田 4/25 | 佐藤 4/8 | 佐藤 から、こんなの↓(C列とD列) 山田 | 4/7,4/12 佐藤 | 4/8,4/20,4/21,4/25 鈴木 | 4/8 を作りたいのですけ、どどうすればいいでしょう? D列に関数を入れておいて、C列に「山田」と 入れると「4/7,4/12」が出てきてほしい。 「4/12,4/7」になっちゃってもいいです。 D列に出てくる日付の数は、無制限だと嬉しいけど、 10個もあれば実用上問題ないです。
【1 OSの種類 .】 Windows*XP Home
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 excel 軸ラベル 表示されない
ttp://support.microsoft.com/kb/870698/ja グラフのy軸の軸ラベルの末尾が切れて表示されます
文字が長すぎると思い、全角3文字にしても切れたままでした
上記のリンク先の通り、解像度を4:3のものにしても改善されません
(使用しているノートのディスプレイの本来の解像度は16:10です)
考えられる改善策を教えていただけませんか?
>>10 名前でソートする方が実用的だと思うけどな。
>>11 グラフを移動させてみるか、軸の書式設定を変えてみるか・・
14 :
10 :2008/05/08(木) 07:57:23
>>12 今は名前でソートしたあとメモ帳にコピペして
指定の書き方に直してる。
たまに間違えて怒られちゃうの。
>>14 普通の機能だけだと完全自動化は難しいと思う。
ピボットで名前×日付の集計表に直してから、IFとか&とかで整形する方法くらしか思いつかない。
こういうのやりたかったらVBAが向いてるんじゃないかな。
16 :
15 :2008/05/08(木) 08:29:22
ちなみにピボットテーブルでやる方法 1.名前×日付の集計表に直す。 2.集計表の右隣にIF関数で「集計値がある時は日付,ないときは""」として集計表と同じサイズの表を作る。 3.新しく作った表を&でつないでできあがり。
集計をピボットでやってから文字列の連結をVBAで関数作ってやるのが一番手間が少ない。 適材適所で組み合わせて省力化することを考えないから厨って言われちゃうんだよ。
>>15 どこぞのDQNどもは数式でやっちゃうかも。
ひどいのになると配列数式でやるからね。
へー
配列数式を書けないようなDQNは配列数式が書ける奴のことをDQNとか
言っちゃうんだw
何でもかんでも配列数式で片付ける奴もアレだが、VBA回答否の
質問者にとってVBA以外の回答を出せない奴ほど役に立たない奴はいない。
分からなきゃ黙ってろw
それとこの反論は
>>8 で受け付けるぜ!
配列数式ぐらい書けるやつゾロゾロいるだろ? みんな馬鹿らしいから書かないだけ。 特にSMALLとROWを使った式なんて超恥ずかしいもんね。
>>20 配列数式での解答を書けばいいじゃない。他人が何を言おうと自信もてばいいよ。
私は普段ピボットテーブルがいいぞと主張しているんだけど、それはもうすごい叩かれかたですよ。
ちなみに今回は
>>12 >>15 >>16 を書きました。
>>22 あれは覚えたてのやつが面白くて仕方がなくて書くだけだろ?
分かってるやつは馬鹿らしいから普通書かないよ。
普通はある程度で卒業するものなんだが、中には死ぬまでやめないやつもいる。
サルがナニを覚えると死ぬまでやめないとか言うからなぁ。
もっとカジュアルに使えばいいのに そんな大層な物でもあるまいしアホくさ
前スレ966ありがとうございました
間違えた前スレ969でした
29 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 15:26:37
以下のように、 A列=日付、B列以降にデータが入っています。 A B C 2000/1/1 ********** 2000/1/2 ******** 2000/1/2 ********** 2000/1/3 *** 2000/1/3 ***** 2000/1/4 ********* 2000/1/4 ******* 今日が1/4とするならば、 2000/1/4 ********* 2000/1/4 ******* のように オートフィルタでA列の今日の日付を選択抽出するVBAコードを 教えて頂けないでしょうか?
>>21 確かにぞろぞろいるね。
でも、君は書けないんでしょ?
書けない香具師は黙っとけ
>>30 かわいそうな人だねまったく。
書こうと思えば書けるから馬鹿にしてんのよ。
でもプライドがある人はあぁいう不細工な式は書かないよ。
お前はプライドなさそうだから書けば?
>>30 ピボットテーブルは誰でも簡単に使えるのが魅力です。そんな私は配列数式には魅力を感じません。
配列数式でなければ実現できないことがあれば別ですが。
>>32 不細工な式ってどういう式よ。
配列数式を縦に横にフィルコピーか?
だとしたら、そんなことするやつは終わってるわな。
>>31 が言わんとするように簡単がいちばんだから、まともな人はまずソートするね。
言っとくけどピボットもソート使ってるから。
もちろんdictionaryが使える人はそれでもよいが。
35 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 19:38:07
>32のブライドってのは自分に能力が足りないから書かないって事かwww
またやってるw 前スレで配列数式とSUMPRODUCTが好きなやつはほとんどドキュソだって書いたんだが。
>>34 >言っとくけどピボットもソート使ってるから。
それで何が言いたい?
38 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 19:53:07
俺以外は全員馬鹿
39 :
34 :2008/05/08(木) 19:54:46
>>37 ピボットもまともな方法の一つということ。
>>39 実際、
>>10 のやろうとしてることはあまり良いことではないね。
横方向に並べるのはいろんな不都合がある。
名前でソートした時点で必要な情報は得られているんだからそれでよしとすべし。
41 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 20:13:16
俺にできないから我慢しろ
42 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 20:14:17
我慢するべき 我慢できない奴は頭がおかしい
配列数式を入力する時にCtrl+Shift+Enterと同時に3つのキーを押さないといけないのは 手が不自由な人に対する差別じゃね?指が2本しか無い人は押せなくね?
配列数式って覚えようと思ったけど作業列で代用できることに気づいて途中から勉強してない
>>41 >>42 まあまあ茶化すなって。
横方向に伸びるレポートは実際に困ることが多いんだよ。
明細は縦に並べるスタイルに早く慣れたほうがいい。
>>10 にとっても
>>10 の上司にとっても。
48 :
34 :2008/05/08(木) 20:28:20
>>29 Sub Macro2()
Columns("A:A").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=Date, Operator:=xlAnd
End Sub
マクロの記録そのままだけど
51 :
29 :2008/05/08(木) 20:49:00
52 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 22:04:57
質問です。xp 2003 c列始まりでの、n行(n=3,4,5)列毎に24個の平均値を出す方法を教えてください。 n=3の例 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,bu列
53 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 22:10:37
すみません。条件を書き漏らしですので追加。 個別列指定をしない方法で。
54 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 22:13:18
もとい! すいません。 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,buという 個別列指定をしないでという意味です。
>52 =IF(MOD(COLUMN()-3・・・
>>52 INDEX関数を使えばできる。
ところでなんでそんな変わったことやりたいの?
57 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 22:34:25
質問の仕方かまずかったので再設定しますです。xp 2003 c列始まりでの、n行(n=3,4,5)列毎に24個の平均値を出す方法を教えてください。 n=3の例 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,bu列 c,f,i,l,o,r,u,x,aa,ad,ag,aj,am,ap,as,av,ay,bb,be,bh,bk,bn,bq,buという 個別列指定をしないで、また、average関数を使うという与件で よろしく、お願いします。
58 :
57 :2008/05/08(木) 22:36:04
>>55 だけじゃわからんだろw
>>52 1行目に数字が入ってるとして
A2に=IF(MOD(COLUMN(),$A$3)=0,A1,"")
これを右にオートフィルして、後はA3にn行列を示す3か4か5いれて
B3に=if(A3=3,SUM(A2:BU2)/24,"")
B4に=if(A3=4,SUM(A2:CS2)/24,"")
B5に=if(A3=5,SUM(A2:DQ2)/24,"")
でもいれておけばok
61 :
59 :2008/05/08(木) 22:41:55
作り方は汚いが用途限定ならこんなもんだろ と思ったらaverage使うのかよ =if(A3=3,average(A2:BU2),"")とでもするといいよ
>>58 移動平均はそんな計算じゃないでしょ?
移動平均で検索してみた?
63 :
57 :2008/05/08(木) 22:53:37
これまで、結構、調べてきたつもり。で、 57の設問となった次第です。
>>63 もう一度調べておいで。
あ、報告はいらないからね。
>>63 例えばどんな本やサイトを参考にしましたか。
そこでは移動平均はどんなふうに説明されてました?
66 :
57 :2008/05/08(木) 23:13:48
どうも、移動平均を書くと話がおかしくなるようなので、57の設問での回答が 可能であれば、お願いします。
×移動平均を書くと話がおかしくなる ○57がおかしい
>>66 自分のオリジナルな指標を計算したんだな。
それならそう言えばいいんだよ。
要はセルを数字で指定できればいいんでしょ。
INDEXという関数を調べてみたら?
70 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 23:26:49
エクセルのファイルと間違えて、上書き保存してしまったのですが、 その前のデータを取り出すことは不可能でしょうか?
71 :
名無しさん@そうだ選挙にいこう :2008/05/08(木) 23:37:09
Excel2003を使用しています 仕事で一日中使っていますが、一日二回くらいは数字入力しているとき、 連続して同じ数字が走り出します キーボードのNimLockキーの上のランプの二番目のCapsLockのAランプが勝手に点いて、 同じ数字が連続記入されていきます。 別のキーなりを押せば、異常は停止します。 何が原因か判らずに悩まされています。 キーボードとマウスは新品と交換し、「窓使いの友??」で両方のキャッシュも150にしました。 どうぞ宜しく
無理です
73 :
57 :2008/05/08(木) 23:37:58
>>59 さん サンクス
でも、私の意図するものとはうまく言えないのですが、異なっております。
>>69 さん サンクス
indexやindirectでも考えるだけはしたのですが、私の頭では無理とわかり、
聞きに来ました。
74 :
72 :2008/05/08(木) 23:39:23
>>70 不可能です。
ただ、噂によると一千万ぐらいの費用で、上書きされた領域のデータを
ディスク上の残留磁気を精密に測定して救出してくれるサービスがあるそうです。
76 :
69 :2008/05/08(木) 23:43:23
>>73 まずは等差数列を作れるようになるといい。
3,6,9…
3,7,11…
3,8,13…
みたいにね。
数式で作ってもいいし、オートフィルでもいいな。
77 :
57 :2008/05/09(金) 00:17:19
>>76 A1に3,4,5を入力するとして、
=average(index(配列又は範囲,row(),A1+1),index(配列又は範囲,row(),A1*2+1)+…)
のようなこと?
78 :
57 :2008/05/09(金) 00:19:07
訂正 =average(index(配列又は範囲,row(),A1+1),index(配列又は範囲,row(),A1*2+1),…)
79 :
69 :2008/05/09(金) 00:36:06
>>78 ううん。そんなに複雑なこと考えてない。
A列に3
B列に6
C列に9
↓
X列に72
となるように数字を並べてみて。
averageを使うなんて条件をつけた時点でろくな回答が出るわけがない・・・
81 :
69 :2008/05/09(金) 00:54:53
>>80 averageを使うことは別におかしいとは思わないですけどね。
ただ、3個おきや4個おきにサンプリングした時系列データの平均を求める
ことに何か意味があるのかという点には疑問が残るところです。
でも
>>57 さんはやってみたいようですし。
82 :
名無しさん@そうだ選挙にいこう :2008/05/09(金) 00:55:04
エクセルを閉じると必ずエラーになりMSへエラー報告するかしないかを問うメッセージが出ます 基本的には問題なく使えてますがどういうことでしょうか エロサイトを閲覧、新しくソースネクストのウイルスソフトを入れた後あたりから始まった現象です 関係あるでしょうか どなたか教えてください。よろしくお願いします
83 :
10 :2008/05/09(金) 01:38:46
>>17 ありがとうございます。‥‥こんな感じになりますか、うーーん。
リストには金額も入っていて、20人弱のうち数人「今回は現金で」
って人が来たときだけ、名前を入れてSUMIFで合計額出して、日付の
列は
>>14 で作って、別のアプリにコピペ、ってことしてます。
SUMIF で合計を出す代わりに文字列をくっつけてくれる関数って
ないかなぁ、と。
>>40 だって、「1行100字入るんだから詳しく入れてやれ」って言われ
てて‥‥。コピペしたらもうその「4/7,4/12」は使わないです。
>>83 もしかして営業さんの出張旅費清算や仮払い手続きをやっているのではないですか。
山田さんに旅費を渡す時に「4/7,4/12分で合計金額が○○円です」とわかればいいのでしょう。
違いますか?
>>83 データの入ったファイルに対して、別ファイルからODBC経由で接続して
SQL.Request関数でも使ったらどうか?
っていうかAccess使え。
86 :
名無しさん@そうだ選挙にいこう :2008/05/09(金) 05:53:47
複数の離れたセル選択して、 一括コピー貼り付けできる方法を教えて下さい。
>>86 コピー前とコピー後、それぞれどんなふうにセルが並んでいるかによって方法が変わってくる。
とりあえず離れたセルを選択するにはCtrlを押しながらクリックまたはドラッグ。
>>87 、ありがとうございます。たとえば、
A1,C1,E1をctrlキーで選択コピーしてA2に貼り付けすると、
A2,B2,C2にまとまってしまうので、
A2,C2,E2と言う具合で貼り付けしたいのです。
>>88 A2,C2,E2をctrlキーで選択、この時最後にA1を選択するようにする
そしてA2に=A1と入力後、ctrl押しながらenterかな
今のところコレぐらいしか思い浮かばないや
>>83 面倒な作業をまとめてやってくれるのがVBAなんだけど、処理しなきゃならないのが数人分だと、
おおげさすぎる気もするかなあ。
時々間違えて怒られるのとVBAを覚えるのと、どっちも面倒だけどどっちにするか選んでもらうしかないね。
とりあえず合計金額は、SUMIFなんか使うよりピボットテーブルで集計した方が速いよ。
メニューやセルを、たった10回クリックするだけで、何百人いても一瞬で計算してくれる。
ttp://www.07ch.net/up2/src/lena2025.png
横棒100%グラフで、件数と売上を月ごとに2列表示させる 方法を教えて下さい。
>91 軽〜くエスパーすると・・・ワカンネw
93 :
名無しさん@そうだ選挙にいこう :2008/05/09(金) 16:10:04
VLOOKUPで「行番号」をマイナスで指定するようなことがしたいのですが、 それが出来る代替の関数はありますか?
>>93 つINDEXとMATCH
C1の値をB1:B10で検索して、A列から答えを求めるなら
=INDEX(A1:A10,MATCH(C1,B1:B10,0))
HLOOKUPじゃなくVLOOKUPで行番号? 上は列番号のつもりで書いて理から。 どっちでもINDEXとMATCHだ。
96 :
名無しさん@そうだ選挙にいこう :2008/05/09(金) 16:34:53
>>95 すみません、列番号でした・・。
ありがとうございます。前スレでなんか話題になってた手法ですね。
97 :
名無しさん@そうだ選挙にいこう :2008/05/09(金) 16:45:29
だからLOOKUPなんぞ使わずにINDEX/MATCHの方が(ry
>>INDEX/MATCHを使うと何が実現できるの?
アンカー間違えた。
>>97 INDEX/MATCHを使うと何が実現できるの?
マイナスで指定できること?
100 :
名無しさん@そうだ選挙にいこう :2008/05/09(金) 23:37:56
>>99 おまい、いつまでも、しつこく、せからしいことやってないで、勉強するか寝てろw
あぁ、そうそう、関数というのはどうゆう風に使われているか、役立っているかをな。
識別子の左側の列にある値を取り出したいならばINDEX/MATCHを使えということだな。 識別子は一番左に配置するのがセンスいいとは思うけどね。 ■INDEX/MATCH派の主張 識別子の左側の列にある値を取り出すなど、柔軟にセルの値を参照できる。 LOOKUPウィザードが作成する数式もINDEX/MATCHを使っているんだから当然我々もINDEX/MATCHを使うべきだ。 ■VLOOKUP派の主張 VLOOKUPさえあればデータを分類できるのでINDEX/MATCHの柔軟性は必要が無い。(売上データを商品分類別や地域別に分けるなど) LOOKUPウィザードが作成する数式もINDEX/MATCHを使っているんだから当然我々もINDEX/MATCHを使うべきだとは思わない。 ■両者に共通する認識 VLOOKUPよりINDEX/MATCHの方が柔軟である。 INDEX/MATCHよりVLOOKUPの方が覚えるの簡単。
103 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 07:55:40
屁理屈、こだわり、全く無意味、根っ子が解ってないベービー
>>102 一番肝心なことが分かってないね。
E1:E10を検索してG列から答えを引っ張るのに
=VLOOKUP(A1,$E$1:$G$10,3,FALSE)
=INDEX($G$1:$G$10,MATCH(A1,$E$1:$E$10,0))
この二つの式の動作の違いが分るかい?
105 :
洋子♪ :2008/05/10(土) 09:20:22
countif関数の活用で、教えていただきたいのですが。。。 A2:A30 と B2:B30 の2列に対して、例えばA列は”2” で、B列は”3” のセルの数を数えたい場合は countif関数をどのように活用すればよいのでしょうか? 宜しくお願いいたします。<m(__)m>
>>104 弱い私の頭では分かりませんでした。
違いを教えていただけないでしょうか?
109 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 09:23:18
XPpro、EXCEL2003で、VBAは使えません。 質問です、下記の表のうち、4月に購入した 野菜−人参の合計額を求めたいのですが どういった関数を組み込めばいいのでしょうか? お願いいたします。 月 項目1 項目2 支出額 4 野菜 人参 100 4 野菜 人参 500 4 野菜 大根 100 5 果物 みかん 300
>>107 おまえ天才だな。
>>105 作業列が必要。
C列に=AND(A2=2,B2=3)と入れて、C列でTRUEが入ったセルの数をCOUNTIFで数える。
>>109 月、項目2、支出額でピボットテーブルを作りなされ。
このスレの回答者はバカばっかりだね レベルの低い、何のノレッジも無いアホばっかり wwwwww
113 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 09:32:14
>>109 ・ピボットテーブル
・作業列
E2に=if(and(a2=2,b2="野菜",c2="人参"),d2,"")
でどこかのセルに=sum(E:E)
>>104 分かんないんで教えていただきたいのですが
っていうか前スレ辺りにも無かった?
結局答えないまま逃げていったけど
【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 A列にはID B列にはそのX座標 C列にはY座標が入っています。 ここで、D列とE列に、A列から2つのIDを入力すると、 F列に、2つのID間の距離を出すような動作 はどのようにすれば良いでしょうか? F列で計算をさせる際に、A列のID2つを入力すれば、 =((B1-B2)^2+(C1-C2)^2)^(1/2) 上式のB1,B2,C1,C2に自動で値を入れるようにしたいのですが、 何か方法はありますでしょうか・・・
117 :
100 :2008/05/10(土) 09:46:13
>>104 横レスだが、その与件を設定して比較する意味のなさ、というか、式自体が間違ってね?
>>116 IDが100個あってA1からA100まで入ってるとすると、IDから座標を求めるにはこういう関数を使う。
1番目のX座標 … VLOOKUP(D1,A1:C100,2,FALSE)
1番目のY座標 … VLOOKUP(D1,A1:C100,3,FALSE)
2番目のX座標 … VLOOKUP(E1,A1:C100,2,FALSE)
2番目のY座標 … VLOOKUP(E1,A1:C100,3,FALSE)
これを式に代入すると
=((VLOOKUP(D1,A1:C100,2,FALSE)-VLOOKUP(E1,A1:C100,2,FALSE))^2+(VLOOKUP(D1,A1:C100,3,FALSE)-VLOOKUP(E1,A1:C100,3,FALSE))^2)^(1/2)
>>118 今試して見ました、何の問題も無く動作しました。
本当にありがとうございます!
>>103 >屁理屈、こだわり、全く無意味、根っ子が解ってないベービー
反論できなくなって人格攻撃開始。
>>104 >=VLOOKUP(A1,$E$1:$G$10,3,FALSE)
>=INDEX($G$1:$G$10,MATCH(A1,$E$1:$E$10,0))
>この二つの式の動作の違いが分るかい?
分からない。説明して。
>>117 >横レスだが、その与件を設定して比較する意味のなさ、というか、式自体が間違ってね?
式は間違ってないみたいだぞ。比較する意味のなさには同意する。
INDEXとMATCHを混ぜて使うときには 扉にちゃんと「有毒ガス発生中」と貼るんだぞ。
>>112 君がレベルの高い回答をしてやればいいじゃないか。
おまいら馬鹿ばっかだな。
>>104 がなかなか答えないから、おれがヒントだけ出してやるよ。
F1からF10の値が変わったときの違いは分る?
こういうことだろ?
他はほとんど同じだと思う。
124 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 11:44:59
【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 どこをどういじったのか、わからなくなってしまったのですが、 作業していてワークシートがAからDの列と 1から20行までの表示のみになってしまいました。 どうすれば、元のAからIVまでと、1から65536まで表示されるのでしょうか?
>>123 F1からF10に乱数を入れてみたが違いはわからなかった。
ヒントでは不十分なので正解を書いてください。
>>124 ウィンドウ枠を固定していませんか?
「ウィンドウ」メニューから「ウィンドウ枠固定の解除」を選んでみてください。
129 :
123 :2008/05/10(土) 12:14:57
>>126 シートのタブを右クリックして、コードの表示で出てきたウィンドウに
Private Sub Worksheet_Calculate()
MsgBox "計算した"
End Sub
と書いて、F1:F10のうちのどれかのセルに何か入力してみろ。
おれは
>>104 じゃねーから俺に正解をって言われても困るが、まずこういうことだと思う。
>>129 なるほどね。たしかに違うと言えば違うな。
その違いが処理のボトルネックになることはないと思うがね。
131 :
123 :2008/05/10(土) 12:33:03
他にも式がたくさんあるかないかの問題だね。 F1:F10を参照してる別の式があるとき、その別の式だけ再計算すればいいものを、 よけいなVLOOKUPの式まで計算させる必要はないからね。 式が山ほどあるときは、こういう小さな積み重ねがブックを重くするか軽くするかにかかわって くることもあると思うよ。
>>131 なるほどなるほど。
君の答えは非常に明快だ。INDEX/MATCHにもメリットはあるということがわかったよ。
ありがとう。
>>104 でないものが、いろいろ言っててもな
読み返すと、104は相手にされないと逃げたとかいう本人。
普通、関数厨は論理明確で好きなんだがね。常にそうとは限らない例外。
で、元興しのINDEX/MATCH はVLOOKUPがあれば、いらねという人は いる、使えるということでいいのかな
メリットは分かったが、めんどいな
>>135 本人です。そういうことでいいよ。
ただ、VLOOKUPがボトルネックになっていて、それをINDEX/MATCHで解消できる
ような状況自体がめずらしいだろうとは思ってる。
>>135 もともとINDEX/MATCH派は検索の柔軟性をメリットとしていなかったか?
それをもっと説明してよ。
>>136 実際にVLOOKUPが遅くて困ったことなんかないからねえ。
140 :
104 :2008/05/10(土) 14:27:49
代わりに正解書いてもらってすまんな
>>123 こちとら急用で出かけてたが、みんな耳を傾けてたらしいな。
2chの馬鹿でも話せばわかるとは驚きだw
>>140 正しいことを書いていれば理解できるよ。
こっちも屁理屈を言ってるわけじゃない。
質問なんですけど、一つのセルの中で他のセルを参照することは可能でしょうか? 例えばA1が「195」と入力すると、A4の中でその値を参照させて 計算式では 「="私の身長は"+A1+"cmです"」とし、 (↑当然エラーになります。ふいんき(←なぜか変換できない)だけ感じてください) 表示上では 「私の身長は195cmです」 のように表示させたいのです。 つまりは一つのセルの中で文字列と参照を結合するにはどぎゃんしたらよかとですか?
143 :
123 :2008/05/10(土) 14:37:51
>>140 やっぱそういうことだったのね。
まほかに違いなんてないもんね。
ところで俺の意見のSUMPRODUCTと配列数式が好きなやつはドキュソが多いってのには賛成でつか?
これで円満解決かな。 ■INDEX/MATCH派の主張 (無関係の列を編集した時でも再計算されてしまうから)VLOOKUPはINDEX/MATCHよりも遅い時がある。 ■VLOOKUP派の主張 まあそういうときもあるかも。INDEX/MATCHを覚えることがまったく無駄とは言わない。 ■両者に共通する認識 VLOOKUPはINDEX/MATCHより遅くなる場合がある。 INDEX/MATCHよりVLOOKUPの方が覚えるの簡単。
145 :
142 :2008/05/10(土) 14:51:27
自己解決しました! ・CONCATENATE関数を使う「CONCATENATE("わしの月収は",A1,"しかないたい")」 ・アンパサンドを使う「"わしの身長は"&A1&"まであるぞ"」 ・質問者を蔑にして雑談してるお前らは知識の低さ以前にクズ ということですね、わかります
>>142 ="私の身長は"&A1&"cmです。"
とするとよかと。
それから雰囲気は「ふんいき」が今のところ正しいとされている。
147 :
104 :2008/05/10(土) 14:54:05
>>143 ペーハー4くらいの酸性かな?
配列数式も正しく使えばいいんだが、変な使い方するやつ結構いるからね。
同じ計算を何度もやってるような式をみるとこいつ駄目だなと思う。
SUMPRODUCTなんかも金種計算なんかに使ってるやつ見るとかわいそうになる。
何度同じ計算やらせてんだか。
>>147 私の場合、同じ計算を冗長に実行することに抵抗はない。
それよりも「わかりにくい」「メンテしにくい」「引継しにくい」が問題だと思う。
>>146 私がお人好しでした。
今度から自己解決しそうなやつには回答しないことにします。
>>123 君のドキュソぶりはさておいてw
index/matchとvlookupの議論としては、解決に、ほど遠いだろw
俺も出かけるw
>>150 さてはSUMPRODUCT好きだなw
解決にほど遠いって作業列にMATCHのこと?
そんなの常識だから104も書かんだけじゃないの?
うざい自演にしか見えない・・・
Excelでやりたいことなんて結局データをグループ別に集計することなんだから VLOOKUPでグループ分けしてピボットテーブルで集計すれば解決するんだけどな。
ほら、何書いても聞く耳持たんやつがでてくる。
>153 君がそう使っているからといってみんながそう使っている とは限らんワナw こういうやつが使えないのに「VBはうんこ!ピボマンセー!」 って言ってる気がする。
元データ → 関数でデータ抽出 → 元データ削除 って可能ですかね? 可能でしたら どのような方法が考えられるか教えてくれませんか?
>>156 抽出できたんなら簡単に削除できるだろ?
>>158 例えば LEFTとかで数字や文字列を抽出した後、削除するとエラー値が表示されてしまいます
値貼り付けを知らないんだなきっと。 しかし関数でデータ抽出をやる害虫がまだ発生してるのか。
>>159 ああそういうことか。
データの形式を選択して貼り付けするとき形式を値にしたらいいよ。
なんだ関数でデータ抽出ってLEFTとかのことか。 害虫なんて言ってすまんかった。 おれはまた配列数式かと思ったよ。
165 :
160 :2008/05/10(土) 16:00:11
>>166 そだね。
>・質問者を蔑にして雑談してるお前らは知識の低さ以前にクズ
こんなこと書くやつこそ人間のクズだな。
おれも書こうとしてたんだが、こんなやつに回答しなくてよかったよ。
168 :
洋子♪ :2008/05/10(土) 16:24:11
>>110 ありがとうございます<m(__)m>
countif関数にandを追加して・・・ との一発で
抜き出す、方法はナイのですね。。。。
169 :
10=83 :2008/05/10(土) 16:36:37
>>83 そんな感じです。営業さんでも出張旅費でもないですけど。
>>90 VBAは「ちょっと知ってる」けど「ここでは使っちゃだめ」なんです。
こそぉり使っちゃるかな、もう。
>>169 ピボットテーブルがいいと思うけどな。
>>90 の回答で満足できないのはどういう点なの?
>>170 いや、元々の質問は集計じゃなくて文字列の連結だから。
>>169 個人用のブックを別に作って私物のUSBメモリにでも入れといて、
そこにデータをコピペして作業すれば?
>>168 条件が2つある時はCOUNTIFだけでは不可能。
複数の条件でカウントしたい、しかも作業列は使いたくない、
そんな時はSUMPRODUCTとか配列数式を使う。
>>171 もともとの質問は文字列の連結だけど
>>83 >リストには金額も入っていて、20人弱のうち数人「今回は現金で」
>って人が来たときだけ、名前を入れてSUMIFで合計額出して、日付の
>列は
>>14 で作って、別のアプリにコピペ、ってことしてます。
のように言ってるから本質は集計なんだよ。
なんだ、また天才か。 ピボット厨はみんな頭が良すぎて困るよ。もっとレベルを下げて俺たちに合わせてくれよ。
>>171 まあまあ。質問者はVBA使えるんだから、個人用ブックを用意しとけというのは
良いアドバイスだと思うよ。
この件はもう解決でいいかな?
>>10
質問主は文字列と集計と、2つの作業をやりたいって言ってるんだから、 1つ片付けて終わりじゃあんまりだろ
>>168 2007を買えば複数条件で使える関数がいろいろ増えた。
ただ今までの配列数式やSUMPRODUCTと比べると速度はあまり変わらんみたいだな。
178 :
10=83=169 :2008/05/10(土) 18:51:15
>>170 リストに変更があったとき、どうも「データの更新」しないと
古いままで出てきちゃうように見える点、かな。
>>171 文字列を対象にした集計というか連結と言うか。
ズバリこれ、な関数とかないみたいなので、
別のブックとか、なんか方法を考えて見ます。
>>175-176 「週末つぶして調べましたが関数じゃ無理です」とか言って
VBA使わせてもらえれることになったら解決。
だめだったら‥‥また考えよう。
>>178 ブックにVBAを残してはいけないということであれば、VBSから処理しては?
うまくやると別アプリへのコピペまでできてしまうかもしれません
>>178 >リストに変更があったとき、どうも「データの更新」しないと
>古いままで出てきちゃうように見える点、かな。
今の手作業よりよっぽど楽だと思うけど。
これを嫌う人はけっこう多いなあ。ピボットテーブルの弱点だな。
ピボットテーブルはセルの幅がやたら広くなるのが嫌。
ピボットテーブルにできないことで代表的なのは 1.第一正規化されていない(繰り返し項目のある)データを扱うこと。 2.枝分かれ構造のある解やデータを再帰的に探索すること。 3.最適化問題を解くこと。
>>10 暇だから作ってみた。VBAガ使えなきゃ意味ねーんだけどな
Sub macro1()
Columns("B:B").Select
Selection.Copy
Columns("C:C").Select
ActiveSheet.Paste
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Copy
Columns("D:D").Select
ActiveSheet.Paste
Columns("C:D").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Key2:=Range("D1") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
xlSortNormal, DataOption2:=xlSortNormal
Dim gyo As Long
Dim i As Long
Range("c1").Select
gyo = Range("c65536").End(xlUp).Row
Range("e1").FormulaR1C1 = "=TEXT(RC[-1], ""m/d"")" Range("E1").AutoFill Destination:=Range("E1:E" & gyo), Type:=xlFillDefault Range("e:e").Copy Columns("D:D").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("e:e").Delete Range("c1").Select For i = 1 To gyo If Selection.Value = Range("c" & i + 1).Value Then Selection.Offset(0, 1).Value = Selection.Offset(0, 1).Value & "," & Range("d" & i + 1).Value Range("c" & i + 1 & ":d" & i + 1).Value = "" Else Range("c" & i + 1).Select End If Next Columns("C:D").Select Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal End Sub
>>181 それはピボットテーブルに起因する問題ではない。
ピボットテーブルで解決できない問題について 1.第一正規化されていない(繰り返し項目のある)データを扱うこと。 できることならVBAで解決するのでなく、データを正規化しよう。 そうすればピボットテーブルで自在に集計、分析できる。これこそが本当の効率化。 2.枝分かれ構造のある解やデータを再帰的に探索すること。 これは例えばオセロの思考ルーチンを作ったりだとか、プログラミング言語の構文解析をすることがあてはまる。 ただ、大部分のExcel利用者にとって縁の無い問題とも言える。 3.最適化問題を解くこと。 制約条件を満たしながら、目的の値を最大化(最小化)するようなパラメータを見つける問題。 パラメータが200個以下ならソルバーが利用できる。でも大規模になったら有料だ。高いぞ! しかたがないVBAで作るとするか。しかし、実際作るとなると難しい。仕事の片手間にできるかな? もうひとつ追加 4.シミュレーションを行い、解の分布を求めること。 モンテカルロシミュレーションだな。これなんかはVBAを使うと本当に便利。 利益を計算するシートを作って、為替や材料費などパラメータを乱数で変化させる。 結果の度数分布を作れば、その事業がどの程度儲かる可能性があるか把握しやすい。
5.車を運転すること ピボットテーブルには手足が付いていないため、アクセルやブレーキ、ハンドルの操作が出来ません。 6.ピザを食べること ピボットテーブルには口や消化器官が付いていないため、ピザを食べる事が出来ません。
それってExcel以外の方法を考えた方がよっぽど能率いいんでね? 確かにVBAは手軽な言語ではあるけど、 C#コンパイラの統合環境が無料で落とせることを考えるとねえ。
>>188 そう。結局そうなるのが落ち。
Excelではピボットテーブルでできることをやっとくのがいいんだよ。
190 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 21:34:58
Excel2002だけどセルの背景色がうまくいかない
おうちのかたへ。せんせいからのコメント
>>189 くんは考え方がきょくたんすぎます。もうちょっと柔軟に考えられるよう、
指導してあげてください。
>>191 どのように極端なのかな。
ごく当たり前の結論だと思うが。
>>190 君もしばらくしたら自己解決するんだろ?
【1 OSの種類 .】 Windows*XP Home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】=RAND コピー 乱数が発生しない 同じ値に A1に=RAND()とし、A2からA30くらいまでフィルハンドルやコピー&ペーストに貼り付けました。 しかし、なぜかA2-A30までもA1で発生した値のままになってしまいます。 貼り付けのとき数値だけを指定したわけではありません。A2-A30までちゃんと=RAND()となっています。 普通に個々で=RAND()と書くとちゃんと別の乱数が発生します。 どうすればコピーして乱数を個々に発生させられるのでしょうか。ご教授をお願いします。
>>194 君もしばらくしたら自己解決するんだろ?
>>194 ツール→オプション→計算方法が「手動」になってるんじゃないかな?
「自動」にすればいいと思うよ。
>>194 F9を押してもバラバラの値になりませんか?
>196 ! 直りました。助かりました。 設定を変えて直していなかったのだと思われます。早い回答、ありがとうございます。
>194 >195 その方法でも再計算されました。 本当にみなさんありがとうございます。
201 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 22:43:03
質問なんですが、 セルに、”2006-09”という数値を打ち込むと勝手に日付と認識されて ”Sep 06”と表示されてしまいます。”2006-09”をただの数値として このまま表示させたいのですがどのように設定若しくは設定を解除すれ ばいいですか??教えてください!! なお、セルの書式設定の「表示形式」で色々やってみましたがよく分か りません。。。
>201 文字列に設定
203 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 22:51:51
>202 回答ありがとうございます! 早速やってみたのですが、「38961」という全く違う数値に 変換されてしまったのですが・・・
205 :
名無しさん@そうだ選挙にいこう :2008/05/10(土) 23:02:47
>202 >204 [表示形式]を[標準]に設定しなおしても入力したとおりにならずに "38961"って出ちゃう・・・。 "2006-09"(型番)←をこのまま表示できないの?
>>183 暇だから要約してみた。VBAガ使えなきゃ意味ねーんだけどな
Sub macro1()
Dim i As Long
Columns("B:B").Copy Columns("C:C")
Columns("A:A").Copy Columns("D:D")
Columns("C:D").Sort _
Key1:=Range("C1"), Order1:=xlAscending, Key2:=Range("D1"), _
Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin
For i = 1 To Range("c65536").End(xlUp).Row
If Cells(i, 3).Value = Cells(i + 1, 3).Value Then
Cells(i + 1, 4).Value = Cells(i, 4).Text & "," & Cells(i + 1, 4).Text
Cells(i, 3).Resize(, 2).Value = Empty
End If
Next
Columns("C:D").Sort _
Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin
End Sub
>>205 なんで標準なの?
言われたとおりのことを実行できないとこの先も苦労するぞ。
数値を入力後にセルの書式設定ではダメだす。 設定した後に数値を入力。
210 :
205 :2008/05/10(土) 23:29:42
>208 できた!!ありがとう!! >各位 解決です!お手数かけました!
212 :
45 :2008/05/11(日) 09:05:03
>>10 の質問は
>>183 と
>>206 が解決してくれたようなので
しつこいと思われるかもしれないけど最後っ屁をこいておきます。
将来業務の規模が変わったらこんな方法では破綻するよ。
その時は上司を説得してレポートの形式を縦型に変えるといいよ。
例
山田
4/7
4/10
合計 5000
佐藤
4/8
4/20
4/21
4/25
合計 8000
鈴木
4/8
合計 6000
>>212 業務の規模が変わったら2007を入れるんじゃない?
何列までか知らないが、かなりの列数が使えるらしいから。
どうでもいいけどなんで回答者が
>>45 >>212 みたいに自分の名前を出し付けるの?
なにか意味あるの?
この後すぐになりすましが登場するぞ。犯人は
>>215
217 :
45 :2008/05/11(日) 09:50:41
そんなことはしませんよ?
>>217 お約束通りだな。
もう先読みされてるぞ。
219 :
215 :2008/05/11(日) 09:56:39
うるさーい!おまいら全員氏ね!
220 :
45 :2008/05/11(日) 10:10:01
死ぬのは俺一人で十分だ
いやいやここは俺が
どうぞどうぞどうぞ
>>214 「今までのやり方を変えない」ってのも、場合によっちゃ十分に意義があるんだけどな。
中小だと、今だにWin3.1やらDOSベースのソフトを使ってるところも珍しくない。
こないだメンテに行ったとこなんかFM-TOWNSを使ってたぞ。
社長に故障したら終わりですよとは言ってあるけど、開発に1000万かけた業務用ソフトを
もう一度作り直すだけの予算は出せないだろうなあ。
晴れたり曇ったりって、あんまり面白くないね
【1 OSの種類 .】 Windows*XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel 式だけ 別のシート 参照 別のシートの式だけを参照させることは可能でしょうか。(その式に代入される変数はそのシート上にあるセルの値) 例えば以下のような感じです。 シートA: A1| 1 A2| 2 A3|=A1+A2 (→計算結果は3) シートB: A1| 3 A2| 4 A3|=シートA!A3 →普通に参照するとシートBのA3の計算結果はシートAのA3の計算結果である「3」になってしまいますが、 シートBのA3において求めたいのは、A1+A2の答えである「7」です。 なにがしたいのかと言うと、シートAのA3の計算式を変更した時に、 それを参照しているシートBのA3の計算式も同時に手を加えることなく変更したいということです。 どなたかお分かりの方がいらっしゃいましたらお教えいただきたく、よろしくお願い申し上げます。
>>225 VBAを使わないと無理
VBA使わずにやるなら
シートAのA4とA5に足算したいセル番地を入力する
シートA:
A1| 1
A2| 2
A3|=INDIRECT(A4)+INDIRECT(A5)
A4 | A1
A5 | A2
シートB:
A1| 3
A2| 4
A3|=INDIRECT(sheeta!A4)+INDIRECT(sheeta!A5)
別にA4とA5じゃなくてもいいけどね
>>223 変える必要無いものは変えなくていいよ。だけどこのケースは違うだろ?
「日数が300日になったら256列制限を越えちゃうよ。どうしよう。そうだ!2007使えばいいんだ。俺頭いい。」
ではダメなの。
例に挙げてるタウンズ社長だってそう。これなんか今すぐやり方変えないといけない例であって、「今までのやり方変えないのも意義があるよ」の例になっていない。
要は自分の意見がなくて反論したいだけなんだよ。
>>226 早速にありがとうございます!
VBAを使わないと無理ですか・・・、でもそれがわかっただけでも大いに助かりました。
ありがとうございますm(_ _)m
今やろうと思っていることは、多くの基礎データを多くの計算式に入れて解析するということなのですが、
基礎データは同じ内容の何枚ものシートに日付ごとにまとめているため、
解析項目や計算方法を変更する必要があると、全ての基礎データシートに手を加えなければなりません。
そこで解析項目・計算内容のフォーマットになるシートを作り、全ての基礎データシート上にある解析項目・計算式はそのフォーマットを参照するようにすれば、
解析項目や計算式を変更する場合はフォーマットシートだけをいじれば全ての基礎データシートにも反映されるようにできると思ったのですが
データを解析する項目が多い上に計算内容が複雑なので、お教えいただいたやり方でもやはり無理があると思います。
これを機に今まで敬遠していたVBAにも手を出してみようかという気になっていますが、
まず手始めに上記のようなことを実現するにはどこから手をつければよいか、
もしできましたら糸口になるWebページなどあればお教えいただけると幸いです。
とりあえずデータを作る時に 日付 内容1 内容2・・って感じで一つのシートに入れてしまうのが一番いいんだけどな これをしてしまえば後はピボットなり、オートフィルタなりで簡単に集計することができる 但し、間にセルの結合してたりタイトル行が混じると上手くいかなくなることもあるんだけどね・・
>228 ちょっと強引なやり方だけど、 集計用ファイルの、 式のファイル名部分[*****月*日データ名]なんかだとして、 そこを置換するっていう手も。 あるいは逆に、 シート名を入れる欄を作って、 INDIRECTでシート名をそこからひっぱってくるっていう手もある。 どっちもちょっと無理やりだけど。
>>228 はい、基礎データが住所録のような単純なものであれば、そういうやり方が手っ取り早いのはわかってるのですが、
日付ごとの1枚のシートの中においても基礎データ相互を参照しながら演算が必要だったり、
全ての日付のデータを集計した平均値などを元の基礎データそれぞれのシートの演算にフィードバックしたりする必要があり、
単純なやり方では無理なんだろうなって思っています。
ここまでくると、解析とデータを完全に切り分け、解析の方できちんとしたプログラムを組み、
基礎データを解析する場合は解析プログラムの方から基礎データを読みに行くようにした方が、
演算処理上も計算方法を変更する場合を考慮した上でもいいんでしょうね。
>>232 解析用シートを作成し、解析したいデータをそれにコピペしたらどうか?
>>233 はい、当初はそのイメージでした。
基本解析フォーマットをつくり、そのフォーマットをコピーしたものに基礎データを入力して、基礎データとそのデータを解析したものを日ごとに蓄積していく、
しかし、あとから解析項目や計算方法を変更する必要が出てくると、それまでのフォーマットに基礎データを貼り付けたものも全て個別に変更しなければ、
解析項目や解析結果の統一性が保たれなくなってしまいます。
そこで思い浮かんだのが
>>226 の方法でした。
>>231 関数で今までいけてるなら関数でなんとかなるよ
あとこのスレの質問者が言う複雑っていうのはいつもそれほどでもないんだよな
>>234 当初のイメージ通りがいいね。
シートからデータを分離しよう。
>>235 そうだな。
関数でできない処理だったら最初から関数では実現できない。
データが複数かどうかはVBAを使う基準にはならないはずだ。
>>234 単純に考えてみて。
>>235-237 え〜と、ちょっと誤解されているフシもある気がしますが、、、
私が求めているのは、解析項目の多さや演算内容の複雑さに困っているからなんとかしたいというよりは、
解析項目や演算内容を変更した場合の対処のしやすい方法です。
データの解析処理(集計・演算等)自体は問題なく行えています。
問題はその解析方法がまだ不確定的で、データを検証しつつ修正を加えていく必要性があるということです。
解析とデータを切り離すかどうかとか、VBAを使うべきかどうかは、
解析方法変更後にそれまでに蓄積してある解析結果を修正するために、
1枚1枚のシートを個別に手作業で修正する手間をなくせるかどうかという点にかかっていると思います。
>>238 ちなみに例えばどんな計算があるのか教えてくれない?
集計,平均,他には?
>>239 四則演算以外に関数自体は極めて初歩的なものしか使ってなく、SUM、IF、COUNT、それらの複合程度ですが、
基礎データ→条件分岐→集計→条件分岐→集計・・・
の繰り返しみたいな感じで、条件分岐のところにそのシート上の他の部分の演算結果や全体データの集計値をフィードバックしたりしています。
解析方法が変更されれば当然そのシート上の演算結果や全体の集計値も変わってくるので、それらを参照している各シートの計算式にも影響が出てきます。
>>240 こんなイメージを持ったんだけど正しいかな?
基礎データから条件分岐で男性だけを集計する。
男性だけの集計結果からさらに18才以上の人を集計する。
今度は18才以上の女性を集計しないといけない。計算式を変更しなくちゃ。
>>226 シートのグループ化で全て解決する気がしなくもない
>>241 ほぼビンゴですw
条件分岐に関してはお察しの通りですが、作業全体を極めて単純に模式化すると以下のような感じです。
シート:4月1日
項目|数|当日比|全体比
赤 |2| 40%| 40%
白 |3| 60%| 60%
計 |5| 100%| 100%
シート:4月2日
項目|数|当日比|全体比
赤 |1| 20%| 30%
白 |4| 80%| 70%
計 |5| 100%| 50%
・
・
・
ここで集計項目に「青」を追加したり、
「全体比」の計算方法を「当日数/全合計数」から「当日数/色ごとの全合計数」に変更する、
といった必要が出てくると、項目も計算式も変更しなければなりません。
こういった一連の作業を効率化したい、
つまり、基本フォーマットを変更すれば、それまでのシートに埋め込まれている計算式にも反映される、
というようなことをしたいと思いました。
項目を変更するのはかなり大掛かりなことになると思うので、
きっと解析とデータを完全分離する必要があるのではないかと思いますが、
計算式の変更だけなら、なにか方法があるのではないかと思って、
>>225 を投稿した次第です。
244 :
242 :2008/05/11(日) 16:12:44
×
>>226 ○
>>225 例で行くと、
シートAとシートBをグループ化し、
シートAのA3セルに「=A1+A2」と入力すると
シートBのA3セルにも「=A1+A2」と入る
フォーマットが全く同じであり、かつ別シートを参照しないのであれば
これでいける
>>243 日付 |項目 |数|
4月1日| 赤 |2|
4月1日| 白 |3|
4月2日| 赤 |1|
4月2日| 白 |4|
日付ごとにシートをわけるのではなく、こういう形式に変更しなさい。
そして「ピボットテーブル」で検索してみること。
「ピボットテーブル 比率」も検索すること。
>>244 のアドバイスにはお礼だけ言っときなさい。
ピボットテーブルで処理できる内容かどうかは分からんが、
どういう方法でやるにせよ元データは
>>245 の形になってた方がいいやね。
ただ過去の蓄積データがたくさんあるようだと移行するのがちょっと面倒か。
VBA使えば簡単に出来るんだろうけど。
247 :
洋子♪ :2008/05/11(日) 16:29:48
>>172 ありがとうございます。
>>168 の件ですが、作業列を使うのは良いのですが
条件の組み合せの数が多いので・・・・
SUMPRODUCTだと、セルの数ではなくて
合計が出てしまうので。。。。。
IF(AND・・・・ 等で、抜きだして行くしか
方法はないのでしょうか・・・
>>247 =SUMPRODUCT((A2:A30=2)*(B2:B30=3))
でいけたけど
249 :
243 :2008/05/11(日) 16:49:40
>>244 なるほど!それはもっとも簡便な方法かもしれませんね。
早速簡単なデータを作って試してみましたが、フォーマットが統一されていれば、確かにいけそうかもしれません。
ただ、「別シートを参照しないのであれば」というのはどういうことを意味しているのでしょうか。
現在使っている各基礎データシートには、別のシートのデータを参照している部分があります。
あと、シートを作業グループ化すると、共通項目以外の個別データの部分を書き潰してしまうことがあるのが気になるところですが、後で少し検討してみたいと思います。
ひとまずはありがとうございます。
>>245 1日ごとのシートは、基礎データだけで15列×75行の行列配列が必須で、その基礎データをそのシート上で解析している領域も含めると26列×120行になっています。
したがって残念ながら基礎データをご示唆いただいたような形式に変更することは事実上不可能と思われます。
あと、できればそのような上から目線はやめていただければと思います。
>>246 上記の通り、日付ごとのデータを1枚のシート上にまとめることは難しいですが、ピボットテーブルについてはちょっと検討してみたいと思います。
>>249 >1日ごとのシートは、基礎データだけで15列×75行の行列配列が必須で、その基礎データをそのシート上で解析している領域も含めると26列×120行になっています。
>したがって残念ながら基礎データをご示唆いただいたような形式に変更することは事実上不可能と思われます。
小さなデータじゃないか。安心してピボット使ってくれ。
上から目線に感じたなら失礼した。
>>249 とりあえずサンプルの4行を入力してみてくれ。
日付 |項目 |数|
4月1日| 赤 |2|
4月1日| 白 |3|
4月2日| 赤 |1|
4月2日| 白 |4|
>>250 1日1日のデータは、物理的には1枚のシートに全て収まる大きさではありますが、問題はその構造です。
基礎データは行列配列のまま並べていくとしても、その基礎データを解析したデータも一部行列配列を要しているので、
それらも含めてピボットテーブルのデータベースとして整列させるのはかなり難しい気がします。
基礎データ全体の解析結果を知りたいのはもちろんですが、1日ごとの解析結果も把握したいと考えているので、
どのような形でピボットテーブルに適応させられるのかはさっぱり見当がつきません。
>>226 >>229-230 >>233 >>235-237 >>239 >>241-242 >>244-246 >>250-251 少しだけ方向性は見えてきたので、ひとまずシートのグループ化とピボットテーブルについて検討してみたいと思います。
レスをいただいた多くのみなさん、ありがとうございました。
また壁にぶつかったり、うまく解決できたりしたら、改めて報告させていただきたいと思っています。
>>252 解析部分はいらんよ。捨ててしまうといい。
基礎データだけ使うの。
とりあえずサンプル入力してみてくれよ。
日付 |項目 |数|
4月1日| 赤 |2|
4月1日| 白 |3|
4月2日| 赤 |1|
4月2日| 白 |4|
>>252 >1日ごとの解析結果も把握したいと考えている
出来るよ
>どのような形でピボットテーブルに適応させられるのかはさっぱり見当がつきません。
回答者は細かいところに差があれど、全員見当ついてるぜ
255 :
252 :2008/05/11(日) 17:43:00
>>253 サンプルは入力しましたし、ピボットテーブルも作ってみました。
もしかしてここでご指導いただけるのでしょうか?
でもそれだと他のみなさんにご迷惑がかかるので、いかがいたしましょう?
データの構造によっては15列×75行のデータを15*75=1125行のデータに展開する必要があるかも。 そうするとExcel2003までだったら1シートに2ヶ月分のデータしか入力出来ないな。 そこまでしてピボットテーブルにこだわる必要があるかどうかは具体的な分析内容が分からんと何とも言えない。
>>255 質問スレッドなんだから回答書いてあたりまえだろう?いちいち発言がめんどくさいぞおまえ。
例えば
日付を行のフィールド
項目を列のフィールド
数をデータアイテムとしてみて。
そしたら数の合計が計算されたでしょ?
赤 白 総計
4月1日 2 3 5
4月2日 1 4 5
総計 3 7 10
>>255 合計が出せたら今度は、
ピボットテーブルの「フィールドの設定」→「オプション」→「計算の種類」→「列方向の比率」
そしたらできあがり。
赤 白 総計
4月1日 40% 60% 100%
4月2日 20% 80% 100%
総計 30% 70% 100%
260 :
255 :2008/05/11(日) 18:06:02
>>257 いや、質問スレッドでここまで懇切丁寧に付き合っていただいたことが初めてで。
たいていははじめの糸口やヒントだけで、あとは自分でなんとかしろって感じだったので。。。
ご示唆と同じピボットテーブルはできましたが、
実際には、「赤」「白」といった項目が「赤・四角・大」「白・三角・小」のように、
「色」×「形」×「大きさ」×・・・といった複数次元のパラメータを持っており、それが十数種類もあります。
デフォルトのように1日のデータが「赤・四角・大・・・」「赤・四角・中・・・」のように1行に並べられてしまうと、
望んでいる体裁にまとまるのかというところが全然見通したっていません。
>>260 行のフィールド、列のフィールドどちらも複数の項目を与えられるよ。
>>260 まず、完成の形をどういう風にしたらわかりやすいのかとか考えて、
それにするためにどうしたらいいのかを考えるのがイイかもな
>>260 まず元のデータはこうする。
日付 色 形 大きさ 数
4月1日 赤 四画 大 2
4月1日 白 三角 中 3
4月2日 赤 丸 中 1
4月2日 白 三角 小 4
>>260 行のフィールドには日付
列のフィールドには色,形,大きさ
データアイテムは数
265 :
260 :2008/05/11(日) 18:18:45
>>261-264 みなさんありがとうございます。
わかりました。
ピボットテーブルのなんたるかをもう少し学習したいので、少し時間をください。
ある程度理解してきたら、報告しに戻ってきます。
>>260 赤計とか白計みたいな小計がうっとうしかったらそこを右クリックして「表示しない」にする。
>>265 クロス集計程度ならすぐに把握できるだろうけど、その次はちょっと大変かもしれない。
ここは独学にこだわらず、実際のデータとやりたいことを省略せずにそのまま書いて
回答をもらった方が確実じゃないかと思うぞ。
【1 OSの種類 .】 WindowsME 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 複数条件で検索 VBA excel 担当|.コード|金額| ──|──|──|── 山田| | | ──|──|──|── 売上|1111| 10 | ──|──|──|── 売上|1112| 20 | ──|──|──|── 経費|1113| 31 | ──|──|──|── 経費|1114| | ──|──|──|── | | | ──|──|──|── 鈴木| | | ──|──|──|── 売上|1111| 12 | ──|──|──|── 売上|1112| 22 | ──|──|──|── 経費|1113| 31 | ──|──|──|── 経費|1114| | ──|──|──|── | | | 以下続く… こんなシートがある時に各担当毎のコードの1111と1112だけを抽出したいのですが、どのような関数orVBAでやれば効率が良いでしょうか?
EXCELでよく書類を作るのですが、セルからハミ出していて印刷されないことがあります。 プレビューでチェックしていますが、どうしても漏れがでてしまうので もし、セルからハミ出して印刷されない部分があればチェックしてくれるような アドオンや機能はありませんか?
>>268 ずいぶん個性的な表だなあ。
レイアウトは誰が決めたの?
>>270 会社の勝手に出てくるCSVファイルです。
dbとして致命的ですよね…。
>>271 なかなかやっかいだな。
各担当者ごとに必ず4行なの?
>>272 それが違うんです。
5行だったり6行だったり場合によっては10行ぐらいあります。
さらに日によって担当者の増減もあります。
やっかいです…。
>>268 まずは作業列を作ってVBAで正規化する。
ワークシート関数だけでも不可能じゃないけど手間がかかりすぎる。
正規化というのは、この場合、具体的にはすべての行に担当者名をコピーしていくこと。
担当|.コード|金額|担当
──|──|──|──
山田| | |
──|──|──|──
売上|1111| 10 |山田
──|──|──|──
売上|1112| 20 |山田
──|──|──|──
経費|1113| 31 |山田
──|──|──|──
経費|1114| |山田
──|──|──|──
| | |
──|──|──|──
鈴木| | |
──|──|──|──
売上|1111| 12 |鈴木
──|──|──|──
売上|1112| 22 |鈴木
──|──|──|──
経費|1113| 31 |鈴木
──|──|──|──
経費|1114| |鈴木
──|──|──|──
空白の行を手がかりとして、文字列のコピーをしていく。
ここまでできたら、あとは好きな方法で抽出すればいい。
>>276 ありがとうございます。
何とか頑張ってみます。
お手数おかけしました。
できれば表を作り直した方がいい。 VBAを使えばすぐできる。 こんなのが理想的。 ──|──|──|──|── コ-ド|1111|1112|1113|1114 ──|──|──|──|── 山田| 10| 20| 31| ──|──|──|──|── 鈴木| 12| 22| 31| ──|──|──|──|── こういう表なら抽出も集計も自由自在にできるようになる。
>>276 D2に山田
D3に=IF(A3="","",IF(A2="",A3,D2))
あとはD3を下にオートフィル
そしてB列に「1111または1112」という条件でオートフィルタをかける
見難ければ、B列をEにうつすなりなんなりで
VBA使わずに関数でやろうぜ
>>280 の二行目は
D2に「山田」と入力するって意味ね
もちろん山田は例えだろうから、実際の表の名前を入れてください
>>280 あっさりできました。
マジで涙がにじんできました。
本当に本当にありがとうございます!!!
いちいち「山田」なんて追加しなくても、これでいける。余分なところに名前が入るけど問題ない。 =IF(A2="","",IF(B2="",A2,D1))
このスレの回答者は以前とかなりメンバーが入れ替わってるんじゃないか? まともな役に立つ回答が増えたと思う。
おまいら作業列に手間かけすぎ。これでいいじゃん。 =IF(B2="",A2,D1)
288 :
名無しさん@そうだ選挙にいこう :2008/05/12(月) 13:49:04
>>286 何故か平日の方が良回答が多い。
しかもレスが早い。
A1セルに外部データ”1”を入力という作業を A100セル,外部データ”100”まで繰り返す場合 マクロで最初の作業を記述したものに変更を加えることで EXCELに自動作業させることは可能でしょうか? VBAはほとんど使ったことがありません
290 :
名無しさん@そうだ選挙にいこう :2008/05/12(月) 14:10:11
Excel 2007でセルに計算式を入力してあるにも関わらず、計算結果が表示されず 計算式そのものがセルに表示されてしまいます。 どこかの設定がおかしいと思うのですが、2007を使い始めたばかりで皆目見当が 付きません。どなたか教えて頂ければ幸いです。 ちなみにExcel 2000ではオプション→表示→数式のチェックボックスをオンにすると 同様の現象が発生していました。
>>289 努力次第ですね。
あと、場合によってはテキストエディタの使い方を覚えるといいことがあるかもしれません。
>>290 Officeボタン→Excelのオプション→詳細設定→計算結果の代わりに数式をセルに表示する
>>288 どっかの会社の事務員が仕事中に2ちゃんねるに貼り付いてる
>289 「外部データ」の意味にもよりますが多分要求していることは可能です。 >290 セルを右クリック→セルの書式設定→表示形式→標準→OK→F2→OK
>>291 EXCELに詳しい人なら可能ということですね
ありがとうございました
>294 補足 計算式が文字列セルを参照しているなら=以降を括弧で括ると良い。
Excel2002です。宜しくお願いします。 他の人から受け取ったExcelファイルのサイズが2.6MBあったので 余白切り落としなど手を加え、一時的に650kBまで小さくなったのですが その後の作業中に6.5MBになってしまいました。 どのシートが特にサイズが大きくなっているなど調べる手はあるでしょうか? またまとめてサイズを小さくする方法はあるのでしょうか。 ・かんたんな表から多少複雑な表まで30シートほどのファイルで ほとんどのシートで他シートの数値を参照していいます。 ・このファイルは、最初一太郎で作られた可能性があります。 その後、代々の担当者がシートを増やすなどしてきたと思われます。 ・サイズを小さくするためにした作業 余白切り落とし・あるていどの書式統一・不要なセル結合の解除など 小さくしようとしている作業中に650kbまで小さくなり、 その後書式などを主に修正している間に6.5MBになってしまい わけがわかりません…
>>295 たぶんそういう意味ではないと思う。わからないことがあるならもっと聞けばいいのに。
誤解したまま勝手にありがとうございましたと引かれるのは回答者もさみしいもんなんだよ。
誘い受けって何だっけ?腐女子用語?
302 :
名無しさん@そうだ選挙にいこう :2008/05/12(月) 15:52:34
>>298 便宜上シート1~30と名づけて話するね
まずそのファイルはコピーして保存しておく
その後、シート1-15を削除したものと残り16-30を削除したもの
二つを用意して、ファイルに保存
サイズを比べてみる
それで偏りがあれば大きいほうを分割、
ほとんどなければ両方分割・・という風にして行けば
答えが出ると思う
>>294 =(A1)なんてかっこでくくっても再編集すると=(A1)って文字列になるようだが?
>>302 レス有難う、
7つのおもりの重さ順を、天秤で最少何手でわかる?というような
クイズを思い出しました。なるほどなるほど。
結局余白部が怪しいシート2つを再度余白切り落としして
(PC止まりそうになりました)解決、635kBへの減量ができました。
シート2つ分の余白で6MBとは恐ろしい・・・
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【5 検索キーワード 】 Excel2007 マクロ 有効 開いたら動くマクロ付きの2003で作ったブックがあるのですが、 2007の入っているPCで開くとマクロが無効になってしまい、 いちいち有効にしてからもう一度マクロを動かしています。 色々ググって見たところ、セキュリティの面から毎回有効に変更せよと 書いてあるところが多いのですが、変更は出来ないものでしょうか?
>>305 すべてのセキュリティを無効にする方法もあるけどおすすめできない。
まず「信頼できる発行元」を自分で作って適当に登録してから、「デジタル署名の追加」をする。
>>293 俺のほかに2.3人常駐してるな
まぁ、いいけどな
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード
すいません間違えて書き込んでしまいました
で? 質問は?
来年書きこみます
313 :
名無しさん@そうだ選挙にいこう :2008/05/12(月) 22:30:32
なんじゃそりゃ
314 :
124 :2008/05/12(月) 22:37:42
>>125 >>127 遅くなりましたが、アドバイスをありがとうございました。
原因が先ほどわかりました。
なんと、幅、高さが 0 になっておりました。
私って、会社ではエクセルが得意っていう評判だったのですが
地に落ちました。。。
VBAで、ユーザーフォーム上にボタンを配置し、クリックすると ごにょごにょしたあと印刷プレビューを出すようにすると 固まってしまいます。ユーザーフォームのウィンドウも消せません。 ユーザーフォームを使わず例えばシート上にボタンみたいなのを作って そこクリックするようにしたらちゃんと印刷プレビューできます。 固まる原因は何でしょうか。
316 :
315 :2008/05/12(月) 22:42:36
ごめんなさい ググったらわかりました
>>316 >>314 さんのように、原因がわかったら、他の人にも知識が共有できるようにその答えをここに書けよ
あぁ失礼。 ユーザーフォームをモードレスで表示するとかでいけそう。
>317 いりません。
320 :
名無しさん@そうだ選挙にいこう :2008/05/13(火) 08:15:00
パスワードで上書き保存されているbookを 読み取り専用で開くコードを教えて下さい。
>320 パスワードを聞いて来いw
323 :
320 :2008/05/13(火) 08:47:52
>322、bookを開くときに「読み取り専用で開く」を選択すると ふつうに開けるんですけど、 それをVBAで開けるかと思ったんですが、
>>323 無理で
VBA程度で開くならパスの意味無いと思うぞ
Excel2007で小計機能を使ったときにグループの基準で指定した項目のところに xxxxxxxx 集計 という感じで「集計」の文字が入りますが、これを入らないようにできますか?
>>325 (1) 小計を出したあとで文字列「 集計」を空白に置換する
(2) 小計機能は使わずにピボットテーブルを使う
場合にもよるけど(2)がオヌヌメ
327 :
名無しさん@そうだ選挙にいこう :2008/05/13(火) 12:32:33
1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 【5 検索キーワード 】OLE オートメーション ご教示お願い致します。 エクセルVBAからアプリケーションソフトを作成したいと考えているのですが オートメーション、OLEという単語は行き着いたのですがこの機能を使って作成 されたプログラムは使用者もエクセルを所持していなければ起動しませんでしょうか。 エクセルで作成したマクロをVBなどに差し込んでエクセル外でも使えるようなことをしたいのです。 なにか良いアイディアがございましたらご助言の程お願い致します。
328 :
名無しさん@そうだ選挙にいこう :2008/05/13(火) 12:44:36
Excel2000をXPで使っています。 置換とマクロに関する質問なのですが、 普通のテキスト文字を、unicode文字を含んだ文字列に置換したいのですが、 ツールバーの置換コマンドから、1文字づつならできるのですが、 置換したい文字が沢山あるのでマクロを書いて自動化しようと思ったら、 マクロのビジュアルベーシック?にunicode文字列を書くことが出来ません。 (文字列をペーストすると?になってしまう) なんとかマクロを完成出来ないでしょうか? Excekが古いからですかね?最新版にすれば出来ますか?
>>327 Excelに固有の機能、例えばワークシート関数やワークシートオブジェクトなどは
Microsoft Excel Object Libraryとして提供されるため、
基本的にExcelがインストールされていないと使うことはできません。
ただし、Excelの持つほとんどの機能はVisual Basicだけでも、努力次第で再現することが可能です。
Excelを使わない方法は、Visual BASICのスレで聞いた方がよいでしょう。
>>328 最新のExcel2007を使っても、VBAの中で直接ユニコードの文字を書くことはできません。そういう仕様です。
ChrW関数などを使うか、テキストエディタ、ストリームエディタ等を使ってください。
331 :
327 :2008/05/13(火) 13:06:31
>329 早々のご解答ありがとうございます。 VBを努力してみようと思います!
ExcelObjectってさあ、Excel本体の試用期限が切れても使えちゃうんだよな… VBは元から無料版があるし… つまり…
333 :
名無しさん@そうだ選挙にいこう :2008/05/13(火) 13:07:53
>>330 ChrW関数ですか。調べてみます。ありがとうございました。
>>328 置換の対応表をどこかのシートに作って、それをVBAで読み込みながら処理すればいい
335 :
名無しさん@そうだ選挙にいこう :2008/05/13(火) 13:21:09
>>334 ああ、なるほど。
でもそれってセル単位の置換になりませんか?
セル内の文字列の一部にも出来ますかね?
できるよ
Excelで書類の管理をする際、ユニークな番号をつけたいのですが3桁の番号を 付加する場合は、どのような形で実装するのが好ましいのでしょうか。 =RANDBETWEEN(0,999) にすると、001や99などが「1」や「99」と表記されてしまい、3桁になりません。 =RANDBETWEEN(0,9) を適当なセル、例えばA1,B1,C1に貼り付けて、D1に =A1&B1&C1 といれれば一応はA1やB1が0だろうと「001」「099」と正常に表示しますが どうもしっくりきません。もっとほかにいい方法がある気がするのです。 また、これは別件になるかもしれないのですが、何らかの方法で作成した その3桁の数字を固定しておくにはどうしたらよいのでしょうか。 流れとしては @(コピーした)テンプレート(←今作ろうとしてるExcel)を開く A開かれた時か、もしくは任意のアクションを起こし3桁の数字が生成される B編集を終了し、次回起動した際には、前回起動時に取得した3桁の数字が保持されている (C何らかの理由で作り直したい場合はそれを再作成可能) としたいのです。(既にVBAの世界でしょうか…) なにとぞよろしくお願いします。
>>337 書式で000にする
ちなみに乱数はユニークじゃないから。念のため。
>>337 RANDBEETWEENで生成した数はユニークではありません。単純に連番をとるのがいいですよ。
340 :
325 :2008/05/13(火) 13:30:27
>>326 集計の前に空白が入りますが、その数が一定じゃないので困ります。
ピボットテーブルは調べてみます。
>>337 どういうタイミングで数字を変更したいのか、今ひとつわからん。
Workbook_OpenとWorkbook_SheetChangeを組み合わせるか、
番号の変更をボタンにして手動でやる。
つーか、単に版の管理をしたいだけと違うの?
番号が一意に決まらなくても大体バラバラになってればいいという管理方法も考えられるけど、 そういう意味なんだろうか・・・
>>337 書式を000にした後
Sub Macro1()
Range("a1") = Int(Rnd * 1000)
End Sub
コマンドボタンを設置してそれに対するイベントが使いやすいと思う
ちなみにその場合は
Private Sub CommandButton1_Click()
Range("a1") = Int(Rnd * 1000)
End Sub
関数だと=INT(RAND()*1000)
だが、コピーして値で貼り付けする必要がある
>>343 ありがとう!クビにならなくてスミソニアン博物館だよ!
>>344 番号がユニークでないのに本当に書類管理できるのか?
ま、どうでもいいけど。
>>344 「ユニークな人」って「おもしろい人」のことだと思ってないか?
>>344 回答した俺自身が何故かすごく不安なんだけど、
よくわからないけどそれでいいならいいか。おめでd
すみません、ソートについて少し教えてください WindowsXP SP2 Excel2002?(2003?、一つ前のバージョンです) VBA使えません でもVBAでしかできない場合、VBAで教えてください! Excel、ソート などで検索 ただ今表を作っていて、左側に単価、右側に商品名で作っています。 それぞれデータの入力は済んだのですが、わかりやすく商品名をABC順でソートしたいと思っています。 ですが、ソート機能でソートすると商品名だけがソートされ、左の単価は置いてけぼりになってしまいます。 なので、商品名をキーにソートし、ソートする際は商品名だけでなく単価もくっつけて並べ替えるということはできますでしょうか? どうぞよろしくお願いします。
>350 ソートする際に、表の商品名部分だけでなく、 全体を選択してからソートすれば単価とかも一緒にソートされる。
>>351 OH!なんと基本的な操作・・・
ありがとうございました。
353 :
350 :2008/05/13(火) 22:28:49
重ねてすみません・・・ 試してみたのですが、ソートのキーが左の単価になってしまい右の商品名をキーにできません。 選択のしかたなど工夫してみたのですがどうしても左側がキーになってしまいます。 初歩的な質問かと思いますがなにとぞよろしくお願いします。
「最優先されるキー」を選びなさい
重ね重ねありがとうございます…
>>355 いいかげんにしてくれ。
まあ別にいいんだけどさ。
聞く前に3分くらいさわってみろよ。
>>356 352 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/05/13(火) 22:23:47
353 名前:350[sage] 投稿日:2008/05/13(火) 22:28:49
5分くらいさわってみてる模様
データ→並び替えでやればすぐに分かると思うが メニューバーのボタンって初心者にとってはある意味、無いほうがいいよな
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【5 検索キーワード 】 EXCEL 使い方 ファイルAのとあるセルに入力したデータを別ファイルのファイルBの セルに反映させることは出来るのでしょうか? よろしくお願いします。
OS_XP/Excel_2003 ある列に0〜100までの数値が数百行あり、その数値が0〜50の場合にのみ その値をグラフに散布図として描画したいのですがどうすればいいでしょうか また、同じグラフに二次曲線も描画したいんですが、よろしければこれもお願いします
【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 経過時間,カウント マクロの処理速度を上げるために Application.ScreenUpdating = False を記述しました。 しかし,重い処理のため,実行終了まで20秒ほどかかります。 この間,処理中である旨のダイアログボックスを出し続けたいのですが, どのようにすればよいでしょうか? できれば,経過時間をカウントアップする表示が出せるとさらに嬉しいです。
>>363 ダイアログボックスを出したまま処理を続けるには「モードレス」という種類のダイアログを
出さなくてはなりません。
それに対して、ボタンを押すまで処理が止まってしまうダイアログは「モーダル」といいます。
しかしExcelではモーダルしかサポートしていません。これは仕様です。
時間経過を表示するには、タイマーを使って定期的に一瞬だけScreenUpdatingをTrueにして、
どこかのセルかボタンに時間を表示するしかありません。
>>362 作業列に
=if(and(0<=a1,a1<=50),a1,"")
として、この列を使ってグラフを作る
ユニークが気になって眠れません
「書式設定」と「ユーザー定義」を混同して「ユーザー設定」って覚えてる人多いね。 俺も確認するまで間違えてた。
372 :
369 :2008/05/14(水) 01:46:13
やべw間違えてたわw
373 :
363 :2008/05/14(水) 02:24:39
>>364 始めに,処理先のシートの内容を全削除してから処理をはじめるマクロですので,
どこかのセルに表示するというのは難しいような気がします。
>>366 紹介ありがとうございます。
しかし,紹介されたマクロのパーツを,目的のマクロのどの位置に挿入しても,
「処理中」が表示されている時間+何も表示されない20秒間としかならないようです。
>>373 経過時間はあとから表示させるんだから、全削除しても別に問題ないだろ。
あとパーツってなんだ?
まさかSubをそのままコピペしてCallで呼び出してるんじゃないだろうな。
リンク先のVBAはあくまでもサンプルだから、目的に応じて書き換えるんだぞ。
>>373 自作のマクロの先頭に
Application.StatusBar = "処理中..."
最後に
Application.StatusBar = False
と書け
377 :
363 :2008/05/14(水) 03:12:21
>>374 処理先のシートには,処理によって生成される内容以外は
書き込みしないほうが良い。
という旨で書いたのですが,うまく伝わらなかったようですみません。
「パーツ」という表現は,自作のマクロに組み込む
Dim i As Long
For i = 1 To 20000
If i Mod 1000 = 0 Then
Range("A1") = i
Application.StatusBar = "処理中..." & String(Int(i / 1000), "■")
End If
Next i
Application.StatusBar = False
の部分という意味で書きました。これもうまく伝わらなかったようですみません。
>>375 これも,
>>366 を拝見した後に試しましたが,やはりステータスバーでは,
他人がこのファイルを扱った場合,目にとまらないようであきらめました。
で,結局,
Office TANAKA - Excel VBA(「お待ちください」メッセージの表示)
http://www.officetanaka.net/excel/vba/tips/tips23.htm#Message3 でいくことにしました。これならば中央に表示することができますので。
経過時間そのものの表示が第一の目的ではなく,「画面表示が更新されないが,
ハングアップしているわけではありませんよ」という旨を伝えるためのメッセージが
表示されれば良いわけですので。
おつきあいいただいた皆様,夜遅くにありがとうございました。
378 :
363 :2008/05/14(水) 03:18:46
追記: メッセージ=ダイアログボックス という固定観念が敗因でした。 UserFormを使えば良いということを学び,目から鱗が落ちました。
>>377 Application.StatusBar = Falseの時点でステータスバーがクリアされるんだから、
そのまま並べて書いちゃダメだろ。For〜Nextもまったく意味がない。
もうちょっとVBAをちゃんと勉強して、それぞれの行の意味と役割を把握した方がいいぞ。
今回はとりあえず解決したみたいだけど、サンプルの切り貼りだけじゃいずれ限界が来る。
↓お次はピボ厨の番ですよ
382 :
363 :2008/05/14(水) 07:36:45
>>379 イヤミをかくよりも解決策だけサクッと書いてやればいいのに。
383 :
363 :2008/05/14(水) 07:41:26
途中で書き込んでしまった。
>>379 もちろん,自作のマクロに組み込む際には
Application.StatusBar = False
までは一緒の場所に記述せず,最後の方に書きました。
でも,自分の無知や,レス書き込みの細かい部分に不備が多かったのも
事実なので,
>>379 さんもありがとう。無視されるよりはよほどありがたい。
名前欄消し忘れですか?
>>384 いやそうじゃないだろう。まあいいじゃないか。
ところで
>>363 はVBAで何を作っているの?
パソコンによっては、ステータスバーが乗ってるフォームが 真っ白になることない? これ回避できないかな。
Excel2002、VBA×です。 タテヨコの座標を指定して、 乱数表やレーティング表の中から数字を拾いたいのですが VLOOKUPのような関数のみで解決できますか? なんという関数を使うのか教えてください。
388 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 09:43:42
>387 OFFSET
390 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 10:04:57
すいません、どうしてもわからないので質問させてください。 9月 10月 11月 12月 1月 4月 数値 数値 数値 数値 数値 数値 数値 数値 数値 数値 数値 数値 のようなデータを折れ線グラフにしたいのですが、 勝手に2月、3月も表示されてしまいます。 いれたままをグラフで表示したいのです。 月表示を文字列にすれば、うまくいくのですが 年月日のまま、できないでしょうか。
391 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 10:30:32
>>513 hiroakiか〜。タル盾じゃなかったかな。赤盾とか忍とか。
随分前だが、白門で装備除いたら、すげー怒られた記憶あるな。
まあ変なのは相手にしないのが吉でしょ。
>390 散布図
すみません、質問させてください 条件付書式を使ってできた罫線やセルの色つけなどの 見た目はそのままで条件付書式を外す方法はないでしょうか よろしくお願いします
>>389 ありがとう。
OFFSETの説明を読んだら脳が止まってしましました。
下の具体例で蘇生させていただければ幸甚です・・・
[表]
6|7|8|9 表はタテヨコとも1から始まっていません。
20 あ|い|う|え 「あ」〜「せ」 は整数です。
21 か|き|く|け
22 さ|し|す|せ
ヨコ軸の数値を指定するセル X1( 8)
たて軸の数値を指定するセル Y1(21)
この条件で表から拾われる数値は「く」
>>393 印刷時に外れたらいいってことか?
それなら印刷プロパティ辺りにある白黒印刷
でも枠線はそのままだと思う
>>394 A6,B6でタテヨコ指定するとする
C6辺りに
=VLOOKUP(B6,A1:E4,MATCH(A6,1:1))
何か他の方法があった気がするけど、忘れた
>>393 俺のエスパーでは、たとえば1行置きに色を付けるとか、シートのデザインを決めるために
条件付き書式を使ってみたが、本来のデータを入れるのにその書式が邪魔とか、
そういうことではないか?
>395 説明が足りずすみません セルが空白でなければ罫線を引く 特定の値だったらセルに色を付ける といった条件付書式が反映されて 罫線が引かれ色が付いた表のみを どこかにペーストできないかと思いました ペースト後はセルをブランクにしても罫線は消えないし 値を変えてもセルの色つけは残る、 ということになります 数表を300ほど作成する必要がありまして 条件付書式で体裁を整えたのですが 先方からデータが重たくてハンドリングしづらいなどの 注文があったため、何とかならないかなと思いました 一度WORDにペーストしてからEXCELに戻す といった方法も試しましたが 列幅、行高などが反映されないため使えませんでした
>>397 ワード経由で条件の消えたデータを、もう一度元のシートにコピペ
>>397 コピペする時に、シートの左上をクリックして全体を一度に範囲選択すると、幅や高さまでコピーされちゃうけど、
ドラッグで範囲選択してコピー、A1をクリックして貼り付けならセルの幅や高さはペーストする前と変わらない。
ちなみにCtrl+Endでシートの右下に一発で飛べるから、範囲選択の的に活用するとよい。
400 :
344 :2008/05/14(水) 14:01:11
VBAで乱数を作ると、先頭がゼロサプレスされて例えば「001」は「1」になっちゃいますよね? それをセルの書式設定→[表示形式→]ユーザー定義で「000」にて、ゼロパディングして、 無理やり3桁にして表示してるわけですよね。 えーとつまり何が言いたいかというと、「A2=9999」、「A3=ランダムで作った3桁」とすると 「A1 = A2 & A3」とやると、A3が「001」とか「010」だとA1の書式を弄ったところで「99991」とか 「999910」になってしまうんですよ…どぎゃんしたらよかとですか? 早くも再びクビの危機です。お願いします。
403 :
400 :2008/05/14(水) 14:19:22
>>401 イケメンジーニアスすぎてワロタwwwwwwwwwwwww
ありがとうございます。なんとか首は乗り切れそうです。
すごいなぁ…Excel詳しくなくてもわかりそうなことなのに…
これがイケメンとブサメンの違いですね、フヒヒわかります。
お前クビな
うん、首だ。
ブサメンって理由でクビにされる世の中か・・
408 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 20:52:40
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003SP3 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 『エクセル 2列 照合』等多々 すみません、いろいろ検索してみたのですが、 検索の仕方が悪いのか、どうも違うものばかりなので、質問させていただきたいです。 よろしくお願いいたします。 ある列には、ある商品についての問い合わせメールが来た日付が、 次の列には、商品の購入日付が書いてあります。 問い合わせメール以外からの購入というパターンもあるので、 購入日付欄に日付の記載がありながら、 問い合わせメールの欄が空欄になっている場合があります。 問い合わせメールが来た人のうち、購入にいたっていない人数を集計したいのですが、 どのような関数にすれば、その人数を集計できるでしょうか。 お手数ですが、分かる方、お教えくださいますよう、どうかよろしくお願いします。
>>408 日付をキーにしての照合は原理的にできないはず。
問い合わせ、購入の両方に共通する管理番号を用意してそれをキーに
照合すればいい。
410 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 21:06:56
>>408 やり方は色々あるけど入門的な例として
A列:問い合わせメールが来た日付
B列:商品の購入日付
とすると
C列:=COUNT(A:B)
問い合わせメールが来た人のうち、購入にいたっていない人数は
COUNT(A:A)-COUNTIF(C:C,"=2")
411 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 21:10:02
>>409 早速のお返事、ありがとうございます!
なるほど、管理番号。
準備させていただきます。
でも、すみません。
その照合ってどうすればいいんでしょうか…。
とりあえず自分では、K列に文字があって、L列に文字がない行の数を数えるという関数を作ろうと、
あれやこれや四苦八苦しておりました。
(って、本などを見てもどう組み合わせるか検討がつかず、ずっと検索していたのですが…)
案などありましたら、教えていただけませんでしょうか?
412 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 21:11:37
>>410 ありがとうございます!
エクセルに入力していじってみます!
413 :
409 :2008/05/14(水) 21:25:14
>>411 区分 管理番号
問合 1
問合 2
問合 3
問合 4
問合 5
問合 6
問合 7
問合 8
問合 9
購入 3
購入 5
購入 6
購入 4
こういうデータを用意してピボットテーブル。
行のフィールドに管理番号
列のフィールドに区分
データアイテムはなんでもいい。区分にでもして。
できあがり。
>>411 この場合はオートフィルタ使ってみるのもいいかも
""
と等しい と等しくない
辺り使ってみて
問合せ和の内容がよくわかるかも
415 :
409 :2008/05/14(水) 21:43:17
できあがった集計表で区分と管理番号の合計が2になっている行数を数えればいい。
416 :
409 :2008/05/14(水) 21:46:26
ごめん。
>問い合わせメールが来た人のうち、購入にいたっていない人数を集計したい
んだったっけ。
問い合わせメールの件数-
>>415 の件数だね。
417 :
名無しさん@そうだ選挙にいこう :2008/05/14(水) 21:47:42
完成しました!!! しかも、完璧に! みなさん、ありがとうございました♪♪♪
おめでdj
409・・・・・・・・・・
420 :
360 :2008/05/14(水) 22:31:24
>>361 ありがとうございます。
最後の質問です。
質問は二点あります。
1.同じようにファイルAのとあるセルに入力したデータを別ファイルのファイルBの
セルに反映させるときに、ファイルAで入力したものをファイルBのセルに合わせて
見やすく改行出来るように設定出来るのでしょうか?
2.ある文字を入力した時にセルの色を設定した色に自動的に変化させるようにすることは
出来るのでしょうか?もしくは、文字だけでなくセルの色も反映出来るのでしょうか?
>>420 1.セル内で改行はセルの中身を編集中にalt+enter
2.書式→条件付書式
例えば「か」が含まれるてるセルを探す時は
条件1の下を
数式が
=FIND("か",A1)>0
にして、書式をクリック。後はパターンなどを適当に変更してok
422 :
421 :2008/05/14(水) 22:49:11
2はちょっと訂正 2.例えば「か」が含まれるてるセルを探す時は A列を選択 書式→条件付書式 で 条件1の下を 数式が =FIND("か",A1)>0 にして、書式をクリック。後はパターンなどを適当に変更してok って感じで
423 :
360 :2008/05/14(水) 23:17:44
>>421 とても分かりやすくありがとうございます。
2についてはその方法で十分に満足しました。
1は、ファイルBのセルの大きさに合わせて、ファイルAの入力内容が
自動的に改行されるように設定出来ないでしょうか?
例えば、ファイルAではセルの結合を使い横に長い文字列を入力したとして
ファイルBの縦に長いセルに反映させたいとしたとき、そのまま反映されると
ファイルBでは文字列が切れてしまうので、ファイルBにあわせて改行してくれるように
設定したいのです。
>>423 変わったことしたいんだな。
最終的にやりたいことは何?
なぜ複数のファイルを扱いたいの?
425 :
360 :2008/05/14(水) 23:40:46
>>424 簡単に言うと、集団で共有しているエクセルファイル(個人が各々編集する)を
個人的に見やすいフォーマットに落とし込み、常に変化する共有ファイルを自分用ファイル
に常に反映させておきたいのです。
共有ファイルのフォーマットを変えられれば一番早いのですが、それが出来ないので
このような事態になっています。
>>425 書式→セル→配置→「折り返して全体を表示する」にチェック
Sheet1〜10まで同じ様式のデータを入力したのですが、 一括してグラフ化する事は可能ですか?
>>428 ファイル→ページ設定→ヘッダー/フッター→フッターの編集
430 :
428 :2008/05/15(木) 01:26:06
区切り位置で区切り文字(カンマなど)にチェックを入れると、 エクセルを閉じるかチェックを外さないと、何かを貼り付けたときに その区切り文字で勝手に区切られてしまいます。 そこで、区切り文字のチェックを1度の区切り実行だけに適用し、 実行後は自動でそのチェックが外れるようにしたいのですが可能でしょうか?
>>431 一度区切り位置を設定すると、その後ファイルを閉じるまで
その区切りは設定されるみたいだな
以下を実行するかコマンドボタン辺りに設定すると解除できる・・と、思う
変になるならマクロの記録→区切り位置で何も設定しなければok
Sub macro1()
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
End Sub
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 PASSWORD IF file 会社の規則で、全てのファイルにはパスワードをつけないといけないことになっています。 週一回、全てのファイルにパスワードがかかっているかチェックしているのですが フォルダ数、ファイル数が膨大のため、ひどく時間がかかっています。 パスワードは全員共有のため(仮に「7777」)、次のようなマクロを作ってみました。 fnm=dir("G:\") do if fnm="" then exit do workbooks.open tilename:=fnm,password:="7777" workbooks(fnm).close savechanges:=false fnm=dir() loop ひとまず、パスワードがかかっていなかったら止まる、というだけの単純なものです。 私の知識ではここまでしかわかりませんでした。 しかし、これでは重いファイルをわざわざ開く時に無意味に時間がかかってしまいます。 ファイル自体を開かずに、 「もしパスワードがかかっていたらスルー。かかっていなければ開く」という判定をしたければ どうすれば良いのでしょうか? マクロが終了した時点で開かれているファイルがパスのかかっていないファイルだ、と。
>433 その規約に異論を唱える人はいないのか?
目的と手段がごっちゃになっている良い例だねw
すみません、Excel でデータベースもどきを作ってるのですが、 A列に通し番号を入力しています。 (0001 , 0002 , 0003 ) ですが、行挿入・行削除を行うと、その通し番号に空きが出たり、 うまく通し番号になりません。 (再度オートフィルで入力すればよいのでしょうが…) 行挿入・行削除を行った際、自動的に現在の行番号を取得し、 A列に自動入力させるというようなことは可能なのでしょうか? 可能でしたらご教授願います。
>>438 A1に=ROW(A1)
後は下へオートフィルタ
オートフィルタじゃない、オートフィルでしたゴメンナサイ
441 :
438 :2008/05/15(木) 16:09:06
>>439 さん
ありがとうございます。
行削除については対応できたのですが、行挿入の際には自動挿入されないようです。
…と思ったのですが、Excel で行の挿入を行った場合、
当然空白の行が挿入されるわけで、行挿入を行った A列のセルももちろん空白になっているから、
自動入力されないんですもんね。
Excel の仕様上無理なことだと理解できました。
この認識で合っていますか?
つうかデータベース作っているなら、行挿入なんかするなよ。w
Excelを何だと思ってるんだろ・・・
>>441 データベース的な使い方をするときは空き番号を気にしないほうがいい。
あくまでも識別子だと割り切って。本物のデータベースもいっしょだよ。
=row() ってさ、A列の左の列に入ってるジャマイカ
リストにすればいいじゃん
>>446 見えないお馬○さんもいるんだよw
アホくさい使い方だ( ^∀^)
初心者の頃は誰もが通る道だな。 嘲笑うような事じゃ無い。
その内何が必要で何が不要か見えてくるさ ・・・多分
451 :
名無しさん@そうだ選挙にいこう :2008/05/15(木) 19:46:36
このスレが一番いらねー
見なきゃいいのにageてまで書き込むアホw
そういやこのスレ、ちょっと変わった奴はいても荒らしって本当に出ないよな
と
>>451 を見て思った
質問者も回答者も共にレベルが落ちてるから 荒らしてもツマンナイからだろ
質問です 1 分数で、13/1000とかを使いたいのですが、1/100になってしまいます。 分母を1000の単位にすることは不可能なのでしょうか。 2 どのような関数が組まれているのか判明しなかったのですが、合計値が合わないと赤文字になる機能が組まれています。 しかし、手計算をすると合計値は合っています。赤文字にしない方法はないのでしょうか。
456 :
名無しさん@そうだ選挙にいこう :2008/05/15(木) 21:41:42
列にならんだ数字の中から最大のもののセルの1つ左のデータをコピーしたいです 3 5 4 8 5 4 ↑の場合だと4という値をコピーして違うところに貼り付けたいです。 MAX関数を使って「5、8、4」の中から8を選ぶところまでは考えたのですが、次の1歩が思い浮かびません。 どのようにすればよろしいでしょうか?
>>455 1. 書式を?/1000
2. 条件付き書式をチェックしる
>>456 =INDEX(A:A,MATCH(MAX(B:B),B:B,0))
459 :
名無しさん@そうだ選挙にいこう :2008/05/15(木) 21:55:48
>>458 ありがとうございます。こういうのがパッと思い浮かぶって凄いですねww
勉強になりました!!
>>457 条件付書式とはどこにあるのですか?
数式タブでしょうか?
それともセルの設定でしょうか?
【1 OSの種類 .】 WindowsXP home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 エクセル スクロール マウス 内容を表示 ドラッグ中 スクロールバーをマウスでドラッグしている間も内容を表示させたいのですが、 オプションのどの項目なのか分かりません。 ・windows自体の画面のプロパティ→デザイン→効果の 「ドラッグ中にウィンドウの内容を表示する」にはチェックを入れています。 ・エクセルのオプションはほとんどいじった覚えはありません。
>>463 リストボックスの中のこと?
あれなら無理
ちなみにドラッグ中に〜はエクスプローラのことなので、関係ない
>>463 うちじゃ何もしなくても表示されてるがなあ。
具体的に、何が表示されなくなる?
>464,465 セルの内容です。 ドラッグしてる間は、スクロールバー以外は何も動きません。
>>464 >ちなみにドラッグ中に〜はエクスプローラのことなので、関係ない
間違ってるよ
>>456 VBAで処理しても良い?それとも関数しかダメ?
テンプレくらい読めよ。
>>463 相当スペックが低いor相当ブックが重いとコマ送りになることはあると思う
>>469 メモリは512Mでそこまで低くは無いかと思います。
100KBくらいの軽いファイルでも動作は同じです。
コマ送りというより、マウスでつかんだとこから離したとこまでワープする感じです。
IE、エクスプローラ、OpenOfficeなどの他のソフトではちゃんと内容を見ながらドラッグできます。
>470 スペックってメモリだけじゃないぞ… で、512はどっちかっていうと低い部類
Wordではどうなんだろうか?
473 :
463 :2008/05/16(金) 00:45:21
コンパネのプログラムと追加と削除から再インスト&再起動してみましたが、 変化はありませんでした。 >471 いやまあそうかもしれませんけど今回は問題じゃないかなと。 >472 ワードでも同様にワープでした。 はーわからん。とりあえず寝ます。レスくれた皆さんありがとうございます。
Workbook_open auto_open ファイルをクリックすると、「マクロを有効にする?」と聞かれてから、 上記らの関数が実行されます。 この「有効にする?」を無くすことができないでしょうか?
Excelのバージョンは?
477 :
475 :2008/05/16(金) 02:27:48
>>473 にちゃんねらーに頼るぐらい知識がない馬鹿が
なんで自分の愚かな判断で「今回は問題じゃないかなと。」なんて言えるのかがまったく理解できん
おまえは馬鹿なんだから問題か問題じゃないか判断する必要はない
480 :
名無しさん@そうだ選挙にいこう :2008/05/16(金) 11:38:40
【1 OSの種類 .】 WindowsXP pro SP2
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 excel2003 フォント 重い
excel起動後最初のフォント変更が異様に重いのですが、
これはどうにかすれば直るものでしょうか?
http://oshiete1.goo.ne.jp/qa3462206.html この質問者と似たような症状だと思いますが、今のところ
明確な回答が無いようですので質問致しました。
宜しくお願い致します。
【1 OSの種類 .】 WindowsXP Pro SP2 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 腹痛 ストッパ 正露丸 電車 朝から腹が痛いのですが、移動中だけでも腹痛が起きないように するにはどうするのが一番でしょうか。 関係あるかどうかわかりませんが、今朝はバナナを一本と コーヒー(うち一杯は粉末コラーゲン入り)を飲みました。 何も分からない初心者ですがよろしくお願いします。
>>482 コーヒーのブラック・・胃を刺激し胃液を多く分泌→下痢にさせる効果
ブラック以外のミルク・・大人になると牛乳に入ってる成分(何か忘れた)を分解しにくくなるため、
それを早く排出しようと下痢になる
後、何であれ空いた腹に胃に物を入れると結腸という部分が刺激されて便を出そうとする
胃腸の働きを正常にさせるにはリンゴが非常に良く効くのでそれも食べるといい
またバナナも栄養価が高くバランスも優れているのでリンゴと合わせても食べるほうが良い
他には朝早く起きて朝食を早めに取り、便を一度出してしまえば腹痛は治まる
正露丸の効果は興味がないので良く知らない
あと今気づいたけど板違い
>>483 コマンドプロンプトで起動し、regedit /restoreを実行し、
ルータを再起動させてからofficeを一度アンインストールし
Visual Studioをインストールしてからofficeを入れ直し、
インストールを待つ間にトイレに行き、Windowsアップデートを
かけて、入っていなかった更新を取り込んだ後再起動したところ
気づいたら腹痛の症状が出なくなっていました。
何が効果を奏したのかはよくわからずじまいになってしまいましたが
とりあえず直ったので安心しました。ありがとうございました。
485 :
名無しさん@そうだ選挙にいこう :2008/05/16(金) 15:53:31
【1 OSの種類 .】 WindowsXP pro SP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 わずかに 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ? エクセルで線を引くときの質問です。 線と線の交わるところに、黒い点をつけたいのです。 黒い点があれば、その二つの線はつながっている。 黒い点がなければ、つながっていない。というようなことを表現したいです。 可能でしょうか?
>>485 オートシェイプの矢印のスタイルの中に、端に点の付いた線がある。
罫線ではできないよ
>>485 線と黒塗りの丸をグループ化するのもいいかも
488 :
485 :2008/05/16(金) 16:28:20
返信ありがとうございます。 黒い●を作って対応してみます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 いいえ 【5 検索キーワード 】 どういうキーワードで検索していいか思いつきません、すみません 下記の表のB列のセルには、その行から見て何行下のA列に○があるかを表示しています。 A B 1 ○ 2 2 × 1 3 ○ 3 4 × 2 5 × 1 6 ○ 1 7 ○ 1 8 × 0 このB列を自動で表示させることのできる関数はありますでしょうか? よろしくお願いします。
490 :
489 :2008/05/16(金) 17:24:53
ちょっと考えたら自己解決してしまいました。 B列に、 =IF(A<n+1>="○",1,A<n+1>+1) でできました。 お騒がせしてすみませんでした。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 [EXCEL 数式をコピー 結果が同じ] [EXCEL2007 バグ] 初めまして。EXCELで表を作成していたところ不思議な現象がおきたので質問します。 A B C 1 100 200 =B1/A1 2 110 210 3 120 220 4 130 230 5 140 240 6 150 250 7 160 260 8 170 270 9 180 280 上記のような表があるのですが、まずC1には2と表示されると思います。 そしてC1の数式をC2〜C9にまでコピーするとそれぞれの計算結果が出ると思いますが、 なぜかC1での計算結果がC2〜C9にも表示されてしまいます。 ですがC2には=B2/A2などその行にそった数式がしっかり表示されています。 そしてまたおかしなのが、その問題が起きるワークシートでは発生するのですが 別のワークシートでは発生しないということです。 別のワークシートを作成したので事なきを得ましたが、なぜこのような現象がおきたのか不思議でなりません。 このような現象が起きる原因をご存知の方はいらっしゃいますか? このような現象が起きた事を聞いたことがあるという情報だけでも結構です。 何か情報をいただければ幸いです。
>>491 Excel2003ならオプションで計算方法を手動にすれば再現できるな
多分2007でも同じだろう
>>492 すばやい返答ありがとうございます
EXCEL2007でもそのような設定項目があり手動になっていた所を
自動にしたら通常通りコピーでしっかり計算結果が出ました。
悩みすっきりで気分が良くなりました。
ありがとうございました!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 棒グラフ 間 色 Excelで15本くらいある棒グラフの上から2本分の間だけ色を付けたいのですが出来ますか? 面グラフを使うと目盛りが表示できなかったり、色がごっちゃになるのでうまくいきません。 フリーフォームを使うにはあまりに複雑だし… なにかいい方法はあるのでしょうか。
>>494 上から2本っていう事は横棒グラフ?
2本分の間ってどういう意味?
いまいちわがんね?
>494 棒グラフに区分線を追加して、その間に色を塗りたいってこと? 区分線の表示は、データ系列の書式設定で 区分線にチェックいれるとできるけど。 塗りつぶす方法はわからんw
497 :
494 :2008/05/16(金) 20:56:24
>>495 すいません。
棒グラフじゃなくて折れ線グラフでした。
>>497 >>494 と総合してみる。
「折れ線グラフの上から2本分の間だけ色を付ける」のか?
意味がわからんw
エスパーしてみると、最大値が100で20間隔で目盛りがついてるとして、 80から100の間に入る折れ線だけ別の色にしたいとか。
500 :
463 :2008/05/16(金) 22:07:32
>>474 遅くなってすみません。
日立のノートで、PCF-PN37NTです。
まだ見ておられたらよろしくお願いします。
>>479 はいすみません。
>>500 OSのスクロールバー関連の設定を変更したんじゃないか?
直接的な表現でなくてもマウスやその他の設定ソフトで。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ほとんどわからない 【4 VBAでの回答の可否】 簡単な方法があれば可 【5 検索キーワード 】 excel ピボットテーブル データ 1 Aさん 本年 100 2 Aさん 前年 90 3 Aさん 目標 110 4 Bさん 本年 77 5 Bさん 前年 80 6 Bさん 目標 90 7 Cさん 本年 120 ・・・というかんじで、3行セットでデータが続いています。 これを、ピボットテーブルをつかって 名前 本年 前年 目標 Aさん 100 90 110 Bさん 77 80 90 Cさん 120 という形にしましたが、 「目標」の右隣りに「前年差」という項目(列)を追加して 本年 − 前年 の式で値を表示したいのですが、 どのようにすればよいのでしょうか? ピボットテーブルでは無理なのでしょうか? よろしくお願いします。
503 :
教えてください :2008/05/16(金) 23:07:53
日にち・曜日・金額というレコードを作り 一週間の金額合計を求めるにはどうすれば良いですか? 一週間の入力分が3日や4日のこともあります。 よろしくお願いします。
504 :
503 :2008/05/16(金) 23:10:28
【1 OSの種類 .】 Windows*xp 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否
506 :
503 :2008/05/16(金) 23:30:39
5/1 月 100 5/2 火 30 5/3 水 150 5/4 木 200 5/5 金 100 ×××←ここに5/1から5/5までの合計 5/7 月 100 5/9 水 20 5/11 金 50 ×××←ここに5/7から5/11までの合計 ということは可能ですか?
508 :
名無しさん@そうだ選挙にいこう :2008/05/16(金) 23:41:20
セルに入ってる計算結果の数値をコピーするにはどうすればいいんですか? セルクリックしてコピーしても計算式しかコピーできません・・
>>508 右クリック→形式を選択して貼り付け→値
>>508 コピーして貼り付けのサイに右クリック
その中から形式〜→値を選択
511 :
名無しさん@そうだ選挙にいこう :2008/05/16(金) 23:56:47
教えて下さい。 RSSでデータをエクセルにひきこんで、その数字をリアルに見る事はいまやっていますが、 その数字をリアルに折れ線グラフに表していく方法はありますか? マクロとか使えばできるのでしょうか? 場が終了してからだとどういうことでもできるのですが、リアルに取り込んだ数字をグラフに表したいのですが、 もし知っている方いましたら、教えてください.ヨロシクお願い致します。
>>511 VBAを使えばグラフのデータの範囲は自由に変更できる
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 VBA組んだことがないです 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 平均値 文字列 項目 氏名A 氏名B 氏名C 平均値 1 **** *** * 2.67 2 ***** * *** 3.00 平均 4.5 2.0 2.0 こんな感じで項目ごと5段階の「*」でスキルを表すデータを表示しているのですが 平均を求めるのにいい方法はないでしょうか? 試しに =LEN(B3&C3&D3)/COUNTA(B3:D3) といった具合に文字数をカウントして、右の平均なら人数をカウントした数値で割る 関数を作ったのですが、項目が数10個になってしまい LEN(B3&C3&D3) のような計算方法では挫折してしまいました。「*」のセルは文字列で入力してあるのですが このような多くのセルの文字数をカウントするのによい方法はないでしょうか?
514 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 00:10:27
>>512 RSSで取り込んだ刻こくと、変わる数字を折れ線グラフに自動で書いていくということなのですが、、、
その初歩がわからないのですが。
手順を教えていただきたいのです。
よろしくお願いいたします。
>513 =SUMPRODUCT(LEN(B3:D3))/COLUMNS(B3:D3) ただスキルを文字数だけで判断するのはマズイのでは? 空白文字が入っていても、見た目わかんないよ。
>>515 ありがとうございます
SUMPRODUCTはこういう計算にも使用できるんですね。勉強になりました
文字数については入力規則の設定と条件付書式でわかりやすくしたいと思います
>>513 元データを文字列じゃなくて数値にしとけばすごい単純な話だと思うんだが。
>>517 お偉いさんの希望で文字(実際は○なんですが)で表示させるハメになってます
1〜5の数値を入れることで見た目上 【 ○○ 】とか表示させる方法がわからなかったので
この方法にしてみました
519 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 02:11:03
商品名 値段 個数 合計 ○○ 400 2 800 △△ 500 1 500 ▲▲ 600 1 600 □□ 700 1 700 ■■ 800 1 800 商品名と個数を書き込むだけで値段を書き込まなくも合計まで出せるように するにはどうしたらよいしょうか? 値段は表示する必要はありません。
>>518 数字を記号の数に変換するには
=LEFT("○○○○○",A1)
なんて方法もある。
作業列や作業シートを用意して、そっちに数字で入れてしまうのが簡単でいいと思うぞ。
522 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 08:52:13
エクセルの操作についての関連質問と言うことでお願いします。 列毎に 品名 数量 日付を入力する場合、 たとえば、りんご 5 08.05.17 を切替することなく、その列に行ったら入力できるようにするには どうしたらいいですか。
>>522 よく意味がわからんが、エスパーすると
入力規則で設定したらIMEで入力モードの切り替えはしなくてもいいよ
1つのセル内でに3つの項目を入力したい場合はIMEは手動で切り換えろ
ってか、そんな入力するならWordをつかえ
525 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 10:25:28
シート1に打ち込んだデータを自動的にシート2に貼り付ける方法はありますか?
VBA リンクなら=Sheet1!A1
>>525 シートのグループ化というのがある。
でもこんなのが必要になる局面が想像できない。
やりたい操作じゃなくて実現したい仕事を書いてみて。
528 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 10:42:13
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ユーザーフォームが立ち上がっている時、等等 現在シート1に下の様な記述をしています。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) UserForm2.cmb_Seiri.Value = Cells(Target.Row, 1) End Sub UserForm2を立ち上げたままセルをクリックすると、クリックした行の1列目の 値を取得するという物ですが、現在のままだと UserForm2を立ち上げていなくても、cmb_Seiriの値を取得してしまいます。 If userform2.○○=true then UserForm2.cmb_Seiri.Value = Cells(Target.Row, 1) end if の様に、userform2が立ち上がっている時だけ (立ち上げたままセルをクリックして値を取得するので「アクティブな場合」では無いです) 上のコードを実行する方法を教えて下さい。 よろしくお願いします。
529 :
522 :2008/05/17(土) 10:52:03
>>523 各列毎に全角入力になったり、半角入力になるという意味です。
一つのセルの中でではありません。
入力規則は、ドロップダウンリストは使ったことはありますが、
この入力モードの自動切り替えが出来るという意味でしょうか?
530 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 10:57:40
>>527 自分が使うだけならいいんですけど、みんなが簡単に使えるように
打ち込んだデータそ別の仕様シートにうまく貼り付けることができれば
すごく便利になるのですが。
以前勤めてた会社ではメールで送られてきたデータを1つの操作(別のウィンドウが
出てそれをクリックするだけで)別の仕様のシートに貼り付けて印刷まで
自動で出せるようになっていたので。
531 :
522 :2008/05/17(土) 11:02:49
>>530 これはデータを提供する側が考えることではなくて、データを受け取った側がそれぞれの仕様にレイアウトすればいいんじゃないのかな。
実際あなたは他人のシートを自由にいじれる立場にある?
533 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 11:04:19
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 RSSで数字をパソコンにリアルで取り込みます。 この数字を折れ線グラフにリアルに表しつずける。 現在リアルに数字を見ていますが、この先がわかりません。 折れ線グラフを表し続けることが、できないのです。 よろしくお願いします。
534 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 11:08:16
>>532 自由にできます。
今回は打ち込んだデータを別の仕様にしたシートに貼り付けるところまでやりたいのですが
方法はありますか?
>>533 そんなにリアルにしたかったら写真を使ってみたら?これからも努力をつずけてね。
536 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 11:13:45
>>534 別シートに貼り付けると言っても
リスト→調票
なのか
リスト1→リスト2
なのかがわからないと何とも言えない。
リスト→調票なら
VBAが一番軽いが数式でもできる。
VBAなら1〜500の調票を一括印刷みたいな事もできる。
とりあえず情報が少なすぎる。小出しにするなら死ねばいいんじゃないかな?
>>534 それなら
>>526 さんの回答通りでいけそうです。
参照するだけで十分なら二番目のように=だけで解決。
538 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 12:28:33
>>533 下に伸びるリストならデータ範囲を予め多い目にとっておくとかしか無いかと。
グラフの空白部分ができるが嫌ならVBAかな。
540 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 12:51:01
>>538 意味がわかりません。
VBAのところを、それらしきところがあるか、見出しをみてみたがそれすらなかった。
取り込みデータのリアルグラフ化みたいなみだしで探したのです。
541 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 13:02:09
>>538 加工したその数字(1000、1030、1050、1020、1080)とリアルで変わりゆくのをリアルで折れ線グラフでみたいのです。
現在その数字を見ている。
これってその数字の上で、クリックしてグラフの指定しておくだけでは、もちろん駄目でしょう。
やった事無いが、、、
>>540 RSSを取得するのにVBAを使っているんでしょ?
ループの中に
DoEvents
を一行追加してみて。
それとリアルタイムをリアルと勝手に略さないこと。
>>541 >これってその数字の上で、クリックしてグラフの指定しておくだけでは、もちろん駄目でしょう。
>やった事無いが、、、
やってないのになんでだめってわかるの?
やってみたら?
ハードディスクをハードというやつもうざい。
545 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 13:15:26
>>542 どうもありがとう。
VBAで取り込むというか?楽天のMSよりデータをRSS機能を使って取り込むというふうに、かんじていました。
今一歩ふみこんで、お教えください。
546 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 13:27:03
>>545 すまんがマーケットスピードを使ったことがないのでこれ以上詳しくはわからない。
ただ、以前にVBAでセルの値を次々に書き換えるプログラムを作成した時に
そのグラフがうまくリアルタイムで表示されないことがあったんだ。
その時はDoEvents と一言書いたら解決したよ。
>>545 そうだ。楽天のサポートに聞いてみたら解決するんじゃないのか?
その時は「リアルでグラフ書く」なんて言わずに「リアルタイムでグラフを書く」
と聞けば通じるよ。
549 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 14:02:47
>>548 それは、いの1番に思いついたので問い合わせたのですが、そのようなことはわかりかねます。
と言われました。
『これってその数字の上で、クリックしてグラフの指定しておくだけでは、もちろん駄目でしょう。
やった事無いが、、、
やってみましたがうまくいきません。かなり多いグラフがあらわされてます。
的を得ていません。
>>549 そりゃ「リアルにグラフを書きたいんだけど」なんて聞いてもなあ。
今度はグラフが多いのか。そんなの自分がたくさんグラフ描いたからだろ?
的を得ませんだなんて今時そんな古典的な間違い無しで頼むよ。
Excelを使って投資成績の管理をしたくて、 A B C 週末資金 資金変化 資金変化率 1000000 0 0 950000 -50000 -5% というように、週末資金を手入力すると、 資金変化と資金変化率が自動で計算されるようにするにはどうしたらいいでしょうか?
>>551 B3に =A3-A2 と入れる
C3に =B3/A2 と入れて、C3を右クリック、セルの書式設定→パーセンテージ→OK
B3からC3をドラッグ、コピー、
B4からC30ぐらいまでドラッグ、貼り付け
これで基本的な部分は完成。
余分な数字を消して見栄えを良くするにはもうちょっと手間がかかる。
素早い回答ありがとうございました。
的を得ませんワロタそういう奴好きだけど知識が無い
555 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 15:09:15
>>550 どうやら無理っぽいですね。
手間ひまかけて、データをダウンロードして加工してグラフ化する、今のパターンをもっと短い時間でやれば
良いだけですか、、、
11時と3時の2回おこなっていますが、これをさらにこまかくやります。
皆さん、良い方法があったら心にとめておいて教えてください。
>>555 そもそもセルに数字が表示されているんだからグラフ化できるに決まってるじゃないかとみんな思ってるぞ。
なんでできないの?どんな不都合があるの?
よい方法があっても、質問の文章がわかりにくいから答えられないんだと思うぞ。 もうちょっと主語と述語がはっきりした文章を書いてくれ。 それと専門用語は正確に。たぶん「ダウンロード」の使い方も間違ってる。
558 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 15:34:06
2つの数字を、MSでRSS機能を使ってエクセルに引き込む。 この数字を片方から片方をひいてある数字をだす。 なのでこの数字は、1秒単位で移り変わっていく。 このある数字を折れ線グラフ化して2分きざみで表示する。 すなわち、2分足の折れ線チャートを描きたいのです。
>>558 「なので」から理解できない。
セルに数字があるんだからグラフにしたらいいのに。何に困ってる?
560 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 16:00:57
>>559 それって時間の指定しなければ、リアルタイムに折れ線グラフ描き続けるのですか?
たとえば、変わり行く数字のたびに。
>>560 ほんとに不思議な文章だなあ。時間の指定?
検索してやっとわかってきたわ。 RSSってExcelのアドインの名前だったのね。ブログの更新をチェックするRSSとは無関係。 MSも「楽天マーケットスピード」の略ってか。ここは株板じゃないんだから、そういう略号は避けてくんないかな。 専門用語や略号が通じる場かどうか判断することを「空気を読む」っていうんだよ。 整理すると、こうだ。 RSSというアドインを使うと、楽天MSから提供される株価データがExcelのシートに自動的に記入されていく。 この数字は1秒ごとに更新される。 この数字を折れ線グラフにしたい。1秒ごとの数字の変化に応じて、グラフも自動的に変化するようにしたい。 こういうことなんだろうと思う。
563 :
名無しさん@そうだ選挙にいこう :2008/05/17(土) 16:20:24
>>562 そうです、ただ変わるたびにグラフに描いていたのでは、グラフが多くなりすぎるので
時間指定して、2分経過したら書き、また2分したら書くという様にしたいのです。
VBAでマクロの記録すればいいんじゃないの?
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 関数のページをあらかた見たつもり 関数を扱う際、範囲指定はA1:C10といったようにできるのは 分かっているのですが、例えばA1・B4・C1といった規則性のない 場所を対象とする場合、どう対象範囲を入力していけば いいのでしょうか。Ctrl押しつつその場所をクリックしていっても 「,」で区切られてしまうので、上手くいかないのです。 また、以前見たことがあるのですが、 セルをクリックするとオートフィルタの時と同じような▼マークが 出てきてそれを押すと小窓が開いて文字を選択できる、 というものがあったのですが、これはどう設定すれば 可能なのでしょうか。 自分なりに探してみたのですが、どうにも見つからなかったので よろしくお願いいたします。
>>565 バラバラのセルを対象にする方法は、何をやりたいか、どの関数で使いたいかによる
▼を押すと一覧が出るのは「入力規則」とか「リスト」で検索
>>565 A1とB2-B4、C3を足したい場合はこんな感じ
=SUM(A1,B2:B4,C3)
,で区切る
下の部分はデータ→入力規則→設定の中のリスト
>>566-567 早速ありがとうございます。
関数のほうはCOUNTIFで、そのリストと組み合わせて
集計できたらなと考えていました。
COUNTIFは( )内を「,」で範囲と探す文字が区切られるため、
どうしたらよいか全く判別付かないのです。
改めてお願いいたします。
>>568 勘違いしそうだから言っておくが
>>569 は
=countif( )+countif( )+countif( )のように範囲ごとの結果を足し算しろって意味だぞ?
これしかないと思うぞ?
>>570 ありがとうございます。
今やってみましたが、COUNTIFではエラーを返されました。
どうやらダメのようです。でも、大変勉強になりました。
別の機会に、活用させていただきます。
となると、
>>571 さんの方法で行く他ないようですね。
色々とありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel 指数 指定 指数表示の桁を固定する方法はありませんか? 「1.1E-03」「11.1E-03」「111.1E-03」のように 指数だけ固定したいんです。 よろしくおねがいします
>>573 それって指数じゃないよ。元の数字を1000で割って書式を標準にしたらいい。
表示形式を0.0#E+00で指数部が2桁になる、けどそんなのを望んでいるわけではないだろうから ##0.0###E+00みたいなことか
576 :
573 :2008/05/17(土) 21:58:42
私の説明不足ですね。 分かりにくくてすいません。 『桁』と書きましたが10の累乗が10^3⇒10^4になると桁が増えるといいます。 私の研究室だけのローカル語だったようです。 もうしわけありません。 実験データを整理していて、とあるデータを「×10^2」でくくると、 実験が示す結果が分かりやすくなるんです。 例えば『[0.46][0.893][1.09][1.111]』と各セルに入力すると、 『[46.0E-02][89.3E-02][109.0E-02][111.1E-02]』と表示されるようにしたいんです。 よろしくおねがいします
>>576 だから指数じゃないってば。
わかりにくくないよ。簡単な話なの。
100倍しとけ。
>>576 100倍して、書式で 0.0"E-02"
指数じゃなきゃ何なんだ
580 :
573 :2008/05/17(土) 22:42:25
>>577 元の値が
[0.27][0.42][0.8][1.2][1.52][1.8][2.03]
で、
入力する時点で0.27を[27]のように100倍した値で入力すると
オプションで「指数」にした場合
[27][42][80][120][152][180][203]
オプションで「指数」にした場合
[2.7E+01][4.2E+01][8.0E+01][1.2E+02][1.5E+02][1.8E+02][2.0E+02]
となってしまいます。
なにか他にいじるところがあるのでしょうか?
>>577 は指数は必ず正規化された物だと思い込んでるんじゃないかな。
コンピューターの世界だと暗黙の了解で正規化することになってる処理系が多いからね。
583 :
577 :2008/05/17(土) 22:54:48
>>581 もちろん指数表示になってることはわかってる。
>>573 のやりたいことは正規化された指数じゃないんだから
コンピュータに指数表示させることにこだわるなよってことなの。
正規化されていない指数なんて普通の数字じゃないか。
584 :
573 :2008/05/17(土) 22:57:38
>>580 は誤字です。
×オプションで「指数」にした場合 [27][42][80][120][152][180][203]
○オプションで「標準」にした場合 [27][42][80][120][152][180][203]
投稿前にリロードし忘れていました。回答ありがとうございます。
>>578 の方法で
>>580 の値自体は解決するのですが、
これらのセルは他の多くのセルで数式に組み込んでいるので
入力値自体は[0.27][0.42][0.8][1.2][1.52][1.8][2.03] にする必要があるんです。
説明不足重ね重ね申し訳ありません。
おそらくこれ以上は説明し忘れている項目はないと思います
名言いただきました。 「正規化されていない指数なんて普通の数字じゃないか」
586 :
577 :2008/05/17(土) 23:02:31
>>585 そうだな。「正規化されていない指数」とは範囲を広げすぎた。
要するに表示形式を利用して指数を-2なら-2で固定する事は出来るのか?って事だよね。 俺の知る範囲だと無理です。
表示形式にはこだわってないと思う
「正規化」を覚えたての子がはしゃいでますねw
正規化されていないデータベースなんて普通のデータじゃないか
592 :
573 :2008/05/17(土) 23:15:00
不可能だということがわかったので、 「一度普通に数式込みの表を作ってから 『形式を選択して貼り付け(値)』でいじれるようにする」 など書式以外の対応策を考えてみます 回答して下さった皆様、本当にありがとうございました。
で、指数じゃなきゃ何だって? 普通の数字?ゲラゲラ
だめだこいつ・・はやくなんとかしないと
>>593 実際普通の数字だろう?
「標準の書式の数字」といったっていっしょのことだよ。
「指数じゃない」って言うから、じゃあ何なんだって話だ 指数だろ?
>>592 もっと単純に、入力用の列と表示用の列を別に用意すればいいだけと思う。
表示用の列は
>>578 みたいにして、他からデータを参照する場合は元の入力データ列を見る。
598 :
577 :2008/05/17(土) 23:23:35
>>596 ああ指数だよ。
書式を指数にするんじゃないと言いたかったんだ。
「普通の数字」って何もおかしい表現じゃないだろう?どうだ?
VBA厨とピボット厨の戦いが終わり 世界はつかの間の平和を愉しんでいた だがここに新たなる戦いの火蓋が気って落とされようとしていた・・ 第二話「普通の数字厨vs指数厨」
>598 何もおかしくないよ。うん。 覚えた言葉って使ってみたいよね〜 わかります。
Eの右側にある-2とかの数値が指数で 1.4E-2みたいな表示方法を指数表示と言って 数字というのは「0」や「1」という文字を指す。 「数値」の意味で「数字」と言われる事が多いが間違い。 言葉は正確に使おう。
指数を使うな。普通の数字を使え。 と言われてみなさんが思いつくのはどんな数字?
まぁ>577はプログラマになれないってことは分かった。 # ならん方が幸せって意見もあるがなw・・・orz
605 :
577 :2008/05/17(土) 23:32:58
>>603 >>574 指数じゃなくて書式を標準にするといいってちゃんと言ってるじゃないか。
しつこいやつだなあ。
日本語が使えないなら質問スレで回答なんかしなけりゃいいのに
テレホタイムに入ったとたん雑談が増えたな。 テレホって死語だと思ってたけど、まだまだ健在らしいな。
残念ながら 気のせいです
言葉の使い方が正確じゃないのは確かだが ねちねちと突っ込むような事でもないだろ。
>>605 どうだ?って聞いておいて、それに答えたら「しつこいやつ」?
アハハハ
>>610 「どうだ?」に対する答えじゃなかったような気がするがな。
たまには(?)質の悪い回答者もいるってことで。 −−−雑談終了−−−
ていうか
>>577 の回答は別に質が悪くないだろ。
ここの連中頭おかしくない?
質問スレで核心に触れる部分の言葉を正確に使わないでどうするというのだ。 最大の問題は、間違った当人が見苦しい言い訳を続けるおかげで ヤジ馬がどんどん集まってるということに気付いてないことだ。
それはそれで面白くていいんだがな
「普通の数字」を笑ってるやつのほうがよほど変だと思う。 「標準の書式の数字」を笑ってるのといっしょだということに気付いていない。
「普通の数字」が「標準の書式」だとして 「正規化されていない指数なんて普通の数字じゃないか」 がどういう意味だったのか説明できる?
>>618 「正規化されてない指数表示じゃ指数表示の意味なくね?指数を使わない表示でもよくね?」
表示形式内であらゆる演算を使いたい今日この頃
そんな、質問者の希望を無視した回答してどうする
バカなんだろう
ここの質問者って体に服を合わせろって注文が大杉。 服に体を合わせれば楽になれるのに。
626 :
577 :2008/05/18(日) 00:00:14
>>618 これはちょっと口が滑ったんだよ。
指数を例えば-2とかに固定するんだったら指数表示なんか使う必要ないだろう。
標準の書式の数字でいいじゃないか。
といいたかったの。
確かに指数と指数表示を区別せずにいいかげんな書き方をしていたとは思うよ。
時々意地悪じいさんが出没するんだよな。このスレは。
もう見ててつらいから 577はしゃべるな
昨日までの恥ずかしい書き込みナンバーワンは
>>604
>>628 「標準の書式の数字」を笑ってるのといっしょだということに気付いたな?
>>599 ところでVBA厨とピボット厨の戦いはどっちが勝ったの?
>>602 指数表示じゃない数字を思い浮かべるなあ。
>>577 を攻撃してるやつらってもしかして指数を固定したら指数表示の意味がねーってことに気付かなかったんじゃね?
大騒ぎした指数厨が一番恥ずかしい。
桁数を適当に合わせて数字を見やすくするのは、日常でもよく使われる手なんだけどな。 たとえば予算や決算表で「単位=100万」みたいなのは見たことないかな? これは言ってみれば指数表現をE06に統一した上で省略した物だよ。
636 :
577 :2008/05/18(日) 01:30:16
>>635 もちろん知ってるよ。
あの後、飾りでE-02を付けたらいいよと説明するつもりだったんだけどね。
結局大騒ぎした指数厨が一番恥ずかしい。 指数を固定したら指数表示の意味がねーってことにあいつら気付かなかったんだから。
そういう問題じゃないし、同じ事を何回も書かなくていいよ
639 :
577 :2008/05/18(日) 03:10:39
それにしてもお前らヒマだな。 どうでもいいことをいつまでもぐだぐだと。
640 :
577 :2008/05/18(日) 03:12:07
>>639 やっぱり偽者登場だね。
本当に卑怯者が多いなあ。
指数厨は成りすまし野郎だな。最低だ。
642 :
583 :2008/05/18(日) 03:18:58
まあ、ここまで全部俺の自演だったんだけどな。
指数厨がとうとう壊れたか。 あんだけ騒いで空騒ぎなんだから立場ないもんな。
集計の関数でSUBTOTALコマンドは,フィルターかけた非表示のデータに刺さらないけど SUMIFコマンドはモロ刺さって使いにくいな
645 :
574 :2008/05/18(日) 03:25:26
だからE-02に固定するのは指数と言わないんだってば。 標準の書式でやってみ。
647 :
577 :2008/05/18(日) 03:26:36
>>645 これも偽物。
まったく、何が楽しいんだか。
>>647 まあ気にしないことだよ。
指数厨は頭おかしい。
粘着ぶりが異常だった。
必死だな
ああ、妙な書き方しといて「お前の読解力が足りない」って逆ギレする奴いるよね。
652 :
604 :2008/05/18(日) 08:54:47
>629 (・ω・`)ショボーン
653 :
577 :2008/05/18(日) 09:54:14
654 :
名無しさん@そうだ選挙にいこう :2008/05/18(日) 10:44:40
>>573 変なのに絡まれて災難だったね、ご愁傷様。
とこで、表示形式でご希望の設定はできません。残念!
これが出来れば、見間違えの勘違い防止になって、説明資料なんかに
そのまま使えて便利なんだけどね。
ウチでは計算値を作業セルに移して、それを加工して表示してるよ。
私は指数固定機能をつけるのには大反対。 一度こんなのを付けたが最後、使うべきじゃないところで使うやつが大量発生する。 つまり読むのがつらい表がまた増える。
【1 OSの種類 .】 Windows XP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 2003 改ページ 会社で日程表を作る際にExcelを使っています。 日程表は会社の共有ファイルになっており、表示を改ページにして 必要な週だけ1ページ目に指定したいのですが、保存後に開くと指定 範囲が解除されてしまいます。 ファイルを自分のデスクトップに保存して操作すると大丈夫ですが、 共有ファイルの操作で解除されないようにするにはどうすればいい でしょうか。お返事よろしくお願いいたします。
>>655 あんた実務経験少ないだろ
それとも業務を共用してる仲間としか仕事してないのか
>>657 こういうのは単位で調整すべきだとおもうけどね。
百万円とかセンチとかミリとかヘクトとか付けて。
指数表示は正規化されてるという前提を崩してほしくない。
エクセルの指数表示って正規化じゃなくて簡略化じゃないの?
>>656 エクセルのバージョンが違う場合、印刷範囲いじらなくても
印刷範囲が勝手に変わってしまう事があるので防ぎようが無い
相手にエクセルのバージョンを合わせてもらうか、自分の席で操作してもらうか
バージョンが同じで、意図的に印刷範囲かえられてるとしたら、それはどうしようもないな
>>659 エクセルのバージョンは全社員共通です。
共有ファイルで作業すると、どのパソコンで
上書きして開いても解除されてしまいます。
>>660 今会社じゃないんで試すことができないが、
設定保存するまでは共有を解除した上で印刷範囲を指定保存して、、
その後に共有にしたらいいのでは??
>>660 ごめん、分からない
ただ俺の会社の環境はexcel2003と2000で、双方どちらのPCに入ってても印刷範囲が解除されることはなかったと思う
印刷範囲が変わることはよくある
>660 部署によって、違うプリンター使ってないか? で、印刷範囲の広い方のプリンターで設定してない? 狭い方のプリンターしかない人が使った場合に、 設定が崩れるんじゃないかと思う。
あと、改ページで設定するのではなく、 「印刷範囲の設定」で設定するように。 改ページはただの表示だけだから。
>>657 不特定多数を相手にする人こそ標準的な手法を用いる方がいいぞ。
指数表示で指数を固定するなんて馬鹿馬鹿しいにもほどがある。それ普通の数字じゃん。
研究室内でのローカルな話って言ってるのに だらだら続けるなよw 誰も不特定多数相手だなんて言ってねぇww
>>666 仲間としか仕事してないだろとか言うから不特定多数と仕事してる人かと思ってたんだが、なんだ学生か。
学生の研究でも同じことだぞ。相手に伝わらなければ。
指数表示の指数を固定しようとしてるやつ。 VBAでソートや集計をしてるやつ。 両者には共通点を感じる。 「不勉強」なんだろうな。
669 :
666 :2008/05/18(日) 14:54:57
いや、本人とかじゃなくて、ここまでの発言でそんなこと言ってないだろうと。 指数を固定したほうがわかりやすい場合は普通にあるだろ。 -05Eと-06Eが混ざってるより、-05Eのみのほうが ぱっと見でわかりやすいじゃない。 それこそ学生じゃないからこそ、 千万単位、とか、その業種での単位で表示することはあると思うけど。
>>666 だよなぁ
特定の研究である決められた桁の数字しか使わないってんなら固定してしまえばいいと思う
ただ元々、指数表示の数字を日常的に使ったことが無いので、その方が使いやすいかどうかなんてのは知らない
けど使いにくかったら勝手に辞めるだろうし
>>661 説明不足ですいません。
共有ドライブにファイルがあるということです。
>>662 ファイルを印刷するプリンターは一台です。
確かによく考えてみれば改ページはあくまで表示設定ですよね。
印刷範囲の指定はやってみます。ありがとうございました!
>>670 正規化された指数表示は有効桁数を明確に表現できることにメリットがある。
正規化しない場合はそのメリットがない。
>672 有効桁数を明確に表現するメリットがあるとして、 実験とか計算の最中にそれは意味があるだろうが、 最終的な結果には何の意味もない。 0.0000123 と 0.0123 だとして、 有効桁数を明確にしたメリットなんて最早必要ない。
>>673 お前のこと指数に詳しいやつだなあと思っていたのにがっかりした。
>>673 いろいろつっこみどころがあるがまずひとつ目。
>実験とか計算の最中にそれは意味があるだろうが、
>最終的な結果には何の意味もない。
最終的な結果に意味が無いのになんで途中には意味があるんだよ。
本当に頭で考えてるの?
最近のお子達はどうしてこんなにも視野が狭くなったんだ ゆとり教育の結果ゆとりのない子になっちまったか
えぇ・・・ 仕事で使う数字なんて、有効桁数よりもその数字自体の桁が 変わってしまったことのほうが影響がでかいじゃん。 1桁も違う数字がはじき出されて、 その有効桁数が同じであっても、それどころじゃないでしょう・・ 有効桁数が有利に働くのは、 それこそ同じような桁の数字が並んでる場合だと思うけど。
>>673 >0.0000123 と 0.0123 だとして、
>有効桁数を明確にしたメリットなんて最早必要ない。
うん。この例はどちらも有効桁数が明確だね。
明確にならない例を探してごらん。
>>678 有効桁数をまったくわかっていないようだな。
よくそれで指数指数と大暴れしたもんだよ。
恥を知れ。
>>678 研究って前提だろう
一般的な事務ならそもそも指数自体使わない
>681 研究で使うために表示を統一したい、っていう前提でしょ? なのに指数がどうこうって言い出したんじゃないの?
>>682 質問者が指数表示を使っていたからだろ。
話をそらすなよ。
このスレの名物=偽物が質問者の代わりにその番号を使ってよく、返答すること wwwべきかorzとみるべきかwww
荒れてくると自分で質問して自分で回答して自分でお礼する奴までいるからな
説明もできないのにまったくわかってないとかな 恥を知れとか時代がかったオッサンとかな
687 :
名無しさん@そうだ選挙にいこう :2008/05/18(日) 17:28:35
【1 OSの種類 .】 Windows XP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 2003 #DIV/0!エラーが出ているセルを無視して合計を出すことは可能ですか? 例えば 10 20 #DIV/0! 30 の4セルから「60」という合計を出すことはできますか? よろしくご教授ください。
>>687 基本はエラーなんかでない式の組み方をする。
それでもやりたきゃ SUMIF関数あたり。
言いたい事は想像できるんだが「普通の数字」っていうヘンテコリンな表現はやめようぜw
690 :
名無しさん@そうだ選挙にいこう :2008/05/18(日) 17:51:05
>>688 ありがとうございます。
SUMIFだと正数だけ拾う感じですか?
マイナスのセルもあるのですがどうすれば良いですか?
よろしくお願いします。
>690 君の場合は#DIV/0を回避する方向で進めたほうがいいと思うよ。 =IF(ISERR(
>690 あるいは、予想だけど、 0になったセルを割らない式にしたらいいとおもう。
693 :
名無しさん@そうだ選挙にいこう :2008/05/18(日) 18:35:53
ありがとうございます。 ISERRの方で上手くできました。
694 :
688 :2008/05/18(日) 19:00:52
>>690 =SUMIF(A:A,"<>#DIV/0!")
>>690 文脈から指数表示じゃない数字だろうなと想像できたよ。
お前も想像できただろう?
>>673 >有効桁数を明確に表現するメリットがあるとして、
>実験とか計算の最中にそれは意味があるだろうが、
>最終的な結果には何の意味もない。
これはさっぱりわからん。
>>678 有効桁数が有利に働くのは、
それこそ同じような桁の数字が並んでる場合だと思うけど。
これもさっぱり。
696 :
690 :2008/05/18(日) 20:00:23
>>695 いいかげんウザイ。
アンカーもミスりやがって。
そろそろ消えろ。
まだやってたのかwwww 面白からもっとやっていいよ
698 :
696 :2008/05/18(日) 20:01:58
という俺もアンカーミスった。 すまん。
アンカーじゃなくて名前…
>>696 アンカーミス失礼。
>>673 >有効桁数を明確に表現するメリットがあるとして、
>実験とか計算の最中にそれは意味があるだろうが、
>最終的な結果には何の意味もない。
まずこれから説明してくれ。
【1 OSの種類 .】 Windows XP Pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 2000 質問なんですが SUM(A1:A3) と入力してエラーが出ないのは当たり前ですが、 SUM(ADDRESS(1,1):A3) と入力すると「入力した数式にはエラーがあります。」と、 表示されます。なぜエラーが出るのかわかりません。教えてください。
>701 INDIRECTをかませる必要がある。 =SUM(INDIRECT(ADDRESS(1,1)):A3) 長ったらしくなるけどw
正規化クンは関数電卓も使った事がないんだろうな まあ頑張れ
そろそろ577の話題は雑談スレで頼む
706 :
701 :2008/05/18(日) 20:59:34
>> 702 やってみます。ありがとうございました。
707 :
701 :2008/05/18(日) 21:21:24
再びご迷惑おかけします。 > =SUM(INDIRECT(ADDRESS(1,1)):A3) この方法は上手く言ったのですが この記述がSheet2にあるとして、Sheet1のセルを参照させる場合 =SUM(Sheet1!INDIRECT(ADDRESS(1,1)):A3) ↑上記の様に記入してみたんですがエラーになってしまいました。 何がいけないのでしょうか?
=SUM(INDIRECT("Sheet1!"&ADDRESS(1,1)):Sheet1!A3)
709 :
701 :2008/05/18(日) 21:34:56
>>708 INDIRECTが説明読んでも理解出来ていなかった見たいです。
708さんの書込みでINDIRECTが理解出来たように感じます。
ありがとうございました。
【1 OSの種類 .】 WindowsXpHomeSP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 「Excel 選択範囲内で中央」「Excel 選択範囲内で中央 できない」 結合したセル同士の間で「選択範囲内で中央」を行いたいのですが、上手くいきません。 具体的には、 @A1とA2を縦に結合(A1-2とする) AB1とB2を縦に結合(B1-2とする) BA1-2とB1-2の中央に文字を表示させるべく、横位置で「選択範囲内で中央」を実行 Cなぜか反映されない この状態でA1-2の書式を見ても、横位置に「選択範囲内で中央」が反映されていません。 縦に結合させない状態で「選択範囲内で中央」を行ったところ上手くいきましたので、結合させた セル同士では「選択範囲内で中央」が働かないという仕様なのでしょうか? テキストボックスで代用しようかと思っていますが、何か私の見落とし等あればご指摘頂けると 幸いです。
>>710 そうです
選択してる範囲内に結合してるセルがある状態で結合しようとするとまず解除されます
>>710 書き忘れ
A1-2のみ選択した状態でやると分かると思います
>710 >結合させたセル同士では「選択範囲内で中央」が働かないという仕様 その通りだと思うけど。 テキストボックス使うくらいなら、 なぜA1・A2・B1・B2まで結合してしまわないの?
横レスだけど、しゃっち、A1と書かずにadress(1,1)を書くのか教えてくれない?
>>714 単純に使い方が分からなかっただけだろう
あと方言使うなw
716 :
710 :2008/05/18(日) 22:18:23
回答ありがとうございます。
やはり結合されたセルが選択範囲内にあるとダメな仕様なんですね。
>>713 についてですが、A1-2の部分だけ、あるいはB1-2の部分だけに
網掛けを行いたかったので、全部結合してはマズかったのです。
同様にA1とB1を結合、A2とB2を結合してA-B1とA-B2同士で縦位置の
「選択範囲内で中央」も行えればと思ったのですが、そもそも縦位置では
「選択範囲内で中央」のメニュー自体が無いようですね。
まあ代用法で何とかやってみます、有難うございました。
ウルトラの星地方で使われる方言か
長崎だそうだ
九州の「しゃっち」は「絶対」って意味だが
つまりウルトラマンは長崎出身と
721 :
名無しさん@そうだ選挙にいこう :2008/05/18(日) 23:43:05
つまんね
722 :
名無しさん@そうだ選挙にいこう :2008/05/19(月) 00:09:21
数値が乗ってる表全体に100などを掛けて 置き換えたいのですがどうやればいいでしょうか?
福岡の「しゃっち」、「さっち」はわざわざ〜とかいう意味だが
>>722 まずどこか空いてるセルに100と入れて、そのセルをコピー、
100を掛けたい表全体を選択して右クリック、「形式を選択して貼り付け」で「乗算」。
質問です。 XPでエクセル2003です。 相手先にファイルを渡す時、関数式を隠したいのですがうまくいきません。 隠すだけならできるのですが、以下のことを質問します。 例えばセルB列の関数式を隠したいとします。 セルA列はただの数字です。 セルA1を変えるとセルB1も変わります。 ここでセルA列は編集できて、かつセルB列の関数式を隠す方法はありますか? わからないようにパスワードでロックできると助かります。 シートで保護した場合、セルA列の内容も編集できなくなってしまいます。
>725 1.編集が必要なセルの書式設定で保護→ロックのチェックを外す 2.表示したくない数式セルを同様に保護→表示しないにチェック 3.ツール→保護でシートの保護を選択 4.一度保存終了すれば次回起動時から適用される
できました。ありがとうございます。 ちなみにパスワードを解除されて関数式が見破られる可能性はないですよね? (パスワードがわからない場合に何か特別な操作で)
そこまで数式を見られたくないなら、結果をコピペ(値)して渡せばいいんじゃないかと思った。
>>730 まず返却月日順、更にその返却日の中でも早く入力した順ってことか?
それをする場合2通りあると思う
1入力した時刻を記入する列を追加(now関数などを入れ、入力した時点でコピーペーストで値に置き換える)
2全ての行に通し番号をつける
そしてシート1に反映させた後、返却日→1なら入力した時刻、2なら通し番号順
に並び替えするのが一番早いと思う
関数だとRANK関数が使えるかも?イマイチ思い浮かばないな
>731 sheet1に通し番号を入れて、sheet2に「返却順」という項目を追加したら何とかなりました ありがとうございました
C2からF2に◎○△×のどれかが入力されています。入力されている最も良いものを表示したくてG2に次の式を書きました。 =IF(OR(C2="◎",D2="◎",E2="◎",F2="◎"),"◎",IF(OR(C2="○",D2="○",E2="○",F2="○"),"○",IF(OR(C2="△",D2="△",E2="△",F2="△"),"△",IF(OR(C2="×",D2="×",E2="×",F2="×"),"×")))) 今のところちゃんと動作していますが、入力する列を増やしたり、序列の段階を増やしたりすると対応できなくなりそうです。 OR(C2="◎",D2="◎",E2="◎",F2="◎") の部分(もしくはほかの部分)をセル範囲を指定して(または別の方法で)書き換えることはできるのでしょうか?
>>733 数字で入れとけばMAX関数一発で出来るのに・・・
記号で見やすくしたいのであれば表示・印刷用の表を別に作ればいいわけで・・・
>>733 まず、どっか空いてるセルに◎○△×と入れる。仮にZ1とすると、
=MID($Z$1,MIN(FIND(C2,$Z$1),FIND(D2,$Z$1),FIND(E2,$Z$1),FIND(F2,$Z$1)),1)
記号の種類や数が変更になった場合はZ1を書き換える。
列が増えた場合は FIND(C2,$Z$1) の部分を増やす。
737 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 06:58:10
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 メニューバー ドロップダウン 初歩的な質問で申し訳ありませんが、どなたか教えてください。 エクセルを開いたときにメニューバー(ツールバー)は出るのですが そこにカーソルを持っていっても(クリックしても)ダウンメニューが 開かないのです。 また、セルで右クリックしてもやっぱり反応がないのです。 いろいろ調べたのですが、どこのページにものっていないみたいで…。 すみませんが、どなたかよろしくお願いします。
738 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 09:46:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 【5 検索キーワード 】Excel COUNT 列 比較 A列とB列を比較し、数値は関係なく、データがあれば1をたしなければ0を、両方にあれば、1をたすようにしたいのですが、どのようにすればいいのでしょうか? そして他のセル(Cのところ)に、集計し結果を表示したいのですが… どなたかよろしくお願いします。 A B C 11 3 15 10 15
>733 =CHOOSE(LOG(SUMPRODUCT((C2:F2="◎")*1000)+SUMPRODUCT((C2:F2="○")*100)+SUMPRODUCT((C2:F2="△")*10)+1)+1,"×","△","○","◎") ちょっと回りくどいな、9列までしか対応できないし、 まあ、こんな方法もあるという事で、
>>738 何に足すか良く分からないのでとりあえずA1かB1どちらかに何か入力されていれば1を表示
=IF(OR(A1<>"",B1<>""),1,"")
ちなみに何か足したい場合はこの1になにかたすようにする
>>738 C1に=IF(A1+B1>0,C2+1,C2)と入れてC列にコピペすれば、こんなふうに下から順に集計されてく。
A B C
11 3
15 2
1
10 15 1
0
0
743 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 10:35:18
>>741 回答ありがとうございます僕の説明がまずかったですね
用は、データの数をカウントしていきたいのですが、同じ行のA列とB列の両方にあるときは、2と数えるのではなく、1にしたいのです。
そして、カウントした結果をCに表示したいのです。
>>735 それだと空白セルがあると常に◎になるから逆の方がいい。
Z1=×△○◎
G2=MID($Z$1,MAX(FIND(C2,$Z$1),FIND(D2,$Z$1),FIND(E2,$Z$1),FIND(F2,$Z$1)),1)
>>743 んじゃD列に
=IF(OR(A1<>"",B1<>""),1,"")
C1に=sum(D:D)
746 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 11:44:31
>>738 ,742
=IF(COUNT(A1:B1)>0,1,0)
747 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 12:15:21
【1 OSの種類】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 可 初心者です。よろしくお願いします。 @シートはパスワードで保護された状態で保存されています。マクロを無効にすると、保護が解除されません。 AOpenイベントで、シートの保護解除します。 また、16時30分を過ぎて、自分以外のユーザーがファイルを開こうとすると、メッセージが出て終了します。 BBeforeSaveイベントで、上書保存をする前に保護をかけ、保存し終わったら保護解除をしています。 また、16時30分を過ぎていると、メッセージが出て、保存せずに終了します。 以上、3つのことをやってみたくて、下記(次レス)のように書いた(というか、貼りあわせた;)のですが、 エクセル全部ではなく、このファイルのみ終了しようとすると、 開いた後と上書保存後に保護を解除する為、 ファイルを終了する時には必ず「変更を保存しますか?」と訊かれ、 その時に「はい」を選択すると、一度はそのファイルが終了するのですが、すぐに マクロを含むファイルを開くときに出るメッセージ「セキュリティ警告マクロ マクロ有効 マクロ無効 詳細」が出て、 また開いてしまいます。 保存「いいえ」を選択すると、普通に終了します。 エクセル全部を終了すれば保存「はい」にしても、普通に終了します。 このファイルのみ終了する時、保存の確認で、「はい」を選び、普通に終了するには、何を直したらよいでしょうか? よろしくお願いします。 次レスに続きます
748 :
747 :2008/05/20(火) 12:16:15
>747の続きです ThisWorkbookに、 Private Sub Workbook_Open() If Application.UserName <> "(自分のユーザー名)" Then If Hour(Now()) = 17 And Minute(Now()) > 30 Or Hour(Now()) > 17 Then MsgBox "(メッセージ)" ActiveWorkbook.Close End If End If ActiveSheet.Unprotect Password:="(パスワード)" End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Application.UserName <> "(自分のユーザー名)" Then If Hour(Now()) = 17 And Minute(Now()) > 30 Or Hour(Now()) > 17 Then MsgBox "メッセージ" Cancel = True Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End If End If ActiveSheet.Protect Password:="(パスワード)" Application.OnTime Now + TimeValue("00:00:00"), "保護解除" End Sub 標準モジュールに Sub 保護解除() ActiveSheet.Unprotect Password:="(パスワード)" End Sub
* * * + うそです n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
750 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 12:53:26
>>745 確かにD列を作ればいいのかもしれませんが、作りたくないのです
>>746 確かに二つあったとき、1をかえしますが、やはり、Dれつなるものを作らなくてはなりません…
ほかに方法がないなら、あきらめますが…
>>750 Sub CCC()
For R = 1 To 999
If Cells(R, 1) & Cells(R, 2) > "" Then C = C + 1
Next
Cells(1, 3) = C
End Sub
>750 =SUMPRODUCT(((ABS(A1:A20)+ABS(B1:B20))>0)*1) いやあ、試してみるもんだ。動くもんだねえ。
>>752 =SUMPRODUCT((A1:A999+B1:B999>0)*1)
【1 OSの種類】vista 【2 Excelのバージョン】 2007 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 2007にしてからカスタムツールバーにマクロボタンを配置する際に、 ボタンアイコンが選択式になってしまって自分で作成ができなくなっていましたが もう作成する手段はないのでしょうか? アイコンの保存フォルダ探してぶちこめばいいかなと思いましたが 見つかりませんでした・・・
755 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 14:58:32
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ExcelXP Excel2007 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 熱烈可 【5 検索キーワード 】 VBA ファイルを開かず 参照 マクロで、「ある階層にあるエクセルファイルの任意のセル」を参照し、 最大値を判定したいのですがそのような事は可能でしょうか。 何がしたいかと言いますと、例えばA1セルにそれぞれ「001」「013」「711」 等の3桁の数字がふられたファイルA,B,Cがあったとします。 それらとは別のファイルを開き、マクロを実行すると、A〜Cのファイルを 開くこと無くA1セルを参照して最大値を求め、その値+1を今開いている ファイルのA1セルに入力したいのです。 上記の例で言うと、711が最大値ですので712がセットされるようにしたいのです。 このようなことは可能でしょうか。もし可能であれば、ご教示頂ければ幸いです。
756 :
755 :2008/05/20(火) 15:17:34
ちょっとわかりにくかったですね。 理想のマクロが組み込まれたファイルDがあったとします。 そのマクロでA、B、Cのファイルを開くこと無くそれぞれの D1セルを読み取り、最大値を判定して、最大値+1を ファイルDのA1セルに設定させたい、その理想のマクロを 作るにはどぎゃんしたらよかとですか、ということです。
本を開かずに中を読めってか・・・馬鹿? VB以前に覚えることがたくさんありそうだなw
>>756 要するに、通し番号のようなモノを作りたいんだよね?
なら、考え方を変えて、最大値+1を設定した時点で
テキストファイルとかにそれを保存しておく
最大値+1が必要になったときにテキストファイルを開く
で、どうかな?
759 :
755 :2008/05/20(火) 16:30:26
>>758 そうなんです…通し番号をつけたいんです。
そしておっしゃる通り、メモに記載すれば解決する問題なんですよね。
上で煽りを受けてるわたしが不憫でなりません。
しかしですね…作業するのが自分ではないものでもうこちらが
どうにかするしかない状況なのです。現状を書いた旧質問メモは
60行を突破したので、簡潔にまとめて
>>755 を書き込みました。
ちょっとだけその旧質問メモの内容を説明しますと
・作業者AとBが件のファイルを作成している
・AとBは意志の疎通を図らない(図りたがらない)
ということになります。なぜこんな質問が出たかは
大体お察しできたのではないでしょうか。
わたしだって「Aさんどこまで番号ふったかBさんに教えて下さいね」
で済ませたいんです…
では申し訳ありませんが、引き続き回答を募集させて下さいです…
>>759 いや、俺が言ってんのは、
コマンドボタンを押したらテキストファイルを開いて通し番号を読み取り+1してテキストファイルを閉じる
読み取った通し番号をD1セルに+1して書き込む
とかっていう事だよ
あるフォルダのファイルを検索したいって事は、
AさんとBさんは共有ディスクに作ったファイルを保存するんだよね?
なら、そこにテキストファイルを保存しとけばいいんじゃないの?
761 :
755 :2008/05/20(火) 17:13:41
>>760 といいますと、直接エクセルを読み取るのではなく、テキストを中間ファイルとして
扱うという事ですか?それならファイル名も決め打ちできますし、VBA初心者の自分でも
なんとかなりそうな気がします。漠然としたイメージしか無いですが。
サーバの奥深い所に置いておけば
「あの共有フォルダにあったテキスト?意味分からないから削除したよ?」
なんて事言われなくてすみますしね。ありがとうございます。
>>761 こういうのってAさんとBさんが同時に作業する場合どうするのとか考えると実は結構複雑だよ。
Aさんがテキストファイルを開いてる間、Bさんが開いてしまわないようにロックをかける処理とかさ。
作成した順番を記録する事が必要ならば、通し番号にこだわらず、作成日時を「20080520171341」みたいな形で入力したらどうかな。
763 :
762 :2008/05/20(火) 18:17:51
あ、「重複しない」通し番号を付けたいって事なら日時にしたところで一緒だな・・・ 重複しない事が目的ならばAさんはA0001、BさんはB0001みたいな番号を付ければいいね。 いずれにせよ「何のために通し番号を付けたいのか?」によるな。
>762 テキストファイルは直接開くのではなく、 エクセルのマクロ実行するときに一瞬介するだけだから 問題ないんじゃない?
OS windows XP バージョン エクセル2003 VBA使用 いいえ VBA回答 否 エクセル 回帰直線で検索かけました 回帰分析してでた係数を利用して散布図に回帰直線を引きたいんですが、 直線の式とかいれて引くんでしょうか?それとも別の方法があるんでしょ うか?
>>765 散布図の上で右クリックしたらそれらしいメニューが出る。
767 :
洋子♪ :2008/05/20(火) 19:42:36
>>248 ありがとうございます<m(__)m>
>>247 綺麗に集計出す事が出来ました。
お礼が送れてすみませんでした。
テキストボックスやコマンドボタンをクリックすると文字が小さくなる時があるのですが、 これって仕様?バグ?
>>762 Open ステートメントにはLock Read、Lock Write、または Lock Read Writeがあるから全然難しくない
>>738 >>750-753 「数値は関係なく、データがあれば」だから0 0の場合も考慮しないと
=SUMPRODUCT((A1:A999 & B1:B999>"")*1)
771 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 20:47:25
>755 指定されたフォルダのエクセルファイルを「開いて」、指定された範囲のセルの値を 特定のファイル(実行中のマクロを記録しているブック)に転記する処理は作ったことが あります。 質問の処理では個別に開かずに実行したいということは、指定されたブックの 指定されたシートの指定されたセル範囲に参照を指定しておいたらどうでしょう。 例:E:\sampleフォルダの中に ex1.xls、ex2.xls、ex3.xls という3個のブックがあり、 それぞれのsheet1のA1セルの値の最大値を求めたい、と仮定すると sample.xlsのsheet1のA2:A4セルに以下の計算式を入力しておく A2セル ='E:\サンプル\[ex1.xls]Sheet1'!$A$1 A3セル ='E:\サンプル\[ex2.xls]Sheet1'!$A$1 A4セル ='E:\サンプル\[ex3.xls]Sheet1'!$A$1 そして、A1セルには =MAX(A2:A4) という計算式を入力すると、個々のブックを開かずに 最大値が求められます。 これは、あらかじめブックの場所とファイル名、シートやセル位置が固定されている場合 です。 また、どのブックのsheet1のA1セルに最大値があるのかを求めたい、のであれば もうちょっとしてからまた書き込みます。(INDIRECT関数とDMAX関数の組み合わせかな)
772 :
771 :2008/05/20(火) 21:08:54
>755 771の最後の方で INDIRECT関数とDMAX関数の組み合わせ と書きましたが、 INDIRECT関数はダメでした。helpを見ると「外部参照するブックは開いてなきゃダメ」 だそうです。 なのでマクロの出番です。ブック名(ex1.xlsなど)だけを記録しているセルを見ながら A2〜A4セルに771で書いたような計算式を生成させるといいです。 マクロのソースは割愛して、最大値のあるブック名を調べるのはVLOOKUP関数でできました。 前提として、ブック名をB2〜B4セルに書いてあり、B1セルに最大値のあるブック名を求める 場合は、B1セル =VLOOKUP(A1,A2:B4,2,1) でいいようです。 訂正:フォルダ名がsampleとサンプルの違いがありました。
773 :
771、772 :2008/05/20(火) 21:18:16
>755 指摘が入る前にもうひとつ max関数だと最大値が入るだけでしたので、「+1の値を入れたい」シートとは別の 作業用シートに作ってください。 目的のシートのA1セルには =Sheet1!A1 の計算式を入れるか、マクロを使うのであれば マクロで+1の数値を転記するといいと思います。 参照するシートが不定の場合は、指定したフォルダ中の.xlsファイル名一覧を取得する マクロから作ることになります。これは昔やったことがあるけど仕事がらみだったので ソースは残ってません。しかも個別のブック中のシート名一覧取得とか、ループが多重 になるのでけっこう複雑。
別にややこしい事しなくても運用で解決出来そうな問題だけどなあ 各人がファイル名に通し番号を付けて共有フォルダに置いとけばどこまでやったか一目で分かるわけで。
深夜にタイマーでマクロを回すようにしたら?
>>734 ありがとうございます。この方法でやるのがシンプルで僕でも分かりやすそうですね。
>>735 >>744 MID関数の開始位置をMIN関数とFIND関数で取得しているのですね。MAX関数を使うと空白セルにも対応できるということですね。
参考になります。
>>736 ユーザー設定リストの使い方調べてみます。
>>739 ほとんど使い方の分からない関数なので時間のある時に検証してみますね。
レスいただいたみなさまありがとうございました。
>>766 やってみましたけどわかりません…
もうちょっと詳しく教えてください
779 :
名無しさん@そうだ選挙にいこう :2008/05/20(火) 23:57:21
ここで相談したらいいかわからないんですが エクセルやパワーぽんとが混じった資料作成で 一つの本を作る場合ひとつのデータとしていっしょにできませんか? まとめてページつけたりしたいんです
>>779 なにが言いたいのかよくわかんないけど、一太郎はいろんなソフトをタブみたいに起動して
一つのブックみたいに保存できるんじゃなかったっけ。
>>779 WordにもExcelのブックとか貼り付けできるよ
>エクセルやパワーぽんと これってエクセルやパワーポイントだね
783 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 01:56:21
初心者でテンプレにあるVBAの意味がわかりません。。。 エクセル(XP、2003)で表計算シートを作成して、数式の入ったセルにロックをかけてシート保護をしたのですが、ロックしたセルのうちのいくつかが何故か編集できてしまいます。 何か原因があるのでしょうか?
785 :
783 :2008/05/21(水) 02:11:54
>>784 ありがとうございます。
ただここにある保護やセル選択の方法は承知していて、
今回聞きたかったのは、保護したシートの場合、ロックしたセルに入力しようとすると、
「読取専用」なりの表示が出て編集できなくなるはずなのに、同じシートで同様にロックしたセルのうち、一部のセルだけが、
なぜか引き続き編集できてしまうという現象に悩んでいます。
>>785 違うバージョンのExcelでロックの操作をされると、動作が一部意図しない物になることがあるらしい
789 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 10:40:22
LIKE演算式で たこ いか のいずれかを含む、で検索することは可能でしょうか? []の複数文字版のような感じです
>770
>>752 は0以外の数値データを対象。数値以外は #VALUE!
>>753 は正の数値データが明らかな場合。
>>770 は入力があれば空白文字でも何でもカウント。
どれを選ぶかは、>738次第
>>789 変数Aの内容を調べる場合
If (A Like "*たこ*") Or (A Like "*いか*") Then 〜
792 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 13:39:36
最初の見出しをセルを使って表示する方法を教えてくれませんか?
793 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 13:42:27
すいません間違いましたorz シートの見出しに入力した内容をセルに表示する方法を教えてください。
エクセルって等値面図は書けませんか? 水温分布図を書きたいのですが…
>>795 書けないです。
Excelには不要な機能なんでしょうね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 " ↓のように既に打ち込まれたセルの""の制約をはずしたいのですが、どのように一括処理したらよいでしょうか? "Name "(改行されて"がきてます) セルには普通に Name と表示されているのですが、他のアプリケーションの書式(例えばメモ帳)などにコピペした場合、 上記のような変な改行が行われる上に不必要な"まで出てきてしまい具合が悪いです。 そういったデータが列で存在しておりセルに普通に Name と打ち込んだ状態に戻したいです。 初歩的な質問かもしれませんが教えていただければ幸いです。
何じゃそのふざけた検索キーwww 俺にはまず質問の意味がワカンネ。 エスパーを待て。
書式設定が変わってるんじゃない? 標準とかにしてみては
801 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 17:03:56
>>798 範囲指定して「"」を空白に置換すればいいんじゃね?
>>800 書式の設定を標準にしてみましたが、ダメのようです。
>>799 すいません、質問の仕方が悪かったかもです。
例えばメモ帳に↓と打ち込んでこの二行をコピーしてエクセルに貼り付けると
"Name
"
Name と普通に打ち込んだのと同じように表示されていますが、実際は"と改行が存在しているため
そこから他のアプリケーションにコピペした場合、上の状態に戻ります。
上記のようなデータは私が作成したExcelデータではないため扱い易いようにしたいのですが、
エクセルからメモ帳などにコピーした際に"と改行が出てくるため、上手くいきません。
そういったデータが列と行で存在しており、コピーしてもまともに扱えないものになっています。
一括変換で"を消せるのかなと思いましたが、表示されていないので無効でした。
エクセルでドラッグをしても列を残すのはどうすればいいんでしょうか。 説明しにくいんですが、セル数が多いとスクロールしたときに項目名が見えなくなりますよね。 項目名をスクロールしても残しておきたいということです。
>>802 =CLEAN(a1)
でいけた。こんな関数初めて使ったぜ
>>805 ありがとうございます。使えるデータになりました。
811 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 20:44:19
>>798 列を選択→データ→区切り位置→完了
できれいになる。
>>811 書式設定でA1とB1を日付と時間表示、C1を時間表示
A1に=now()、B1に終了予定時刻、C1にB1-A1
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可(つーか、関係ないと思う) 【5 検索キーワード 】 画像、印刷、ずれ、にじみ バーコードを生成するソフトの画像を、エクセルで作った書類に挿入しています。 担当者が海外出張してしまったので、たまたま代行してそれを印刷したら、 バーコドだけが滲んだようになって読み取れません。 他のパソコン3台で、同じファイルを印刷すると問題なく読み取れます。 プレビューではなかなか確認が難しいのですが、画像が滲むようなのを 防ぐ設定とかあるでしょうか?(文字は滲みがありません) プリンタのドライバは最新のものにしましたが、結果は変わりませんでした。
>>815 正常に印刷できる3台のパソコンとの違いは?
まずはOSとExcelのバージョンと接続されてるプリンタの機種を確認。
>>816 海外へ電話して確認しましたが、情報システム部に聞いてくれとのことでした。
>>817 OSは全てWindowsXP Proです。Excelは私が2003で、他は2000です。
プリンタは富士ゼロックスf250です。
じゃぁ情報システム部とやらに聞けばいいんじゃマイカ?
820 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 23:13:44
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 教えてください。 一つのグラフに株価と平均線を表示するにはどうすれば良いですか?
>>819 なんでわざわざ聞いてるのか分かりますか?
解決してたら聞きませんよ。
822 :
819 :2008/05/21(水) 23:17:12
あっそwwww
>>822 なんでわざわざ聞いてるのか分かってんのか?
解決してたら聞かねーんだよ!コノバカチンガ!!
>>818 その状況だとExcelのバージョン違いが原因と見て間違いない
826 :
名無しさん@そうだ選挙にいこう :2008/05/21(水) 23:44:50
825さん ありがとうございます。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Excel 別のシート 値を返す 下記のような複数のシート シート1 シート2 シート3 数 値 数 値 数 値 3 青 5 赤 1 黄 にあるデータから、 「数」が最大のシートの「値」を別のシートに取り出すにはどのようにしたらいいのでしょうか。 (この場合はシート2の「数」の「5」が最大なので、「赤」を取り出したい) よろしくお願いします。
>>830 変わったことをするのが目的?
それともなにかやりたいことを実現するためにこれが必要なの?
832 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 01:11:27
【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 はい 【5 検索キーワード 】 列選択削除 Excel2007で列選択をして削除すると砂時計になってしばらく返ってきません。(長いときは20分程度) またVBAでRange("A1:C65536").Clearをしても同様にしばらくもどってきませんが仕様でしょうか? 記憶では以前のExcelではこのような挙動は起きず、Cellを一個一個クリアしていくよりも処理が早かった と記憶していますが、何か回避方法などありましたらよろしくお願いします。
>>832 大量に式や書式が入ってて再計算してるとか?
VBAでScreenUpdatingを変えるとどうなる?
834 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 08:22:16
>833 即レスありがとうでし。ScreenUpdatingもAutoCaluculateを切ってもなります。 それと式も書式設定もないです。Excel2007で新規ブックを作成して、列選択 して削除するだけでも同じ現象がでます。
2007だけど再現しないぞ
質問です。 【OS】XP 【EXCEL】2003 【VBA】可 毎回違うCSVファイルから読み込んで、A列に2万〜3万行のデータが入ります。 そのデータを利用して、C列に計算式を投入、D列にC列の値コピーを行ってます。 毎回変動するA列のデータ行数分を指定するのが大変なのですが、A列の行数分だけ範囲を指定して処理を行う方法はありますか?。 よろしくお願いします。
>>830 俺ならシート4を作って、100行ずつあるとしたら
100行まで=Sheet1!A1〜A100、
101行から=Sheet2!A101〜A200、
201行から=Sheet3!A201〜A300、
で、オートフィルタ掛けるかな
C1辺りに=VLOOKUP(MAX(A:A),A1:B300,2)とかいれてもいいかも
並べ替えの必要はあるけど
>>836 Sub Macro1()
Dim i As Long
i = Range("A65536").End(xlUp).Row
Range("C1:C" & i).Copy
Range("D1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
こんな感じ?
>836 >そのデータを利用して、C列に計算式を投入 何のこっちゃ?
>>834 ちなみにPCのスッペクは?
わからなかったらメーカーと機種名を正確に
>>836 (1) C1をコピー
(2) Ctrl+End
(3) カーソルをC列に動かしてShiftを押しながらCtrl+↑。これで一気にC列を範囲選択できる。
(4) Shift+↓で範囲を調整して式を貼り付け
841 :
830 :2008/05/22(木) 10:22:36
>>837 ありがとうございます。
作業用シートを別に設ける必要があるってことでしょうか。
できれば一発で取り出したいのですが無理ですか?
ちなみにデータはまさに
>>830 に書いた通りで、
対象範囲はひとつのシートあたり2行2列しかありませんが、シート数は数十〜数百に重なっています。
その中の最大値を見つけ出し、その最大値が伴っている値の文字列を別のシートに取り出したいと考えています。
>>841 最大値だけなら関数で一発だけど、その隣のデータが欲しい場合は作業用シートか
VBAを使わないと無理だと思う。
データを取り出したい頻度が少ないなら、自動で最大値を求めてから手動で検索をかけるって手もある。
843 :
841 :2008/05/22(木) 10:37:24
>>842 了解しました。
簡単そうに思えることが意外とできないものですね。
作業用シートを作ってやってみたいと思います。
ありがとうございました。
>>843 1シート1件というデータの並べ方に問題があると思うよ。
そういうのはずらっと縦1列に並べるのがExcelの想定される使い方。
845 :
843 :2008/05/22(木) 10:42:23
>>844 それは重々承知の上です。
ひとつのシートには他のデータも入っており、
データ管理上の必要性と自分自身のスキルの問題から、
シートごとに管理せざるを得ない状況なのです。
846 :
832 :2008/05/22(木) 10:58:14
>>839 PC確認しました。
DELL社製 VOSTRO200 メモリ1.99Gであります。
>>845 そういう場合はExcelではなくAccessを使うのが正当
>>845 全然承知してないと思う。
こうやって糞シートが受け継がれてくのね・・・
>>845 indirectを使えばやれないこともないな
シートの正式な名前は?
sheet1、sheet2・・みたいに連番だと簡単にできる
東京・大阪・名古屋・・みたいに連番だとしんどいけどやれなくもない
>>851 シート1
数 値
3 青
「3」がA2、「青」がB2セル、シートの名前はsheet1、sheet2・・となってるとすると
sheet0(名前はなんでもいいんだけど新しいシート)に
A1=INDIRECT("sheet"&C1&"!"&"a2")
B1=INDIRECT("sheet"&C1&"!"&"b2")
Cに1から連番
後はABC列をシートの数だけオートフィル
D1辺りに=MAX(A:A)でその数をA列でオートフィルタ
って俺ならやるかな
その後全てのシートを作り直すと思う
853 :
755 :2008/05/22(木) 12:54:33
すみません、別件なんですけどVBAでファイルを書きだす際には環境変数は使えないのでしょうか。 Const cnsSEQNOFILE = "%USERPROFILE%\Local Settings\nullpo.txt" と書いたらパスが見つかりませんとか言われちゃいました… Const cnsSEQNOFILE = C:\Documents and Settings\金大英\Local Settings\gatsu.txt" などのように、ちゃんと指定しなければダメなんでしょうか。
使えないっすよ 特殊フォルダの取得はWSH経由で取得できたはず
855 :
755 :2008/05/22(木) 13:02:22
856 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 13:28:54
>815 バーコードの画像だけが滲む、とのことですが、画像は「バーコード」だけですか? 他に画像(コピー・ペーストしたり、画像ファイルを読み込んだもの)はありませんか? それから、プリンタドライバでの印刷の設定値が違うとかありませんか? (滲むというパソコンだけ印刷速度優先になってたり)
857 :
832 :2008/05/22(木) 14:02:34
>>848 ウィルスチェックをバスター君が働いてくれおり、念のため再度チェックしましたが異常
ありませんでした。
再現しないとのカキコあったのでこのPCローカルなことと踏んでOSとOfficeとも
再インヌトールします。
行ってきます。
バスターが悪影響を与えている可能性もある ウィルスに対してアレルギーなんて言ったりもするな
【1 OSの種類】 WindowsXP 【2 Excelのバージョン】 Excel2007 【3 VBAが使えるか】 いいえ すいません\2,555円を5%値引きして消費税5%をかけたものを合計すると 小数点以下の関係で合計が1円ずれたりするのですが、 それを回避するような数式、もしくは設定があったら教えていただけますか? セルの書式設定 表示形式 通貨 \2,555←[A1] \2,427 [A1*0.95] 5%値引 \121 [A2*0.05] 消費税 \2,549 [SUM(A2:A3)] 合計 \2,548が正解ですが、1円ずれます
>860 Round
861 :
860 :2008/05/22(木) 16:06:35
× >860 ○ >859
なるほど。ROUND(A1*0.95,0)みたいな使い方もできるんですね。ありがとうございます。
>>859 まぁ君がいいというならROUNDでもいいんだけど、
消費税って普通は四捨五入じゃなくて切捨て処理じゃないですか?
TRUNCかROUNDDOWNを使ったほうがいいんじゃないかな
書式を通貨にしているため、1円未満の端数に気づかずに起きるトラブル
消費税の計算方法は切り捨て、四捨五入、切り上げのどれでもいいんじゃなかったっけ
865 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 18:01:07
>>863 質問者が納得してるのに何してんの?
知識自慢?プ
切捨ては昔の処理だな 今はどれでもいい。四捨五入が一番いいと思うけど切り捨ても間違いではない
消費税は切り捨てだろ…、常識的に考えて… まぁ、[A1*0.95] 5%値引でそっちの都合で四捨五入、切り上げ、切り捨てから整数化 [A2*0.05] 消費税で切り捨てをするのが理想なんじゃないかと
868 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 18:20:02
まぁ まぁ まぁ
>>865 質問者が納得してるかどうかなんて関係ないと思う。
ちょっとまて、どっちでもいいわけないと思うんだが。 昔から今日に至るまで切り捨てだろ? 消費税3%当時、 「50円アイスを二つ同時に買うと103円だけど、 一本ずつ買うと合計して102円で済むんだよ!」 ってレジのおばちゃんが迷惑してるのもいざ知らず レジに二回並んでた俺は何なんだ?
871 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 18:44:41
>>858 10数年前はエクセルバスターなんて言われてた時代があったな。
874 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 18:49:03
どっちでもいいんだよ制度的にもクズども
まぁ何でも知ってるかしこい回答者は まぁ知っているのが当然で まぁつけながら上から目線で見下したつもりでいい気持になって まぁまぁ言ってればいいじゃないか
876 :
経団連 :2008/05/22(木) 19:05:48
まぁまぁここはひとつ、揉める事のないように、10%という事で、、、
878 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 19:21:02
つまり質問者が納得してるかどうかなんて関係ないということだよ。
最初から表示を1円高くしといて、レジで切り捨て計算
"今は"法律上どっちでもいいんだけど、何か問題あるのか?? 消費税100%にすれば端数問題なんて起こらないのにな
消費税の処理なんか業者ごとにバラバラだ 多くは切り捨て、四捨五入の業者もいる。 消費税を伝票ごとに計算する業者もあるしまとめて掛ける業者もいる。 ちなみに税務署への消費税申告方法はいくつもある。
883 :
882 :2008/05/22(木) 20:44:32
× ちなみに税務署への消費税申告方法はいくつもある。 ○ ちなみに税務署への消費税申告時の計算方法はいくつかある。
884 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 20:56:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 時給計算のタイムカード表を作っています。 15分刻みで計算してます。 5:00から7:00だときっちり2時間で計算できていますが 17:00から19:00になるとなぜか1時間45分になってしまいます。 FLOOR関数を使ってます。 お手数ですが何か解決方法お願い致します。
オプションの「表示桁数で計算する」をオンにすればいいかも。 2007でどうやるかは知らんけど。
886 :
885 :2008/05/22(木) 20:57:53
ごめん上のは消費税やらの端数に関するレスね
>>884 どんな風にFLOOR関数使ってるのよ?
888 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 21:08:55
>>887 FLOOR(G9-F9,"0:15")
このような感じです。
なぜだかわからんが、 FLOOR(G9-F9+0.000000000001,"0:15")みたいにしたらどう?
ほんとに初心者で仕組みがわかってないですが
>>889 さんのようにしてみたらとりあえずなおりました。
ありがとうございます。
890さんもありがとうございます。 検索して勉強してみます。
893 :
名無しさん@そうだ選挙にいこう :2008/05/22(木) 21:36:53
excelファイルを簡単にアップロードできる方法ってありますか? ここで文字を書くより、自分の疑問を回答者の方に理解してもらいやすくなると思うんです。 あんまり僕は説明がうまくないので…orz
897 :
893 :2008/05/22(木) 22:16:45
【1 OSの種類 .】 Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ(ただし、いま勉強中)
【4 VBAでの回答の可否】 可(極力やめてほしい)
それぞれ異なった情報が書かれたsheetが二つあります。
しかし、その中には共通の情報が一個あります。
これを足がかりにして、異なる情報を紐づける、ということがやりたいです。
説明が難しいので、下記のリンク先から飛んでみてくれると助かります。
ttp://uploaders.ddo.jp/upload/1mb/ (詳細は1up4572.rar 参照)
898 :
893 :2008/05/22(木) 22:18:44
すいません。 DLパスは1114です
>>898 取りまとめ用〜シートのF3に
=LOOKUP(E3,登録リスト!F3:F22,登録リスト!B3:B22)
後は大体分かる・・な?
こういう時は共通部分、この場合はidを表の左端に置くもんだよ。 そうすれば簡単に表の統合ができる。
901 :
名無しさん@そうだ選挙にいこう :2008/05/23(金) 00:32:41
テンプレにある、オートフィルタで小文字と大文字を区別、というのを やりたいのですが、 > ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) これはいったい、どういう意味ですか? abc Abc Aef ade という感じのデータがあって、大文字のAで始まるものだけフィルタで絞りたいのですが。 置換で、Aを全角のAに置き換えようと思ったものの、aも置き換わるし…
902 :
901 :2008/05/23(金) 00:39:57
ああ、ごめんなさい、Excelで出来ない事か。 無視して下さい。
>>901 そういう質問はエクセルのバージョンを書くのは必須。
>>901 絶対に出来ないわけじゃなくて作業列を作るとか工夫すればできるんだけどね。
直接、その機能だけではできないってだけで。
>>901 作業列に=CODE(A1)と入れて、オートフィルタで65
906 :
893 :2008/05/23(金) 01:58:22
>>899 解決しました。
最後は、教えてもらったままオートフィルをかけたら、
検索範囲がズレるから、それを治せばOKなんですよね?
>>906 =LOOKUP(E3,登録リスト!F$3:F$22,登録リスト!B$3:B$22)
908 :
893 :2008/05/23(金) 02:17:17
>>893 回答ありがとう。
こういうのを絶対参照というんですよね。
ぐぐったらでてきました。
迅速な回答ありがとう
909 :
名無しさん@そうだ選挙にいこう :2008/05/23(金) 20:16:39
すみませんどなたかこの関数問題を教えて下さい。 問題としては守備位置の名前を表示させず名字の名前だけ 右のセルに表示させる問題です。※ライト関数で右2文字だけ表示させるのはダメです。 守備位置 名前 一塁手武田 二塁手織田 三塁手明智 投手山本 捕手徳川 外野手真田 ショート木村
910 :
名無しさん@そうだ選挙にいこう :2008/05/23(金) 20:58:15
>>909 あんた守備名と苗字の違いを関数で判別出来ると思うか?
ややこしヤ〜ぁっややこしヤ〜ぁっ
守備名の種類は固定値だから、守備名とその文字数のリストを作っておいて
=RIGHT(元字,LEN(元字)-守備名の文字数) これで苗字が何文字でもいける
さて後はどうやって守備名の文字数を割り出すかだな・・・・・・・・・・
「手」と「ト」の右が名前 バカでもわかる
>911 手塚さんにあやまれ!
>>911 何の解決にもなってない
このヤクタタヅが!
設問に手塚なんて名前はない。まああったらあったで考えるけど。
>>911 でヒントだしたから不要だと思うがいちおう答えかいておく
=RIGHT(A1,LEN(A1)-IF(ISERROR(FIND("手",A1)),FIND("ト",A1),FIND("手",A1)))
なんで手塚が問題になんのよ。 普通に考えてもまず「手」を含まないショートをチェックして、それ以外なら「手」より右を取り出すだけじゃん。 =IF(LEFT(A2,1)="シ",MID(A2,5,LEN(A2)),MID(A2,FIND("手",A2)+1,LEN(A2))) これで、名前が手塚だろうが何だろうが問題なく処理できる。 それよりも、レフト、ライト、センター、ピッチャー、キャッチャー、コーチ、監督なんてデータは 考慮しなくていいのかどうかのがよっぽど気になるわ。
おれ野球はよく知らないんだがコーチとか監督とかいう守備位置があるのか? その辺は設問にないからいらないんじゃね?
>>915 ほぼ同意。手塚なんてどうでもいい。
さて、別案出しておくよ。
=REPLACE(A2,1,MIN(FIND({"手","ト"},A2&"手ト")),)
>>916 学校のテストじゃないんだから・・・
書いてある事だけ解決できればいいというんもんではない。
早く大人に(ry
いや、これは学校のテスト以外の何物でもないと思うんだが
じゃあ外国人選手のショートさんも考慮しなきゃ
質問には"守備位置の名前"って書いてあるんだから 例以外に他の名前があるのは十分に読み取れるだろ だから>910で「ややこしや」とか「リストを作って・・・」 とか言ってるんだよ
学校のテストだって問題の裏を読み取るのは大切だぞ。 とくに大学入試なんかだと設問に明記されてない事象は常識で補完しないと満点にならないことがけっこうある。
924 :
917 :2008/05/23(金) 22:25:36
927 :
名無しさん@そうだ選挙にいこう :2008/05/23(金) 22:32:58
結論 宿題は自分でやれよ、ボケ!
>>926 不正解まではいかなくても、試験の種類によっては満点にならないこともあり得る
提示されたデータだけ処理できればいいんなら、それこそ=MID(A2,LEN(A2)-1)みたいな いいかげんな処理でもいいわけだし、極端なことを言えば手作業で全員の名前を入力したって 目的の結果は得られてるんだから不正解と言い切れなくなる。
930 :
名無しさん@そうだ選挙にいこう :2008/05/23(金) 22:40:46
お前ら、チンケな言い訳ばっかだな
問題が悪いな。最初から手塚とか星とか、単純に処理できなくする名前を混ぜておけばいいのに。
いや、禁止されてるのはRIGHTだけだし、意外と=MID(A2,LEN(A2)-1)が正解かもしらんぞ。 直前の授業でどこまでやったかわからんことには、ね。
>>932 そうじゃなくて単純に =RIGHT(A2,2) じゃダメということだろ。
情報の先生の知識レベルも千差万別だから、
>>917 あたりはむしろ先生の方が理解できない悪寒
=MID(A2,LEN(A2)-1,2) だろ
936 :
名無しさん@そうだ選挙にいこう :2008/05/23(金) 23:08:27
バカばっかだな
そんなに褒めるなよ。照れるじゃないか
とりあえずこのスレが宿題を解く役に立たないことだけはわかった
学生君がうろつくとガッカリするな
宿題の役になんざ立たない方がいいんだよ。
マジレスするとその問題文では回答不能が解
942 :
名無しさん@そうだ選挙にいこう :2008/05/24(土) 01:03:28
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否 】 否 【5 検索キーワード 】 HYPERLINK IF A1にハイパーリンク、B1 にリンク先、C1にハイパーリンク判断用に「する」か「しない」 A1をハイパーリンクするかしないかを関数で処理するために IF(C1<>"する","リンクなし",HYPERLINK(B1,"リンクへ")) と書いたのですがC1に「する」「しない」どちらを入れてもハイパーリンクされてしまいます。 なにか解決策か問題点を教えてください。
943 :
名無しさん@そうだ選挙にいこう :2008/05/24(土) 01:50:14
自分は
>>909 です。
皆さん、多数決の回答ありがとうございます。
正直な所、習った事がない問題で四苦八苦してました。
最初は、名前が皆二文字の為右二文字を表示されば良いと思いライト関数を使ってほらよ。解いたぞ〜 と思ったらそんな単純なもんじゃないと一喝され
『名字は一文字の人も居れば三文字の人も居る』と言われてしまいました。
後日、教室にこのカンニングに等しい回答を手にとり出撃します。
多数決? とりあえず、カタカナで「ライト関数」とか書くのだけはやめとこうな。 面倒でもちゃんと「RIGHT関数」と書くように。さらにカッコを付けて「RIGHT()関数」って書くとプロっぽくていいぞ。
945 :
名無しさん@そうだ選挙にいこう :2008/05/24(土) 02:06:51
バカ丸出しだなw
そんなに褒めるなよ。照れるじゃないか
正確な問題文を見ないことには、なんとも言えないな。 たとえば「以下のデータから名前だけを取り出す関数式を示せ」みたいな文章だと、 それ以外のケースは考慮しなくてもいいとも解釈できてしまう。
野球の守備位置と名前を分離する汎用の式なんかあるわけないだろ 頭だいじょぶ?
そうだよな 野球の守備位置と名前を分離する汎用の式を用意してないMSが悪いよな
先生には問題があいまいだと抗議しておくのもありだ。 設問の名前は2文字だけなんだから、RIGHT()使用でなんらおかしくない。 1文字、3文字以上を考慮しろというなら、守備位置もピッチャーとかを考慮しなければいけなくなる。 だいたい遊撃手じゃなくてショートになってるところからしてデータに統一性がない。
952 :
名無しさん@そうだ選挙にいこう :2008/05/24(土) 10:19:14
>>950 あんたの屁理屈は小学生なみだな
文面も面白いトコないし、バカ丸出しだな
>>952 設問の名前が2文字だからRIGHTでかまわないというのはその通りだと思うよ。
データの統一性が無いことに文句を言うのはおかしいね。
だって統一性がないという条件の設問なんだから。
>>909 この手の問題は守備位置の名称を全て用意して一致してる部分を
VBAで切り出すプログラム作るのが正攻法だと思う。
守備位置は必ず「手」で終わるとか、手塚さんはいないとか、
名前は必ず2文字とか、なんらかの条件があれば手抜きできるだろうけど。
それから実務ではこんな問題は発生しない。
最初からデータを分けて入力するか、人海戦術で手作業で一回だけ分ければいい。
習ってない事はできませーん 教えない方が悪いんでーす
大した実務やってんだなw
>>956 君はIMEでも作ってるのか?
2chだったらそういうやつもいるかもな。
>951 普通にグラフを作って、 ○のグラフの要らない線の部分だけをクリック、 (つまり○の線全体を選択→不要部分だけを更にクリック) その部分のグラフの書式設定を線なしにすればできる。
ボク間違ってませんって言いたいためだけに実務実務と言われてもなあw その実務もどこの夢の国のお話やらw
>>959 なんだ。実務という言葉に反応しただけか。
実務の前提条件があいまいだから先生に抗議しなくちゃねえ
>>961 別に
>>954 は先生に抗議しろとは言ってない。
こうやったらできるだろうと言ってるだけ。
自動化せずに手作業でがんばるのなんて実務ではいくらでもやることだと思うぞ。 プログラム組むのとどっちが早いか安いか比較して決めたらいいよ。
今思いついたアルゴリズム 「一塁手武田」は守備位置辞書にあるか?→無い 「一塁手武」は守備位置辞書にあるか?→無い 「一塁手」は守備位置辞書にあるか?→有る 「一塁手武田」を「一塁手」と「武田」に分ける。
REPLACE()あるんだから。なんでつかわないの。
一塁手一塁手対策のためだな ^一塁手を消そう
>>954 VBAじゃなくても簡単なテーブル作ってVLOOKUPかFIND辺りで検索、
後は切り出せば解決と思う
前提がおかしいっていえば終わりだけど、実務ではいくらでも遭遇する場面だ
>>967 >>954 です。
その方法だと完全自動化は難しくない?
でも実務じゃ私もそうやると思うよ。
守備位置の語尾である「手」や「ト」を検索する手法は限界あるよね。
「センター」は「ー」で判別するとしても「ファースト」はどうする。
結局確実な方法は
>>964 みたいにやるしかない。
最初にソートしておいて、守備位置ごとに都合の良い関数を適用させるのが 現実的な解決方法だろうな。 どうせ一回きりの処理なんだから。 次からは入力する時に分けるでしょ。
ショートストップ井端 は、ストップ井端だな。
データを買ったら、正規化されてないデータが納入されてきて頭を抱えた経験なんていくらでもある。 それこそ一回きりなら人海戦術の手作業なんてのも十分にあり得るわけで。 今回のようなケースなら「ピッチャー」か「投手」か、まずどちらかに統一する必要があるだろう。 あと、カナがなぜか半角だったり、長音符「ー」がマイナス「−」になってたりとかあるんだよな。
>>971 芸名みたいだな。
なんにせよFINDだけでできることは限界がある。
限界があることを理解して利用しないとね。
VBAで形態素解析作るのはやりすぎだと思う。
「茶筅」とかを利用してみるのも一案。
おまえらExcelの話しろや
>>964 最長一致法か。それこそIMEでも作ってるのかと。
>>974 なるほど。確かにできてる。
守備位置辞書を持つ方法だね。
VBA使わなくてもここまでできるんだな。
>>976 しかし例えばショートさんが三塁手だったりするようなケースも考えたら
こうするしかあるまい。
>>909 の宿題を解決するには
>>964 のように最長一致法をVBAでつくるしかない。
他の手抜き手法は、守備位置名や選手名に制限があるから問題に条件が必要となる。
ただし、実務ではある程度の手作業を許容することで手抜き手法で十分実用的といえる。
こんなところかな。
俺ならCSVで書き出して逆順にソートしてからテキストエディタで置換だな。 ワークシート関数を使った全自動処理にこだわるのと同じぐらい、Excelにこだわるのがバカバカしい。 順番が重要なら作業列に通し番号でも入れときゃいい。
ところでお前ら>909は関数で解く問題だあまり熱くなるな
次スレでは忘れてくれよ
>>980 別にテキストエディタじゃなくても置換できるんじゃ?
相当重いファイルならそれもアリかもしれないけど
>>980 逆順にソートするとなんかいいことあるん?
>>982 逆順だと自動的に最長一致になる。野球のポジションだと関係ないけど。
ショートを守るストップさんが難しいな
誰か
>>942 も答えてやれよ。俺はわからんかった。
たしかに一度リンクされてしまうと、関数だけでは解除できないんだな。
>>983 一塁手武田
を
田武手塁一
にするということ?
>>985 そもそもなぜハイパーリンクするしないを切り替えたいのだ。
ずっとハイパーリンクしっぱなしでいいだろ。
>>984 そう。それだけ難問なんだよ。これは。
>>909 の先生がどこまで考えて出題したのか気になる。
例えばショートストップマンというデータがあったとして、 これを守備位置ショートのストップマン選手と解釈するのか、 守備位置ショートストップのマン選手と解釈するのか。 これは実は人間でもできない処理。
答えてくれる人が多そうなので、某所で質問したのですが ここでも質問させて下さい。向こうでの質問は中止してきました。 Module1で宣言したパブリック変数をThisWorkbookで参照する事はできないのでしょうか。 Module1の関数で取得・処理した値をThisWorkbookのWorkbook_BeforeSaveで 保存時に実行する処理の中で使いたいのです。 引数で渡そうにもWorkbook_BeforeSaveの引数は埋まっていますし・・・
VBAで作っても、まずは例外を処理するIF文がずらっと並んで、それから定型処理に入るんだよな。 例外を事前にどれだけ洗い出せるかは経験が物を言う。若造にゃムリだ。
993 :
名無しさん@そうだ選挙にいこう :2008/05/24(土) 14:08:14
確かに若造にはここまで恥知らずな書き込みはできんわなw
>>990 無理。
そもそもモジュールを抜けた時点で変数の内容は破棄されるから、どっかのセルに記憶しとくしかない。
例えば「風景写真に何人の人間が写っているのか数えるシートを作れ」という
宿題だったら難しいからやめとけって即答できるんだけど、
>>909 の場合
中途半端にできそうに思えちゃうんだろうなあ。
実際には>989みたいな問題があって完全な解決はできないと考えるのが正解だろう。
屁理屈はいいから無難な回答を示してやれ。所詮は学校の宿題なんだし。
>>997 今までに出た中から好きなの選べばいいじゃない。
結論、こんな問題を考えたやつが悪い
>>998 そういうことなんじゃないか?
先生も完璧じゃない。バカもいる。
梅
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。