▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 99
http://toro.2ch.net/test/read.cgi/bsoft/1319632190/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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で出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2010についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007以降ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。 以上でテンプレ終わり
>>1 乙
質問!
CTRL+Fで検索した後、キーボードで検索窓を消す方法は
・タブキーで「閉じる」まで動かす
・ALT+F4
以外に方法ありますかね?
あと、消さなくてもエクセル本体側がアクティブになる方法とか・・・
>>8 おお、ESCは知らなかった!ありがとう!!
>>9 ALT+TABは嫌だなあ
おそくなりましたが、今年もよろしくお願いいたします
>>813 チルダとはそんなに便利な不思議なマークなのですね!ありがとうございました
>>815 COLUMN()と、()の中が何もないときは、式の入ってる列の意味なのですね?
もう少しよく考えてみます、ありがとうございました
あと、早速ですが2003エクセルで、右下にデータの個数としてA列を選択したところ A列自体は空欄セルばかりなのに、個数が26個と出ました B列に=LEN(A2)のようにして文字数を数えてみてもどのセルもゼロでした 人から渡されたブックなので、何か仕込みがあるのでしょうか スペースも入ってないならなぜ、見た目は空欄なのにデータの個数がゼロとなったのか よろしくお願いします。検索は「エクセル データの個数」「エクセル 個数」でしてみました
>>12 =""
でもデータの個数は1個でlen()は0になるよ
=IF(B1>5,B1,"")
みたいな式でも入ってると予想。A1にカーソルを合わせてctrl+↓で検索できる
早速の回答をありがとうございます。ファイルが職場なので本日には確かめられませんが その=IF(B1>5、B1,"")の式はA列に入っているのですか?? 100行くらいしかなかったので、ctrlは使わなかったものの、↓で 一個一個下がってみたのですが、本当に何も入ってなかったのですね 気持ち悪かったです
>>14 そう
ctrl+↓なら次にデータがあるところまで行くから、
下の方に入ってると思う
16 :
名無しさん@そうだ選挙にいこう :2012/01/08(日) 09:34:52.12
>>15 うーん、、、火曜日に早くそのファイルでctrl+↓をやって確かめたいと思いました
幽霊データと名づけたい
アドバイスをありがとうございました
昨日、Windows7のPCを買ってその中にあるOffice2010を使い始めたばっかりなんですけど、、、、 外付けHDDにあるexcel2007で作ったファイルを開くとなんで読み取り専用になってしまうの??? 解除する方法ありませんか?
22 :
20 :2012/01/09(月) 10:25:42.11
右クリックで出てくるプロパティの読み取り専用 隠しファイルのチェックの ことですよね? そこにはチェックは付いてません。 念のため、フォルダのプロパティ→セキュリティタブからアクセス許可で Usersをフルコントロールにしてみたら通常どおり開けましたが、いちいち こんなことしないといけないのですか?
ファイルプロパティの読み取り専用だけでなく 保存オプションの読み取り専用もちゃんと解除してる あと外付けHDDの書き換え防止機能が働いていると ファイルのプロパティで読み取り専用になってなくても、読み取り専用として開かれる
いや、それってNTFSのセキュリティとかアクセス権とかの話でしょ スレ違いっていうか板違いじゃないのかな
そうだね Excelの機能とか設定は関係なくて、それはWindows側の問題だね
EXCEL2007でシートAに50個のデータがあり、 条件に合う商品名だけ別シートに抜き出しています 手動でやっているのですが、関数を使って表示させたいです 出来るならアドバイスがいただきたいです。 シートA(フォーマットなので加工出来ない) B C D ・・・ 1 りんご みかん ばなな ・・・・ ・ 10 合格 不合格 合格 シートB(今回作りたいシート) B 1 りんご 2 ばなな ・ ・ ・ ・
>>26 Sub 合格を抜き出す()
r = 1
For c = 2 To 51 'B列から横に50個分くり返し
If Worksheets("シートA").Cells(10, c) = "合格" Then
Worksheets("シートB").Cells(r, 2) = Worksheets("シートA").Cells(1, c)
r = r + 1
End If
Next
End Sub
>関数を使って表示させたいです ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 :
26 :2012/01/10(火) 17:36:52.39
>>27 ありがとうございます。
VBAなら出来るんですね。
出来れば、関数で実現したいんです。
何か方法はありませんか?
SubをFunctionに変えれば関数になるよ
結果を表示したいセル1つ1つに if 関数入れて表を作り最後にオートフィルターで空白セルを非表示にするか TRANSPOSE関数使って一括で表を作り最後にオートフィルターで合格セルを表示するか 今回は行と列を入れ替える作業があるから後者の方が導入は楽だけど 業を増やしたりと後々の加工は手間になる。 前者は真逆。
図形描画について質問です オートシェイプ→線→曲線 で中を塗りつぶせるのでこの機能を多用していますが いちいちオートシェイプから線→曲線とたどらなければいけないのでしょうか 何かショートカットがあって、それを押すとすぐその曲線にたどりつく方法はありますでしょうか 2003ですがよろしくお願いします
ユーザー設定で曲線のボタンを好きなところに出しておく
>>26 シートAはいじれないけど選択はできるよね?
>関数を使って表示させたいです
を俺も無視するけど、
1.シートAのデータのどこか1セル選択
2.ctrl+Aで表全体を選択
3.ctrl+Cでコピー
4.シートBの表にしたい左上(A1)を選択
5.右クリックで形式を選択して貼り付け→行列を入れ替えるを選択して貼り付け
これでオートフィルタかければ合否で表示分けれる。フィルタ状態がだめならフィルタ
かけた状態でctrl+A ctrl+Cでコピーして貼りたい場所を選んでctrl+V
VBAも関数も使ってないけどショートカットボタンになれたら手作業時間は1分ぐらい。
手間のかからない自動化したいなら自分もVBAで考えた方が楽だと思った。
>>30 LOOKUPを駆使すれば
なんとかできるよ。
>>30 シートAが加工できないのならどこか別のシートへ行列入れ替えでコピーしてフィルタオプション。
もちろんタイトルは入れる。
>>34 ユーザー設定は確かめており、曲線なかったのになぁ、と思っていましたが
「図形描画」でなく「オートシェイプ」の方にありました!!!ありがとうございました
ちん毛のようなマークですねw
仕事でマクロ(VBA)を使えるようにしたいと考えているのですがお勧めの最初の参考書とかありますか? スレ違いだったらすみません。(誘導していただけると・・・。)
質問です! COUNTIF関数で、例えば99〜90の範囲の数が何個かあるかって数式はどうやって入力すれば出来るでしょうか。
90>=の数−99>の数
質問 スクロールさせても特定の行とか列を表示したままにする(htmlのフレームみたいに)のはどうすればいい? ちなみにvistaでExcel2007
>>40 まったくの初心者なら
つぼとコツがぜったいわかる本
どういたまして
>>41 その他の範囲の個数も色々出すならピボットテーブルでグループ化
またはFREQUENCY関数。
49 :
名無しさん@そうだ選挙にいこう :2012/01/11(水) 15:10:47.29
>>41 CountIFでなくCountIFSを使ったらどうでしょ
=COUNTIFS(範囲,">=90",範囲,"<=99")
てな感じです
50 :
名無しさん@そうだ選挙にいこう :2012/01/11(水) 22:10:15.91
C列のセルの文字数のカウントを取得したいのですが いろいろ制約があって =LEN(C1)の記載では無く =LEN("C" &ROW())見たいな記述にして それが4行目でも100行目でも同じ内容で取得できる方法にしたいのですが 上手く行きません ご教授ください
51 :
名無しさん@そうだ選挙にいこう :2012/01/11(水) 22:14:42.53
>>50 もちろんその記述が100行目にあればC100の文字を28行目にあればC28の文字を取得したいです。
>>50 =LEN(INDIRECT("c"&ROW(),1))
こんな感じ?
=INDEX(C:C,ROW()) じゃないの
どういたまして
>>50 なんで=LEN(C1)じゃだめなの?
R1C1形式にしてみりゃ分かるが全部同じ式だ。
=LEN(INDEX(C:C,ROW())じゃC列に入力すると全部の式が再計算するから無駄もいいとこ。
>>50 複乳的に作業列使って間接的に文字数を取得するとか。
例:
D1 =C1
E1 =LEN(D1)
60 :
名無しさん@そうだ選挙にいこう :2012/01/12(木) 17:49:31.52
n^a=b(aとbは定数) でnを求める式をExcelで記述したいんだが、どうすればいい?
対数分からないとか言うなよ?
63 :
名無しさん@そうだ選挙にいこう :2012/01/12(木) 17:58:45.60
いや、対数で出せるのはa(指数)の方だろ? じゃなくてn(基数)の方を出したい
64 :
名無しさん@そうだ選挙にいこう :2012/01/12(木) 18:06:05.52
nをa乗したのがbだから bを(1/a)乗すればnになる。 よって n=b^(1/a) という形で求めてもいい
65 :
名無しさん@そうだ選挙にいこう :2012/01/12(木) 18:08:52.81
済まんその通りだ 何を俺はテンパっていたのだろう ありがとう
66 :
名無しさん@そうだ選挙にいこう :2012/01/12(木) 18:10:38.34
いや、皆そんなもんだよ。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 否 ファイル1の、A列に社員IDが、テストの得点が記入されています。 ファイル2の、A列に社員IDが、テストの得点が記入されています。 テストは同じもので得点も同じです。 ファイル1に入っている社員とファイル2に入っている社員は重複している人もいます。 このファイル1,2に分けられている社員+得点を1つのエクセルファイルにしたいのですが どうしたらいいでしょうか?
ファイル1の一番最後の行へ ファイル2のデータをコピペ 重複ウィザードで重複データを削除で出来ないかな
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(コードは理解出来る) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 加算 振り分け 〈入力フォーム〉 A B C D E 商品コード:0009648 1.非常に良い 2.良い 3.普通 4.悪い 項目1:内容 3 2 1 2 項目2:パッケージ 3 3 2 0 項目3:内容量 2 4 1 1 項目4:味 4 3 1 0 〈反映させるフォーム〉(極一部) A B C D E 商品コード:0009648 1.非常に良い 2.良い 3.普通 4.悪い 項目1:内容 3 2 1 2 項目2:パッケージ 3 3 2 0 項目3:内容量 2 4 1 1 項目4:味 4 3 1 0 入力フォームと反映させるフォームは同じシート内にあります。 “3”や“2”と言った数字はその月のその項目の回答数です。 入力フォームに商品コードとそれぞれの項目の回答数を入力し、「OK」ボタンを押すと下の反映させる商品コードに合致したフォームに 加算されていくと言う形にしたいのです。 よろしくお願いします。
70 :
名無しさん@そうだ選挙にいこう :2012/01/14(土) 14:18:03.97
集計はピボットで
>>69 とりあえず商品コードで検索、あとは16個の数字を足すだけだからプログラム自体はすぐできるというか、
簡単すぎて具体例を出す以外に答えようがないんだけど
具体例を出すためにはシートの構造をもっと詳しく書いてくれないと
そうやって入力したデータをどんどん加算していく方式より、まず入力したデータはそのまま蓄積して、
集計は最後にした方がいいと思うんだけどなあ
入力ミスの検査とか、合計以外の別の視点での分析とかまったくできなくなるよ
>>70 質問をよく読め
単純な集計と違う
>>69 の入力フォームがすでに集計後の形になってますね。
普通に集計するなら
商品コード 項目1 項目2 項目3 項目4
の形でテーブル作ってからピボットでしょう。
>>70 じゃないけど、単純な形の集計にして、集計はピボットでと言いたい。
その形だと商品コードの数だけシートを用意する気なのかよくわからない
けど、なんか集計としての方向が少し間違ってる予感はする。
集計として機能しないのは確かですねそれ。ミス一発で全てのデータがゴミになりそ。 目的がVBAの勉強ならもうちょっと自力でコード考えるだろうし、本気で集計が目的なんだろうか。
皆さま、本当にありがとうございます。 言葉足らずでした。 商品コードは全部で200件ほど有り、これを4つのグループに分けています。 反映させるフォームは4月〜翌年3月までのそれぞれの項目の件数を追加しています。 でも確かに間違えてしまったら、データはゴミになりますね。 もっと他に良い方法がないか考えてみます。 ありがとうございました。
売り上げを集計しているのですが、まったく売れなかった場合"値なし"となってしまいます。 ピボットテーブルを作ったとき、"値なし"となったセルを数字の"0"と扱うのはどうしたらいいですか?
ピボットテーブル内で右クリック→ ピボットテーブルオプション→レイアウトと書式 の中の「空白セルに表示する値」にチェック入れて 値を0と入力
78 :
名無しさん@そうだ選挙にいこう :2012/01/15(日) 12:56:31.08
>>75 なので、入力データは1行ごとに履歴として残しておいて、集計はピボットでするのが正しい
79 :
76 :2012/01/15(日) 14:07:23.91
集合縦棒グラフを使っています。 常に グラフの解像度(640x480) 縦軸の目盛りの間隔(例えば10pixelで1増加) などを一定にする方法はありますか?
81 :
名無しさん@そうだ選挙にいこう :2012/01/15(日) 17:36:18.69
>>75 コンソリデート(データ=>統合)を利用したんじゃだめなの?
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 いいえ あるセルの値を取得し、その値を使って別のセルを参照して、計算したいです。 具体例を挙げると A1のセルに1という値が入っているとします。 この1という値を使ってB1の値を得、C1に(=B1+1)の計算結果を表示するようにしたいです。 (同様にA1が2ならB2の値を得るようにしたい) Bだけでなく、他の列も任意に指定したいです。 =B(A1) とか適当なことやってみましたがだめでした。 お願いします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル2010 ソルバー 整数 エラー 「ソルバーのパラメーター」ダイアログボックスで制約条件の対象欄に 「○△×が整数」と加えたいのですが、制約条件の追加ダイアログボックスに セル参照 = 制約条件 ○△× _= 整数 と入力するとエラーが出てしまい、うまく入力できません。 色々、Googleなどで検索をしてみたのですが、回答を得られせませんでした。 お答えよろしくおねがいいたします。
>>82 =(INDIRECT("r"&A1&"c"&A2,0)+1)
A1が行、A2が列。+1は特に意味ないけど、まぁこんな漢字ですよってことで
>>82 =INDIRECT(ADDRESS(A1,A2))+1
=INDEX(B:B,A1)+1 INDIRECTは揮(以下省略)
>>83 試してみたら確かにエラーでるね
でも条件は追加されたし、実行もできた
88 :
82 :2012/01/15(日) 19:45:31.67
お三方ありがとうございます。できました
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Google→「エクセル 文字 含まれる セルだけ選択」 下の表B2〜B50に数式を入れる部分で、現在はB2に数式入れる・コピー〜スクロール〜B50を+shiftで選択ではりつけ して入れてますが スクロールせずB2〜B50を選択(というよりA列で文字列を含んでいる範囲の行までだけD列を選択)できませんか? A(品名) B(価格) C(個数) D(金額) 1 ノート \150 3 =B1*C1 2 ボールペン \100 8 =B2*C2 3 クリップ \120 4 =B3*C3 (この間にも行) 50 はさみ \500 2 =B50*C50
ctrl+shft+↓ ctrl+shft+→
shiftだった
>>90 D1セルを選択後、セル左下隅にマウスあてカーソルが十字になった状態でダブルクリック
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 既に立ち上がっているインターネットエウスプローラに表示されている とあるサイトのテキストボックスに、エクセル上の値を、貼り付けて「提出」ボタンを 押したいのですが・・ その開いたサイトでは、アドレスバーもメニューバーもなく、かつ右クリックもできないので 目的のテキストボックスやボタンのオブジェクト名が分りません。 オブジェクト名を調べる方法や、オブジェクト名が分らなくても 何とかなる方法(Tabキー操作の感じで動かす?方法)等の回避方法を教えてください。
>>96 Sendkeysとかでキーボードの動作を真似てデータを入力する方法もあるけど、
動作中にうっかりマウスにさわったり、ちょっとしたミスで間違ったデータを送ってしまう危険性があるので、
これは最後の手段と考えた方がいい
まずは本当にコントロール名を調べる手段がないかどうかを考える
最初に試すのはF11キーを押す
サイトによってはこれでメニューバーが出てくるからソースの表示を選択できるようになる
次に、セキュリティ設定でJavascriptを停止して右クリックできるようにする、
右クリ禁止を回避するソフトとか入れてみる
IE以外のブラウザだとサイトの設定を無視してソースを見る機能があったりするので試してみる
ほかにもパケットをキャプチャしてソースを見るとか、方法はいくつもある
99 :
名無しさん@そうだ選挙にいこう :2012/01/16(月) 17:19:53.55
「横書きテキストボックス」 のデフォルトの設定を変更したいです。 たとえば、「MSゴシック11 中央ぞろえ」をデフォルトにしたいとすると、 いったいおれ どうな て
>>99 テキストボックスを作成し「MSゴシック11 中央ぞろえ」にしたあと
枠線付近で右クリックし、「規定のテキストボックスに設定」
かゆ うま
102 :
99 :2012/01/16(月) 20:23:24.99
>>100 「オートシェイプの規定値に設定」
を選択しても、次にテキストボックスを作ると
またもとのデフォルトで作成されるんだよね。
もしかしてExcel2002のバグだったりするのか
2010だと「規定のテキストボックスに設定」とでる 「オートシェイプの規定値に設定」に相当?と思われる「規定の図形に設定」も別途あるので2002ではできないのかも
>>96 目的のテキストボックスやボタンのオブジェクト名うんぬんの前に
とあるサイトを表示しているIEの IEオブジェクトは取得できてるのかな?
できてるなら
IEobj.document.body.outerhtml
とかで
<BODY>〜</BODY>のソースならとれると思うけど(今回の場合これで十分だと思う)
それとも IEオブジェクト以外の方法でコントロールしようとしてるのかな?
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 はい ・つくりたいもの @Ai の行に 数値 i をそれぞれ表示 (i には任意の整数を代入したい) ABi に整数の乱数(1〜i の範囲で)を表示 BCi でBi の乱数の値が=1 の時Ci に 1 を表示させる CDjにCiでの1の数をカウントし、表示する(jは試行回数) やりたいことは サイコロを10回振って1が出た時の回数の記録*10回分を書き出したい ってことです よろしくお願いします
106 :
105 :2012/01/17(火) 00:14:07.22
一応自分で書いた奴をはります 現状で困ってることは、1が出た回数を書き出すところで、 1〜10回分全部同じ値になってしまうことです Sub test() Dim buf As Integer Dim sum As Integer i = 1 j = 1 Do While j <= 10 '以下を10回繰り返す Do While i <= 10 '@ 10行まで試行 Worksheets("Sheet2").Cells(i, 1).Value = i 'A 1〜6の範囲の乱数を表示 Worksheets("Sheet2").Cells(i, 2).Value = Int((6 - 1 + 1) * Rnd + 1) ' 表示された乱数を取得 buf = Cells(i, 2).Value 'B buf が1ならcell(i,3)に1を表示 'C buf=1 の個数をsumに代入 If buf = 1 Then Worksheets("Sheet2").Cells(i, 3).Value = 1 sum = sum + 1 Else Worksheets("Sheet2").Cells(i, 3).Value = Null End If i = i + 1 Loop Worksheets("Sheet2").Cells(j, 5).Value = sum j = j + 1 Loop End Sub
>>105 こうか?
Sub test()
Dim buf As Integer
Dim sum As Integer
Worksheets("Sheet2").Activate
For j = 1 To 10 '以下を10回繰り返す
sum = 0
For i = 1 To 10 '@ 10行まで試行
Cells(i, 1) = i
'A 1〜6の範囲の乱数を表示
buf = Int(Rnd * 6 + 1)
Cells(i, 2) = buf
'B buf が1ならcell(i, 3)に1を表示
'C buf=1 の個数をsumに代入
If buf = 1 Then
Cells(i, 3) = 1
sum = sum + 1
Else
Cells(i, 3) = Null
End If
Next
Cells(j, 5) = sum
Next
End Sub
>>107 そうです!ありがとうございます
もし面倒じゃなかったら何が間違っていたか教えてください
意味がわからん サイコロなら乱数は1〜i じゃなくて1〜6でしょ? 問題の2番では1〜i になってるけど、プログラムは1〜6になってるし どっちが正しいのか気になる
110 :
96 :2012/01/17(火) 07:24:01.05
>>97 >>98 >>104 ありがとうございます。
セキュリティで設定されているのか、なかなか突破できないっす。
こっちも業務上のPCなので他のブラウザもインストールするには時間が掛かる。
>>98 >ほかにもパケットをキャプチャしてソースを見るとか、方法はいくつもある
教えてください。
>104
できるかどうかやってみます。
>>110 目的のサイトのURLが「
http:// 」じゃなくて「
https:// 」で、使用しているマシンがポリシーで色々禁止されてると
突破するのはかなり難しい
Sendkeysあたりでシコシコやるのが無難かもしれない
自力で考えるより、マシンの管理者に相談した方が早いかもよ
>>109 ほんとはi(1〜300)くらいまでの物を作りたいんだけど、
言葉で説明するときに分かりやすいかなっておもって
サイコロの例を出しただけです
113 :
名無しさん@そうだ選挙にいこう :2012/01/17(火) 11:28:20.64
表を作成して下の方まで長く作って スクロールした時に上の3行目まで その位置で留まって 4行目からスクロールされるなんで事で来ますか?
>>113 4行目を選択した状態でウィンドウ枠の固定をクリック
感謝
116 :
96 :2012/01/17(火) 16:23:54.74
>>111 仮に、相手のサイトも、こっちのPCもがちがちにポリシーで自由にできないとして。
エクセルの値を、とあるサイトのテキストボックスに入力するマクロは、
・エクセルから値をクリップボードに入れて、
・IEを開いて
・Sendkeysで{TAB}で入力フィールドまで動かして
・Sendkeysで{Cntl+V}で貼り付け
を繰り返すしかないのでしょうか。
ためしに作ったところ、動作は遅いわ、なぜかTABキーが不安定で狙ったとこに到達しなかったり上手くいかないので。。
>>116 ガチガチな構成なら画面のデザインも固定されてるだろうから
Win32APIを使ってマウスカーソルを移動、クリックしてフォーカス移動までVBAでやってしまうという手もある
SendMessageなんかも調べてみるといいよ。Excelからは外れるから適切なスレに移動してね
あとは、画面上に表示されてるテキストボックスとかボタンとか、コントロールの素性を調査してくれるフリーウェアもあったはず
119 :
118 :2012/01/17(火) 21:41:56.98
書いてるか?
121 :
96 :2012/01/17(火) 23:49:10.23
>>117 ありがとうございました。
そちらも調べてみます。
>>108 いろいろおかしいけど、
致命的なのは i=1 の書いてある位置
jのループの外に書いてちゃ無意味
sumも同様にiのループが終わるごとに0を代入しなきゃダメ
つまり、
do while j...
と
do while i...
の間に
i=1
sum=0
がないとダメ
【1 OSの種類 .】 Windows XP SP3 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 A列に項目、B列にその内容が書いてある 縦に連続しているデータがあり その中から、A列にある特定の項目と 対になるB列のデータを 縦の並びを変えず、抜き出したいです
124 :
123 :2012/01/18(水) 07:24:57.37
続きです 例えば A B 1 都市名 東京 2 人口 123 3 コード 456 4 面積 789 ・ ・ 7 都市名 神奈川 8 人口 456 9 コード 789 10 面積 123 ・ 1 都市名 広島 2 人口 875 3 コード 425 4 面積 185 抜き出したいデータ A B 1 都市名 東京 2 コード 456 3 都市名 神奈川 4 コード 789 5 都市名 広島 6 コード 425 と抜き出したいです 同シート内でも、別シートでも構いません よろしくお願いします
>>124 単純にフィルタで都市名とコードだけを選択するだけじゃいかんの?
もしくは、いらない項目をフィルタで絞って行削除するとか。
126 :
名無しさん@そうだ選挙にいこう :2012/01/18(水) 12:27:56.77
まず項目のタテヨコ変換をするほうが先だろう
127 :
名無しさん@そうだ選挙にいこう :2012/01/18(水) 17:17:36.97
ちょっと教えてほしい。 エクセルのマクロ有効の拡張子はmlsmだけど、 これはマクロを有効にするかどうかを聞いて来るよね。 記憶が曖昧なんだけど、マクロを有効にするかどうか聞いてこない 拡張子ってあったように思うんだけど記憶違いかな? セキュリティでエクセルファイル全部を有効にするのではなく ファイルごとに有効にするのはどうすればいいの??
>>127 ツールオプションセキュリティ
で信頼のおける発行元に入ってれば聞かれない
拡張子は関係ない
詳しくは「信頼のおける発行元 追加」辺りでググれ
>>127 フォルダ単位で設定も可能だから、マクロ付きファイルは専用のフォルダを作って入れておくという手もある
Excelで、縦にも横にも非常に長い表があります。 タイトル行・列とも全ページに印刷したいので、「タイトル行$1:$3、タイトル列$A:$C」と両方を指定します。すると、各ページの右端がやたらと余白が余るのですが、なぜでしょうか? タイトル行・列のいずれか片方だけ指定したなら、余白を十分に有効活用できるのですが・・・。
131 :
名無しさん@そうだ選挙にいこう :2012/01/18(水) 21:52:10.48
質問です。今までセルの右下にポッチ(ドラッグすると日付が1日づつ変っていったりするヤツ)がなくなってしまいました。どーやったらもどせますか?
フィルハンドル 表示されない でググれ
134 :
名無しさん@そうだ選挙にいこう :2012/01/19(木) 05:59:05.79
>>132,133 ありがとうございます。 早速やってみます。
>>133 それが駄目なので、困っています。
ページ設定で右余白を0.8と設定しても、実際には3.0以上はあるような余白が右に出来てしまいます。
136 :
名無しさん@そうだ選挙にいこう :2012/01/19(木) 12:24:31.52
エクセルは横幅の広いセルを2分割して2ページにわたって印刷したりしない。 余白がいやなら、ぴったりに収まるようセルの幅を調節しないと。
>>135 それは次のセルを印刷するだけの場所が足りてないんだよ
どこまで印刷されるかは印刷プレビューでも確認できるし、
一度プレビューすればワークシートに点線でページの区切りが表示される
タイトルや上下左右の余白をもっと小さくしてみ
調整していくとリアルタイムで点線が動いてくれるから、どこまで入るかすぐに確認できる
先頭に付いてる文字列によって計算を変えさせたいのですが可能でしょうか? 例えば△10となっていたら100-10の値を計算に使い○10となっていればそのまま10を計算に使いたいんです 実際に入力されているのは△10で表示されるのも△10、平均などを取る時の計算だけ90を使ったりしたいです
139 :
99 :2012/01/19(木) 17:06:41.06
すいませんその方法を教えてください
>>138 状況も理解できないし、やりたいことも理解できない
シートにどんな風に値が入ってるのか提示してみて
計算ってのもよくわからないから具体的に書いてみて
|19日|20日|合計 |平均 Aさん |△10|○20|110 |55 Bさん |○50|△20|130 |65 Cさん |○90|○10|100 |50 Dさん |△20|△30|150 |75 先頭△は100から引いた数、○はそのままの数を使用します 入力するのは日付の所だけで合計平均は計算式で出したいです
>>142 置換2回でダメですか?
1回目
検索する文字列:○
置換後の文字列:
2回目
検索する文字列:△
置換後の文字列:=100-
>>143 うまいこと計算できない><
置換はsubstitute関数でいいんですかね?
>>138 で書いてるんですが入力、表示されてる△10は変えたくないんです
=SUM(SUBSTITUTE(B2,"△",100-):SUBSTITUTE(C2,"○",""))
これじゃ合計が出ませんでした。
とりあえず、強引に式にした。 でも これじゃ使い物にならないね。 =SUM(IF(LEFT(B2,1)="△",SUBSTITUTE(B2,"△",""),100-SUBSTITUTE(B2,"○","")),IF(LEFT(C2,1)="△",SUBSTITUTE(C2,"△",""),100-SUBSTITUTE(C2,"○","")))
>>142 作業列を使うほうが、簡単だしわかりやすいね
それじゃだめなの?
作業用の非表示列作って、“△10”とか“○20”とかを加工して入れて、計算には作業用の非表示列を使ったら? =IF(LEFT(A1,1)="○",0+SUBSTITUTE(A1,"○",""),IF(LEFT(A1,1)="△",100-SUBSTITUTE(A1,"△",""),0)) みたいな感じ
>>145 すまん。△と○が逆だった。やっぱり実用的でないね。
なるほどsheet2とかに作業用の表をそのまま作った方が早いかもですね アドバイスありがとうございます
>>142 チラ裏ですが、
文字列で△が付いている数字を置換
△ → - (三角からマイナスへ置換する)
セルの書式設定で表示形式を
数値→ 頭に△の付いた負の数の表示形式 を選択する
とすれば表示上頭に△付くし計算もできるようになります。
>>142 を読んで、昔できなかったことを思いだしました
80と入力したら−20と表示、120と入力したら20と表示
セルの書式設定で、こんなことできませんか?
100との差を表示したいのです。
>>153 それはそれで、すっきりしました。ありがとう。
せいぜい100行程度の短いデータなのに、気がつくと(マジで条件がわかんないんです) 右側の上下スクロールバーの幅がすごく狭くなってて、たくさん行がある感じになっちゃいます。 ずーっと下までスクロールしてったらエクセルの限界?の65536行目までいって、そこから100行目(データ終わり行)まで 選択して「削除」したけど変わりませんでした。 案外不便なんですけど、このスクロールバーを元に戻すにはどうしたらいいんでしょう。
それって新規ブックでもそうなの?
>>155 新しいシート作って100行目までをコピーする
>>155 例えば101行目が空白ならそれ以下65536行までを選択して削除
その後上書き保存終了し再度開き直してみる。
それでダメなら、可能性として図形やテキストボックスなどのオブ
ジェクトが残ってるかも・・
オブジェクトは、その範囲の行や列を削除して画面上は見えてい
なくても残っていることがある。
編集→ジャンプ→セル選択からオブジェクトにチェックしてOKを押す
その状態で Deleteキーを押して削除する。
その後上書き保存終了し再度開き直してみる
一度閉じて開きなおさないと反映しないよ?
>>156 >>157 結局、今のところは
>>157 さんの言うとおりに新規ファイルへ必要データをコピーしたりしています。
新規ブックの状態でそう・・・なんだと思います。
たとえばある企業の法人向けサイトから、各種利用料金だとかの明細をCSVデータでDLしてきて
それを開いて、ちょっと加工しつつExcel形式で保存しなおして・・・とかやってて気がつくともうスクロールバーが短くなってたりします。
Excel2010をインストールして、開発タブを追加したのに マクロの記録もできず、Alt+F11も利きません>< どうすればいいですか?
158>> それじゃだめなんだよね
>>142 これって書式設定に
"○" #,##0;"△" #,##0
これ入れるのはだめなの?
セルに -10 って入力すれば △10 と表示されて 20 って入力すれば ○20 って表示される
そーすれば普通にセルの足し算で計算もできるんだけど。
>>163 △10は、−10じゃなくて100−10なんだけど
166 :
163 :2012/01/19(木) 23:45:34.83
合計欄で 100+セルA+セルB にすれば答え同じじゃん?
>>165 リンク見ました。ジャンプからの設定は試してなかったです。明日、試してみます。
>>168 自己レスだが、countif 使えばできないことないな
171 :
163 :2012/01/20(金) 00:09:56.20
ごめんごめん、CとDは見てなかったw 微妙に出来ないな('A`) でも出来そうな気もする
VBA使っちゃいかんのか?
173 :
163 :2012/01/20(金) 00:36:40.83
いいんじゃね? 数式だけでがんばってみたけどどーしても式が長くなる =IF(AND(B5<0,C5<0),ABS(B5+C5)+100,IF(AND(B5>0,C5>0),B5+C5,B5+C5+100))
175 :
161 :2012/01/20(金) 01:25:29.96
自己解決しました
>>152 逆に言うと
セルの書式設定によりそのまま数値として扱える表示方法があるということ。
入力で"-10"と入力すれば"△10"と表示されるということそれを活用しましょう。
今までに文字列として△入力していたところについては置換を使って"△"を "-"(マイナス)
に置き換えれば良いでしょう。
ご理解できましたか?
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ファイル コピー作成 開いているファイルを別の名前でコピーを作成したいのですが VBAで処理するにはどうすればいいか教えてください。 開いているファイルは処理後も開いた状態にしておきたい。 別の名前で作るコピーは開かなくてOKです。
開いているファイルが、その別名の物の方になって良いなら 普通に別名保存(SaveAs)するだけだろ 開いているファイルは、元のファイル名の方のままにしたいなら コピーを作って名前をつけて保存しコピーした方を閉じれば良い
>>177 カレントフォルダ
という言葉を知ってると色々便利だと思う
>>176 いい加減質問内容を理解しろよ
何が逆に言うとだ、勝手に逆に言ってんじゃねーよカス
>>144 >
>>138 で書いてるんですが入力、表示されてる△10は変えたくないんです
>>167 入力も「△10」で表示も「△10」じゃないといけない
>>182 △の付いた文字列を数値として扱える方法を幾度となく説いているのだが
カス呼ばわりされるとはな。
君のようなボンクラ君には越えられない壁があるようですね。
184 :
名無しさん@そうだ選挙にいこう :2012/01/20(金) 12:47:20.70
>>183 あなたの言うようにデータを扱った場合、
合計取るなら、たとえば
=IF(B2<0,100+B2,B2)+IF(C2<0,100+C2,C2)
としないと、いけないんじゃないかな。
>>138 ,142
この場合作業列を使うのが普通かなとは思うけど
VBAでの回答を否定していないようなので
ユーザ定義の関数を作るってのを提案してみる
VBAはイヤってなら無視してくれ
Public Function pfcSumX(セル範囲 As Range) As Long
Dim セル As Range
Dim 合計 As Long
合計 = 0
For Each セル In セル範囲
Select Case Left(セル.Value, 1)
Case "△": 合計 = 合計 + (100 - Mid(セル.Value, 2))
Case "○": 合計 = 合計 + Mid(セル.Value, 2)
End Select
Next
pfcSumX = 合計
End Function
として
合計したいセルへ =pfcSumX(A1:B1)
とかする
【1 OSの種類 .】 Windows7pro32bit 【2 Excelのバージョン 】Excel2007 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 可 【5 検索キーワード 】Excel 関数 抽出 など Excelのシートで使用している関数の一覧と その関数が入力されているセル番号を 出力したいのですが、方法が分かりません。 色々検索をかけたのですが出てきませんでした。 数が多くて困っております、宜しくお願い致します
188 :
138 :2012/01/20(金) 16:54:16.78
みなさんありがとうございます
昨日はとりあえずSheet2に作業用の表つくって対処できました。
今日見たらもっと良い物があったので使わせて貰います。
>>185 完璧です。
VBA使ったことなかったけど普通にコーディングみたいに使えるんですね知らなかった。
平均はこれでいいかな?
Public Function pfcAveX(セル範囲 As Range) As Long
Dim セル As Range
Dim 合計 As Long
Dim セル数 As Long
合計 = 0
セル数 = 0
For Each セル In セル範囲
If セル > 0 Then
セル数 = セル数 + 1
End If
Select Case Left(セル.Value, 1)
Case "△": 合計 = 合計 + (100 - Mid(セル.Value, 2))
Case "○": 合計 = 合計 + Mid(セル.Value, 2)
End Select
Next
pfcAveX = 合計 / セル数
End Function
189 :
185 :2012/01/20(金) 17:39:46.19
>>188 ↓ここがまずいよ #value! にならないか?
If セル > 0 Then
セル数 = セル数 + 1
End If
(入力セルは、あくまで文字列だから 単純に数値比較できない)
で変更点だけど 見る限り
下のどちらにするの?
1)○20 + ○0 + ○10 ---> 平均 15
2)○20 + ○0 + ○10 ---> 平均 10
つまり ○0 と △0 をセル数として入れるのかって事
入力のないセルは計算しないつもりです なので 1) の方ですね 確かに文字列を数値比較はまずいですねアホだった。 んじゃIF消してCaseの中で+=かな
191 :
185 :2012/01/20(金) 17:59:15.19
>>190 ある程度プログラミングの知識は あるようなので
変更後のコードは割愛するんでがんばってみて下さい。
分からなかったら改めて質問をしてね
横レスすまん >Public Function pfcSumX(セル範囲 As Range) As Long これはどういう意味なんでしょうか? マクロはSubで始まるものだと思ってましたし、 〜 As Longは変数を長整数型に指定するものだと思ってました。
ユーザー定義関数
>>193 値を返す関数だよ。戻り値が長整数型ということ。あとは↑
>142 ifとleftとfindで行けそうな気がする
間違った、left→mid
本来であれば値を返さない関数のほうが異例だと思うんだけどな。 用意されている関数、たとえばlenを使って結果が返ってくることに疑問を感じなかったのだろうか。
何言ってんだこいつ
関数が入った表の合計値(20セルぐらい)を毎日朝昼晩コピーペーストして別表に記録しているのですが、 数式の値をコピーペーストするときは 「形式を選択して貼り付け」を選び、「値」を選択しなくてはいけませんが 日々回数がかさむとこの作業がかなりつらく苦痛に感じるのですが何とかショートカットキー一押しや1発ボタンで簡単にできるようにする方法は無いのでしょうか? 詳しい方いらっしゃいましたら宜しくお願い致します。
>>202 残念ながらオレも10年以上探してるけど、その方法は無いんだ。
204 :
202 :2012/01/21(土) 16:14:41.44
>>202 補足ですが
メニューの箇所の貼り付けアイコンのプルダウンメニューから値を選択する方法は把握しています。
しかしながらこの操作はマウス操作をミスる場合があるので使っていません、今の所多機能マウスのボタンにマクロを割り当ててそれでやってますが
PC内で他の作業が突如割り込むと誤作動を起こします、本当に胃が痛くなります。シンプルに1コマンドで出来る方法がありましたら宜しくお願い致します、、
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル スペース 削除 セルに複数の単語が入っています。 セルは1列で300行弱です。 単語の文字数は決まっていません(だいたい1〜10文字)。 単語と単語の間にはスペースがあります。 スペースの数は不規則です。 1文字目にもスペースがあることもあります。 こんな感じです。 山田太郎 愛知県名古屋市 35歳 石田健一郎 東京都 20歳 男 これを、スペースを削除し、さらに1つのセルに単語1個ずつ入った状態に振り分けたいです。 よろしくお願いします
>>204 2010ですか。
右くりっくで値貼り付けのボタンがあったと思うけど。
それじゃだめなの。
意味取り違えているかな?
>>207 2003です、今見てみましたが2003にはまだついていないようです、、('A`)
>>208 ゆーざー設定でボタンを出しておくことができる
>>202 2003なら
ツール → ユーザー設定 → コマンド
→ 分類から編集を選択 → コマンドの値の貼り付けを適当なメニューバーへドラッグ
俺はこの4つのボタンはよく使うな 値の貼り付け 書式の貼り付け 数式と値のクリア 書式のクリア
2002にはその機能無いんだけど
>>212 よく覚えていなけど、95でもあったと思う
前スレ981 981 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2012/01/07(土) 12:47:48.33 >980 数式が違ってる or 眼科
>>216 できるんですね。”区切り位置”で検索してみます。ありがとう。
>>216 ありがとうございます。できました。
スペースから始まるセルはズレちゃうけど、満足です。
これで格段に作業が捗ります。
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ドロップダウンリストから選択した項目にそれぞれデータを与えて セルに代入する方法を探しています。 具体例としてドロップダウンリストにa〜dの項目をセット a が選択された場合にA1〜D1に1,2,3,4を代入 b の場合は 2,3,4,5 を代入と言うようなことをやりたいです ・ユーザフォームは使いたくありません ・項目に与える値はコード内に記載したいです。 自分で調べたのですがいまいちヒットしません 検索ワードなどでも教えて頂けると助かります。
>>221 Worksheet_Changeで
ドロップダウンリストかどうかは関係ない
>>202 2007ならよかったのにね。
2003で、マクロでやろうとしたんだけど、間違えたときに戻せなくて諦めたよ。
>>221 入力規則(valodation)とWorksheet_Changeの組み合わせか
コンボボックスかリストボックスを配置する
すまん。validationの間違い。
質問です 2003を使っているのですが印刷プレビューではちゃんと画像が表示されているのに 印刷すると真っ白で印刷されてしまいます。 何が原因でしょうか?
>>206 trim関数で値貼付けしたら消える
>>227 インク切れ
ページの指定間違い(ページを指定せずに印刷してみる)
229 :
207 :2012/01/21(土) 22:06:58.27
>>228 ありがとうございます。
インク切れではないです。
ページを指定しなくても真っ白になります。
ただページ設定なんですが普通の状態だとちゃんと印刷範囲が設定されているのですが
印刷プレビューに切り替えると画像はちゃんと出ていても印刷範囲が設定されていなくて
設定することも出来ない状態です
>>227 ,229
オブジェクトを印刷する のチェックが外れてるのでは?
すみません オブジェクトを印刷するはどこにあるのでしょうか?
>>229 > 印刷プレビューに切り替えると画像はちゃんと出ていても印刷範囲が設定されていなくて
> 設定することも出来ない状態です
ここがどういう意味かよくわからないんだが、説明しなおせる?
ところで207は俺だよ。
>>230 それだとプレビューにでないと思うんだが。
プリンタによって違うかもしれんけど。
>>23 1
図をダブルクリック
234 :
231 :2012/01/21(土) 22:35:36.83
すみません、作ったファイルは印刷プレビュー画面にするとちゃんと表示されています。 そこで設定を押してシートをみると印刷範囲が灰色になっていてせっていできないじょうたいになっているんです。 印刷プレビューじゃない通常画面だとここには数値が入っているんです。
Excel2003でも2010でもいいけど、自分で設定したセルの表示形式(セルの書式設定の「表示形式」タブに当たる部分)を、 次から一発で再利用できるように、ツールバーとかに登録できないかな? 次のような方法では、ちょっと困る。 @自分が好きなセル表示形式を盛り込んだテンプレートファイル(.xlt)を作っておく。 →臨機応変(気まぐれ)に、あちこちのセルで表示形式を簡単に再利用したいので、ちと柔軟さに欠ける。 Aどっかのセルをコピペする →あくまで「表示形式」だけを再利用したい。罫線とかまでコピペされると嫌。
238 :
231 :2012/01/21(土) 22:54:03.52
>>233 すみません図はないんです。ただの申込書を作成しただけですから。
>>236 クリアしましたがやはり白紙で出てきます。
インクチェックもしましたが正常です。
yahooのトップページを印刷したら正常にカラー印刷できました。
>>238 すまん。画像というのが図形だと思い込んでた。
他のエクセルファイルが印刷できるか。
新規ブックにコピペして印刷できるか。
240 :
238 :2012/01/21(土) 23:03:21.42
すみません他のも印刷できませんでした 新規bookにコピペシテもだめでした
>>238 改ページプレビュー画面だとどうなっているの?
>>242 普通に作成した文章が表示されています。
あっ、他のファイルも印刷できないのね。それじゃ関係無かった。 無視してください。
>>243 他のプリンタはないですか。pdfプリンタとか。
すみません、プリンターはひとつです。ためしに再起動してみましたがだめでした。 エクセルを再インストールしてみます。 今日はありがとうございました。
これはわからん/(^o^)\
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 可 商品(ここがA1セル) バラ サクラ ウメ 商品 モモ アジサイ 商品 ペチュニア シバザクラ コチョウラン カスミソウ 商品 ケイトウ こういう列があるとして、「商品」含むセルだけを(A1セル以外)行ごと 終わりの行まで削除したいです よろしくお願いします
>>248 ・オートふいるで抽出して削除
・作業列に番号を振って商品の列で並び替え→商品を削除→先の番号順で並び替え
>>249 申し訳ありません、言葉が足りませんでした
VBAだとどうなるでしょうか?
>>250 Sub Macro1()
Dim gyo
gyo = Range("A65535").End(xlUp).Row + 1
For i = gyo To 2 Step -1
If Cells(i, 1).Value = "商品" Then
Rows(i).Delete Shift:=xlUp
End If
Next
End Sub
for eachの方がいいんだろうけどねぇ
まぁいいか
>>251 どうせなら"A65536"にしてはどうだろうか
そうかA65535にした理由がわかった
12分か 気づくの遅すぎw
>>254 2行修正しました。これじゃだめですか
gyo = Range("A65536").End(xlUp).Row
Rows(i).Delete
>>248 解決しちゃったようだけど・・・
For Each〜Nextではこんな感じ
Sub test()
Dim r As Range
For Each r In Range("A2", Range("A65536").End(xlUp))
If r.Value = "商品" Then
r.EntireRow.Delete
End If
Next
End Sub
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 可 【4 VBAでの回答の可否】 可 シート名:1日〜シート名31日までの31個のシートがあるファイルがあります。 その31個のシートのデータを一つのファイルに集めるのにはどうするのが一番早いでしょうか? 基本はX行目〜Y行目までの行をそのまま持っていけばいいのですが、 ただし、シートによってデータの行数がことなります。
>>259 元々1つのファイルなんじゃないの???
もし31シートの内容を1つのシートにまとめたいって質問であれば、
1. コピー元シートを選択
2. [Ctrl]+[↑] => [Ctrl]+[←] => [Ctrl]+[End] => [Ctrl]+[C]
3. ペースト先シートを選択
4. [Ctrl]+[V]
が一番早いと思う。
>>260 何書いてるんだ俺は・・・
×2. [Ctrl]+[↑] => [Ctrl]+[←] => [Ctrl]+[End] => [Ctrl]+[C]
○2. [Ctrl]+[Home] => [Ctrl]+[End] => [Ctrl]+[C]
>>261 あぁ、さらに間違っていた、恥ずかしい・・・
×2. [Ctrl]+[Home] => [Ctrl]+[End] => [Ctrl]+[C]
○2. [Ctrl]+[Home] => [Ctrl]+[Shift]+[End] => [Ctrl]+[C]
ここでUnionが出る悪寒
【1 OSの種類 .】 Windowsvista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 A B C D E F 1 番号 名前 国語 英語 合計 平均 2 105 黒田 70 81 151(=sum(C2:D2) 75.5(=avarage(C2:D2) 3 104 南 95 93 188(=sum(C3:D3) 94(=avarage(C3:D3) 4 102 加藤 68 72 140(=sum(C4:D4) 70(=avarage(C4:D4) ・ ・ ・ 最終行 EとFの数式を終わりまで持ってくのをVBAで作る場合どうやったらいいでしょう?
266 :
名無しさん@そうだ選挙にいこう :2012/01/23(月) 00:46:49.13
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 シート名 「結果」・「X」・「Y」・「Z」と4シートあります。 結果シートの A1セルに X と入力すると、 XシートのA1セルの値を表示するには何がいいでしょうか?
>>270 結果シートに以下を定義するのはどうでしょう。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 And Target.Value = "X" Then
MsgBox Worksheets("X").Cells(1, 1).Value
End If
End Sub
YやZに対応すると不正解という引っ掛けか
>>270 indirect関数とか
=INDIRECT(A1&"!A1")
indirect使うと、何も解ってない癖に難癖付けるバカが出てくるぞ
という難癖
276 :
名無しさん@そうだ選挙にいこう :2012/01/23(月) 23:11:09.42
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 ほんの少しです。 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 cells 範囲 複数 それなりの頻度で範囲が変わってしまうのでcellsと変数にて範囲を指定したいのですが If Intersect(Target, Range("B17, B19:B26, B28:B35")) Is Nothing Then Exit Sub どうにもこうにもここだけがrange(cells(,),(,)を繋げても上手く認識してくれません。 何か特別な書式があるのでしょうか? 申し訳ないですがよろしくお願いします。
>>276 質問の意味がほとんど理解できないんだけど、こういうこと?
Intersect(Target, Union(Range(Cells(17, 2), Cells(17, 2)), Range(Cells(19, 2), Cells(26, 2)), Range(Cells(28, 2), Cells(35, 2))))
278 :
名無しさん@そうだ選挙にいこう :2012/01/23(月) 23:58:12.44
>>277 まず、こんなに早く返信をいただき本当にありがとうございます。
思ったとおりに動いてくれました。
Unionとは初めてみましたが、まだまだ知らないものだらけだと痛感しました。
質問の仕方もまずかった様で本当申し訳ないです。
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 エクセル 各月 グラフ 比較
http://www1.axfc.net/uploader/Sc/so/312266 上記のファイルにグラフがあります。
各月の4つの製品の作業時間を号機別に比較できるようにしたいのですが
現状だと12月、1月分、・・・と各月のグラフを用意いないと比較できません。
また、パワーポインタのスライドに貼り付けるため、グラフだけが増えていく状態です。
1つのグラフで、各月の作業時間の比較(特にC,D,Eの製品の作業時間が多いことを魅せたい)
のですが、どのようなグラフにすると見やすくなるでしょうか?
どうかよろしくお願いいたします。
>>279 どのようなグラフにすると見やすくなるか、というのはExcelの質問ではない
>>279 保存時にファイルのプロパティから個人情報を削除する
をしないとプロパティに作成者とか会社名が入ったままですよ
282 :
279 :2012/01/24(火) 01:08:19.32
>>273 ありがと。できました。
ちなみに何で難癖?
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 正規表現 VBA A列に1500件ほどのメールアドレスが入っています このメールアドレスにメールアドレスに使えない文字 (a-z、A-Z、ハイフン、アットマーク、アンダーバー以外全て)が混ざっていないかを検索したいのですが、 どのようにすればいいでしょうか? 2バイト文字や空白なら検索できたのですが、これ以外全てとなるとどうすればいいかわからないです よろしくお願いします
>>284 > 【5 検索キーワード 】 正規表現 VBA
これでググればいくらでもヒットするけど?
> メールアドレスにメールアドレスに使えない文字
> (a-z、A-Z、ハイフン、アットマーク、アンダーバー以外全て)
この認識がそもそも間違っている
RFCをちゃんと読もうな
メールアドレス 正規表現 で検索 しかし数字もドットも使えないのか?
execlが入っていないPCでexcelで作成したデータをそのまま印刷する方法はありますか?
>>288 Excel Viewer を使用すると、Excel がインストールされていなくても、Excel ブックを表示、印刷、およびコピーできます。
Excel Viewer から別のプログラムにデータをコピーすることもできます。
ただし、データの編集、ブックの保存、またはブックの新規作成を行うことはできません。
>>288 openoffice
グーグルドキュメント
どちらかを使う
292 :
名無しさん@そうだ選挙にいこう :2012/01/24(火) 21:36:58.85
上司「12345−6789=の答えを33333になるにはどうすればいいか考えてきて^^」 おまえら助けろ下さいおなしゃっす
俺の職場では、色んなデータがCSVで提供されるけど、みんなCSVはExcelで開いて別ブックへコピペしたりしてる。 またExcelで開いたまんまCSVを上書き保存したりとか、平気でしてる。 それらのCSVは、先頭にゼロの文字が付されたコード(00020とか)が頻出するタイプのCSVであり、 それをExcelで上書き保存までされてると、危なっかしくて気になる。 一応、外部データ取込みウィザードのやり方とかも教えたんだけど、みんな難しがってそのやり方は採用してくれない。 あまりこの辺を、PCに強くない人達に強く言ってはいけないものだろうか? 貴方たちの職場なんかでは、どういう風にCSVをみんな扱ってる? Excelで開いて上書き保存とかも、あまり目くじらを立てずに黙認しておくべきものだろうか?
>>292 間違えて送信してしまった
書式設定のユーザー設定で「33333;;;」
とすれば
=12345-6789
と入力すれば33333と出る
>>293 危ないならデータベースからひっぱってくるシステムにするべきだと思うんだが
>>293 それで業務が正常に回ってるならいいんじゃないの?
他の職場の状況を聞いて何の意味があるんだろう
>>293 本人が不都合に感じる事態にならないと無理じゃね?
そこで初めて気をつけようという方向に頭が行くんだから
CSVとエクセルの関連付けは止めたほうが世の平和に繋がるとは思うけどね
>>293 ですが。
業務が正常に回っているとは、俺には思えなくて不安です。
CSVのデータがExcelで化けてしまうのを平気で放置している状態では、データの改竄をしているのと同じなんじゃないかと思うのですが。
そこまで大袈裟な問題ではないんでしょうか?
他の職場の状況というか、CSVとExcelに対する、あるべき姿勢というものを聞きたいわけで。
>>299 思えない、って想像なのですか?
その業務のあなたの立場がよくわからないです
問題があるのであればその業務の責任者に伝えて改善すればよいと思います
もしあなたが責任者なのであれば指導して改善すればよいでしょう
これはExcelに関する質問ではないですね
>>299 大手なら既にシステムがあり、データの加工はほぼ一切しない。
得意先の住所でAグループ、Bグループ、など個人的に分けてる人はいるぐらい。
零細なら俺が作ってデータベースから引っ張ってくるようにした
その状態が及ぼす影響を考えてまとめて、然るべき場所に進言するのが君の役目かと
A列の9行分にαβγの3種類の文字列が1文字づつ入っていて B列にそれぞれ適当な数値が入っています A列9行分の範囲に同じ文字列が5個以上入っていて それがA列と一致する場合にB列の数値を1.1倍させた数値をC列に表示 違う場合もしくは5個同じ文字列がない場合B列の数字のままC列に表示 というものを関数のみでできますでしょうか? 質問が下手ですみません エクセルのバージョンは問いません
>>302 =IF(COUNTIF($A$1:$A$9,A1)>=5,B1*1.1,B1)
オートシェイプへの質問です。 オートシェイプを入れ子構造化したいと思っております。 イメージ的には親のオートシェイプに子になっているオートシェイプを 関連付けてマクロからその関係理解して利用できたらと思っています。 このようなオートシェイプの作成方法はございますでしょうか?
まー無理だな 親子関係はセルにでも書いとけばいいんでないの
>>306 なるほど・・・、無理でしたか。
ありがとうございました。
303の回答を見て302の質問の意味が分かったよwww
309 :
名無しさん@そうだ選挙にいこう :2012/01/25(水) 19:45:36.72
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 階層 リスト 入力規則 エクセルで 発注書を作りたいのですが、入力規則のところでつまづいています。 次のようなデータがあります。 メーカー 車種 年式 トヨタ カローラ 2000 トヨタ カローラ 2010 トヨタ カルディナ 2000 ホンダ アコード 2001 ホンダ アコード 2003 ホンダ NSX 2000 ニッサン GT−R 2011 ニッサン ムラーノ ホワイト 行いたいのは、3つの入力規則のリストを使用して、メーカー→車種→年式 へと リストボックスで 選択を行わせていきたいのです。 名前の定義を行い 各メーカーにわけて名前をつけて方法はわかったのですが、 そうすると、メーカーのリストは、データの数だけ表示させれてしまいます。 また、3階層以上になると、名前の定義だけで複雑になってしまいそうです。 どうにかして、 リスト内の同一の名称をはぶきつつ、階層構造のようなリストをつくれないものでしょうか??
>>309 Excel 入力規則 リスト 絞り込み
でググってみる
リストボックス? コンボボックス? ドロップダウンリスト? プルダウンリスト?
A1 B1 C1 D1 私は テニスを 空欄 する 「私はテニスをする」にしたいのですが、C1の空欄がスペースとして入ってしまいます。 この空欄を無視するにはどうすればいいですか、 式は=CONCATENATE(A1," ",B1," ",C1," "みたいな感じにしています。 C1が空欄でないときもあるしB1が空欄の時もあるので、空欄をスペースにしないで文章を繋げたいのですが、お願いします。
ifでネスト
>>314 アレッ、&でいいんですね!
ややこしい式にしてました。
>>313 あの式でやるならifをつかってとかですね、
ありがとうございました。
>>315 &が簡単でいいけど
=CONCATENATE(A1,B1,C1,D1)
でもいいとおもうぞ
みんなすごいな、俺には
>>312 の質問内容が理解できなかった
318 :
名無しさん@そうだ選挙にいこう :2012/01/26(木) 12:00:39.80
>>317 「私はテニスを空欄する」 とおもった?
>>318 いや、なぜ空欄がスペースに置き換わるのか理解できない
320 :
名無しさん@そうだ選挙にいこう :2012/01/26(木) 13:54:45.27
なるほど、するどい もともとC1はNullでなくスペースが 入っているのかな。 だとすると、回答でも入るはずだな。
まぁ
>>315 で本人は解決してるみたいなので別にいいんだけど、
横で見ていて理解できないから気持ち悪いだけ
確かにキモい 314でも316でも解決しないしな
見た目的にスペースがはいれば何でもいいんじゃないっすかね =TRIM(CONCATENATE(A2," ",B2," ",C2," ",D2)) が正解だったと思うけど
入れるんかい
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 下の表で「スカート」「ズボン」→「ボトムス」 「シャツ」「セーター」→「トップス」として B11 B12(できたらこのセル1つずつだけ使って)に関数使って合計入れたいです 宜しくおねがいします A B 1 スカート \40,510 2 ズボン \59,000 3 シャツ \34,650 4 セーター \27,890 5 6 スカート \63.900 7 ズボン \31,580 8 シャツ \40,760 9 セーター \35,750 10 11 ボトムス \194,990 12 トップス \139,050
326 :
名無しさん@そうだ選挙にいこう :2012/01/26(木) 22:52:14.14
スカート、シャツの横にボトムスとかトップスって入ってないと集計できないよ べつにテーブル作ってVLOOKUPで表示させるといいね
>>325 B11 : =SUMIF(A1:A10,"スカート",B1:B10)+SUMIF(A1:A10,"ズボン",B1:B10)
B12 : =SUMIF(A1:A10,"シャツ",B1:B10)+SUMIF(A1:A10,"セーター",B1:B10)
328 :
325 :2012/01/26(木) 23:34:30.21
329 :
名無しさん@そうだ選挙にいこう :2012/01/27(金) 06:24:26.07
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ある数値から5づつ足していって 180までいけばそこからは逆に5づつ引いていって 0までもっていくって方法はありますか??
>>329 はい、あります。
別に難しくないとは思うけど・・。
331 :
名無しさん@そうだ選挙にいこう :2012/01/27(金) 06:46:30.13
>>329 A1に数値が入ってるとすれば
A2=IF(COUNTIF($A$1:A1,">180")>0,A1-5,IF(A1>180,A1-5,A1+5))
こんな感じで下にオートフィル
ただ180を越えた時の扱いが分からんのと0を下回った時が分からんのでテキトー
333 :
名無しさん@そうだ選挙にいこう :2012/01/27(金) 07:12:57.73
>>332 ありがとうございます。
この式でやってみます!!!
excelの短い日付形式がデフォルトでyyyy/MM/ddにならないんだけどレジストリいじるしかない?
>>334 短い日付形式ってなんだ?
日付のデフォルト書式って yyyy/m/d じゃないの?
レジストリいじってなんとかなるってわかってるならレジストリいじればいいんじゃないの?
336 :
名無しさん@そうだ選挙にいこう :2012/01/28(土) 00:52:38.87
初めて、このスレを知ったんですけど、少し質問させてください。 今日、エクセルで作業をしていて、間違ってシートを消去して 保存し、終了してしまいました。 その後、シートを削除した事に気づきましたが、既に、必要な シートは無くなっていました。 こういう場合、シートを復元できる方法はあるのでしょうか? ネットで色々と検索しましたが、難しいのかなと思っています。 もし、方法があるようでしたら、どなたか教えてください。 すいませんがよろしくお願いします。
>>336 削除したシートを復元する方法はありません
>>336 ウィンドウズ7なら昔のファイルが復元できるんじゃない?
複数のセルを選択した状態で右クリックすると選択状態が解除されちゃうんだけど、これってバグ? ちゃんと選択したセルの上で右クリしてるのに ちなみに右クリックの代わりにアプリケーションキーを押せば問題なく作業できます @Excel2010
>>339 うちじゃ問題ないからバグではなさそう
Win7 32bit Excel 2010
342 :
336 :2012/01/28(土) 11:09:51.76
>>338 ウィンドウズ7でエクセル2010を使用していますが、昔のファイルが
復元できるとはどのような方法なのでしょうか?
>>342 それはOSの話なのでExcelとは関係ない、スレチだ
>>335 レジストリいじるところがOSに関わるんで他の方法がないかと探してる
>>341 それはわかってる
長い日付形式は反映されるんだが短い日付形式は反映されないんだ
テンプレで質問しとこう
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 日付 デフォルト とか色々検索
コンパネ→地域と言語のオプションから形式のカスタマイズができるが
短い形式をyyyy/MM/ddにしてもExcelの日付の表示形式にはyyyy/M/dになってしまう
長い形式の変更は反映されているので自分の環境のせいなのかどうなのかがわからない
>>344 逆に聞いて悪いけどどこのレジストリいじると変えられるの?
>>344 確かに短い形式は反映されないな。
俺のところはyyyy/M/dとyyyy-M-dにしかならん。
>>344 システムに影響される書式を使うのは何故?
こだわるならユーザー定義のほうがいいと思うんんだが。
>>344 こんな設定あったのか
地域オプションの標準と形式を「北サーミ語(スウェーデン)」
にした状態でエクセルを開き、「1/1」と入力すれば「01月/01日」と表示される
エクセルを開いたまま日本語に戻しても継続される
しかしファイルを開きなおすと元に戻る
謎仕様すぎるので、エクセルの仕様と思って色々諦めた方がいいと思う
350 :
名無しさん@そうだ選挙にいこう :2012/01/28(土) 17:21:14.70
>エクセルの仕様と思って色々諦めた方がいいと思う それって「仕様がない」とおもってあきらめろってこと? 駄洒落でした
352 :
名無しさん@そうだ選挙にいこう :2012/01/28(土) 17:40:46.36
辞書引いてみた 【しょうがないは、本来「仕様がない(しようがない)」と書く。 「仕」は当て字で、動詞「為・・・・・】 駄洒落じゃなかった・・・・
>>346 HKEY_CURRENT_USER\Control Panel\Internationalの
icountryを81(日本)から1(米国)にいじる
そうするとsShortDateの変更が反映される。
気がついたのは地域と言語のオプションで英語(米国)にして短い形式を変更すると
Excelに反映されたんでどっかいじれば日本語でもできるんじゃね?と思って。
>>349 それは普通だw
Excelは日付は数値で持っていて表示形式で表示方法を変更してるんだから
Officeツールの言語設定を使えばシステム全体まで影響を及ぼさずにできないかな?
355 :
346 :2012/01/28(土) 22:21:30.29
>>353 日付を数値で持つのはどの表計算でも同じじゃなかったっけ?
OpenOffice系でも同じだよ。三四郎もだけど・・・
357 :
336 :2012/01/28(土) 23:10:33.58
>>345 ありがとうございます。
やってみましたが、【利用可能な以前のバージョンはありません】と
出てしまいました。
残念ですが、あきらめます。
358 :
名無しさん@そうだ選挙にいこう :2012/01/28(土) 23:45:03.05
>>356 まあ表計算に関係なく、昔からシステムおよび言語系ではそれが通常。
開始日などは、システムで違うけど。
確かにサーミ語だけがmm/ddになる なにこれ
Excelのシートは何故65483行までなのですか?
Excelのシートは何故 65536行 までなのですか?
>>361 バイトで表してみればわかるのじゃねえの?
>>361 Excelを設計した人たちが決めた仕様なので我々にはわかりません
Microsoftに問い合わせてみてはどうでしょう?
>>361 仕様だからです。
グラフの線の太さが4なのも仕様だし、使用可能なワークシート関数が329なのも仕様です。
オレのエクセルは1048576行まであるぜ
>>361 2010 32bitなら1048576行ありますよ。65536行の旧製品では行数が足らないということなら2010へ
アップグレードしてみてはどうでしょうか。
368 :
名無しさん@そうだ選挙にいこう :2012/01/29(日) 11:18:46.51
>>361 2007からふえてるよ。
以前は、行数のコントロールに短い整数(16bit分)使って65536行コントロールしてる。
2007からは、それを20bit分に変えてコントロールしてるんで1048576行。
OSは32か64bitなんだけど、フルに使うとメモリー等で問題に
なるんで、16bit+4bitを選んだ見たい。
Excel95では16384行だったよな。 オートフィルターなどからコピーできる最大エリア数はそれに由来してる。 Excel95では最終行まで1行おきにフィルタリングされても問題は起きなかったが、97から2007までは問題が起きる。
最近まで65536行なんて一生使うわけがないと思ってたけど とある統計データをいじってたら早速足りない状況に直面した・・ 数字って無限に存在するのにそのボリュームから考えると65536行じゃ全くたりないわな・・w
372 :
名無しさん@そうだ選挙にいこう :2012/01/29(日) 16:43:19.87
数万行なんてExcelでつかおうとしても実用にはならないけどね 重くて
データ数が多いと確かにアクセスが圧倒的に便利
外部に出力したほうが捗るぞ
Excel2007 1万行x4列で各項目7、8桁程度の数値を入れて単純なグラフを作ることがしたいのですが 重すぎてしゃれになりません グラフの設定ちょっといじるたびに激重でフリーズして何分もかかってしまいます どうにか軽くする方法ってありますか?
>>375 ・行数を減らす
・PCのスペックを上げる
>>375 計算方法を手動にしてもグラフってダメだっけ?
>>376 行数減らすのは無理ですね
CPU2500Kなのでこれ以上あげるのはきついw
>>377 ちょっとよくわからないのですが
入力している数値は計算式から出したものじゃなくて全部生の値ですよ
Accessでもグラフはできるんじゃなかったっけ
質問させてください 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 検索したけど理解できる回答がわかりません 社内で共有ファイルを使い入力作業してます(数十人) 保存できません(ディスクがいっぱいです)の表示 ローカルデータとして残すのも不能で閉じれません 対処法を教えてください データの保存先はネットワークドライブなんですよね? これの拡張?で解決するのでしょうか? 拡張方法も知りません どうかよろしくお願いします
>>382 残念ながら質問内容や状況が理解できません
想像で何とかわかるところもありますが、ものすごいラリーが続くと思われます
状況を明確に説明できる方(社内の管理者等)に質問内容を書き直してもらって出直して下さい
>>383 具体的に質問の内容で解らない点を示してくれるとたすかります
全部解らないって言われたらそれまでですけど
エクセル→共有ファイル→保存先→あたりの質問です
>>382 テンポラリファイルがおかしくなってるキガスる
ネットワークドライブがいっぱいになってないか調べる→いっぱいならテキトーに色々削除
隠しファイルを見えるようにして、テンポラリファイルがあるか調べる。残ってたら削除。
とりあえずは一度ローカルに保存してから作業、共有先にコピーなら作業はできると思う
386 :
383 :2012/01/30(月) 00:00:25.17
>>384 >【1 OSの種類 .】 Windows7
>【2 Excelのバージョン 】 Excel2010
>【3 VBAが使えるか .】 いいえ
>【4 VBAでの回答の可否】 否
>対処法を教えてください
>どうかよろしくお願いします
この6行以外は正直言って理解できませんでした
こちらから状況の確認をしてもあなたでは正確に答えられないと思います
エスパー機能を持った人がレスをくれるかもしれませんがそれで悪化する可能性もあります
まずは社内の管理者等に確認されるべきだと思います
>>382 自分以外だれも編集してなければ閉じれるんじゃないかな
388 :
名無しさん@そうだ選挙にいこう :2012/01/30(月) 00:12:56.12
>>382 そもそもdisk fullなんだったらExcelは関係ない
原因の切り分けぐらいしてくれ
>>385 とりあえず一番つうようしそうな指摘なのでやってみます
スレ違いすいませんでした
>>375 根本的に軽くする方法じゃないけど
グラフの書式設定をいじろうとするとフリーズするなら、
とりあえずフリーズしない程度の行数でグラフ作る
→納得するまで書式設定をいじって完璧に仕上げる
→最後にデータ範囲を広げる
…って手順にしたらどう?
>>369 非表示列があるとExcel95でもNGだよ。
まぁ昔からExcel使いこなすスキルのない奴で3000行以上ならAccessとかを勧めるやついたよな。
重ければ軽くすりゃいいだけなのに、VLOOKUPとか平気で使ってるんだもんな。
65536行以上のデータベースはアクセス使えやってことをMSは言ってますよ。
395 :
名無しさん@そうだ選挙にいこう :2012/01/30(月) 15:45:33.72
>>375 単純なグラフというのは、
生データを全部プロットするとかしたいのか?
それとも、棒グラフのようにまとめたいのか?
どんな感じにしたいの
それ次第で対処は変わるよ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA 複数列 削除 A列 B列 C列 D列 E列 F列 G列 H列 I列 J列 K列 L列 M列 潮留店 麻布店 赤坂店 六本木店 日本橋店 品川店 新宿店 渋谷店 銀座店 墨田店 港店 港東店 江東店 A:潮留店〜B:麻布店、E:日本橋店、H:渋谷店〜I:銀座店を消すため Sub test() Columns("A:B", "E:E", "H:I").Delete End Sub と入れると「コンパイルエラー:引数の数が一致していません。または不正なプロパティを指定しています」 と出ます。潮留〜麻布店だけの Sub test() Columns("A:B").Delete End Sub は普通に消せますが、最初のコードのどこが間違ってるんでしょう?。 おねがいします。
>>396 まさにエラーメッセージの通りだと思いますが?
「コンパイルエラー:引数の数が一致していません。または不正なプロパティを指定しています」
Range("A:B,D:D,E:E,G:G").Delete なら動くぞ
Columns("A:B" & "," & "E:E" & "," & "H:I").Delete でもおっけー
>401 すんまそん Range("A:B" & "," & "E:E" & "," & "H:I").Delete でした
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル チェックボックス カウント 一括で複数のチェックボックスとセルをリンクさせる事は出来ないのでしょうか チェックボックスの数が多くなってくると一つずつ地道にやるのが大変で…
>>403 VBAがNGなら無理じゃないかな
UWSC等の外部ツール使ってやってもいいと思うけど、
それならVBAでいいじゃんって事になる
>>404 なるほどそうなんですか…
これをきっかけにVBA勉強してみようと思います
ありがとうございました
407 :
404 :2012/01/31(火) 17:16:07.35
>>406 マジですか…
そこをなんとかできないでしょうか?
408 :
名無しさん@そうだ選挙にいこう :2012/02/01(水) 04:30:07.70
5万行も計算させていたのに、気付いたパソコンの奴が勝手にデータ更新しやがって再起動してた... 保存はされないみたいね。一からやり直し。 お気をつけて。
データ範囲にセルを合わせないようにできるでしょうか? 自分で入力するセル番号以外、セルが行かないようにしたいのですが・・ Excel2003を使っています。
>>409 色々方法はあるが、ScrollAreaをOpenイベントにでも書いておけば?
なんか質問を取り違えたかな? よく読むといまいち意味が分からん
触りたくない範囲に、セルを動かせないようにしたいのです
直接動かないようにはできないが、動いたことによってどっか別のセルに 飛ばすことはできる。 んで>410に至る。
>409 シート1のA1とC1、E2など飛び飛びに入力したいときは シート2A1=シート1のA1 シート2A2=シート1のC1 シート2A3=シート1のE2 みたいにリンクさせると打ち間違いが少ない じゃなきゃVBAで>410かな
>>409 発想の転換で入力作業を行うセルのみアクティブにさせればいい。
その方法は過去レス読んでね。
最近はEnableSelection使う人少なくなったねぇ。 Excel97からScrollAreaが備わったからかな?
>>418 >最近はEnableSelection使う人少なくなったねぇ。
参考までにどこの情報か教えて貰えませんか?
ググrカス
ソースはググrです(キリッ
て
424 :
419 :2012/02/02(木) 00:52:47.09
>>424 はい
根拠も何もない与太話です
便所の落書きってやつです
>>418 はEnableSelectionのステマじゃね?
誰得
エクセル2007で勉強中なんですが 挿入→図の図・クリップアートってどういった物なんでしょうか? 両方ともJPGとかの画像ファイルをエクセルに挿入できるだけな気がするのですが 使い方の差異や、出来る事の違いを端的に言い表すとどんな感じになるんでしょうか?
excel2003つかってます。 6か月分の来客数を 縦軸を客数 横軸を日付で作成されたグラフがあります。 月単位の区切り(1/31と2/1の間や2/28と3/1の間など)に縦線を入れたいのですが、やり方がわからず、 オートシェイプで縦線を引いてごまかしています。 うまいやり方ってありますか?
>>431 [Ctrl]+[1]でセルの書式設定ダイアログを表示して罫線タブを選択して罫線を引く
>>431 目盛線の書式設定で補助目盛間隔を1月にする
Excelの集計(2010でいう小計)機能が、最近やたら不便に感じられてきたんだけど、 あまり使わんでピボットに一本化した方がいいのかな。 集計機能の何が嫌かって、集計の優先順変更などが生じて「すべて削除」ボタンを押して集計行を 削除するというのを何度かやってると、馬鹿みたいに時間がかかるようになること。 集計機能を使うのは、パッと見の分かりやすさを重視したいときだけにすべきかな。
俺は特に不便が無いのでどっちも使うよ 環境により遅いようなら無理して使わなくてもいいんじゃない?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(コードはある程度わかる) 【4 VBAでの回答の可否】 VBAで希望 A B C 商品コード 商品名 単価 A01 ひみつ 700 B01 きりんのつばさ 1680 C01 そつぎょう 620 D01 よちむ 530 ↓ 略 優先1:C列(単価)・昇順 優先2:B列(商品名)・昇順で 最後行(その時によりまちまち)まで並べ替えたいです よろしくおねがいします
>>437 マクロの記録でソートを実行すればVBAコードが出力されます
句読点が打てないバカ
>>435 集計や統合はデータが多いときには使えないよ。
ピボットも昔は使えなかったが今は使える。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 出来れば非 【5 検索キーワード 】 セル内 数字 抽出 一つのセル内にある、 x=123456y=1234z=12 という文字列から3ヶ所の数字をそれぞれ取り出したい。 各数字は1桁から6桁まであります。 数字の桁数が固定ならMID関数を使って取り出せるのですが。 よろしくお願いします。
>>441 =MID(A1,FIND("y=",A1)+2,LEN(A1)-FIND("z=",A1)+1)
>>442 はy=のあとね
後はテキトーに変えればなんとかなるじゃろ
>>443 ありがとうございます。(先ほどは会社からのため、IDが替わっています)
>>442 だと、y=の後ろの数字が123456になった場合、1234しか抽出出来ません。
数字の桁数が変わっても(xとyは1〜6桁、zは1〜2桁)対応できるようにしたいのです。
>445 gomennnnasaii =MID(A1,FIND("y=",A1)+2,(FIND("z=",A1)-FIND("y=",A1)-2))
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 時間入力 A B C D 1 開始 終了 単位 2 16:40 17:50 7 3 4 こんな感じでB2とC2にこの形式で時間を入力すると 分の十のくらいだけ出力されるようにするにはどのように すればよろしいのでしょうか? できないのであれば代替案などをお教えいただければ ありがたいです。
>>447 「出力」ってのはどういう意味?
B2に"16:40"って入力したら、B2に"4"って表示されればいいの?
それともB2に"16:40"って入力したら、どこかのセルに"4"って表示されればいいの?
>>447 =INT(TEXT(C2-B2,"[mm]")/10)
見本としてtext関数は良くないかな
イマイチ他が思い浮かばなかった
>>448 言葉足らずですいませんでした。
B2に16:40、C2に17:50と入力したらD2に70分の
十のくらいの7とでてくるようにしたいのです。
>>449 ありがとうございます。この関数を試したところ、
出力された数値にマイナスがついてしまうのですが
これは計算式的に消すことは無理なのでしょうか?
使いにくそうなGUIですね
>>452 エクセル2007だからとかじゃないですよね?
絶対値でくくってできました。ありがとうございます!
本当に助かりました。
>>453 OS再インストールしてな
メニューバー等、保存できるならしておけばよかったよ
>>446 ありがとうございました。うまくいきました。
【1 OSの種類 .】 Windowxp* 【2 Excelのバージョン 】 Excel7 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 シート・一致・別シート・・・ シート1 A B C りんご 青森 100円 みかん 愛媛 200円 みかん 和歌山 100円 りんご 長野 150円 シート2 A B C 青森 りんご うまい 青森 にんにく ふつう 愛媛 みかん まあまあ 北海道 じゃがいも そこそこ 埼玉 まんじゅう うまい というデータがあったとき シート2のA列とB列が、一致するシート1のデータを抽出・連結して、 別シートに書き出すにはは、どうすればいいのでしょうか。 シート3 りんご 青森 100円 うまい みかん 愛媛 200円 まあまあ
はぁ?
"りんご青森"をひとつの値としてVLOOKUP()のキーにする
>>460 実務データってのはこんなもんだよ。
教科書的な設計で綺麗に作られたデータなんて
割と少ないものさ。
【5 検索キーワード 】 に並んでる言葉のことを言ってるのだろう
>>460 よろしければ、どんなキーワードで検索すればよいか教えていただけないでしょうか
>>462 ああそういうことか。スマンね。
ただ、適切な検索キーワードというのも
結局はExcelやPCのスキルがあるからこそ思いつくことだ。
まじめにやれってのは非常に失礼な言い方だ。
本人にしてみれば、これくらいで精一杯なのだから。
こういうモノの言い方をする人間に書き込みをしてもらいたくない。
>>457 シート1やシート2の余白を使っていいかによってやり方が微妙に変わってくるけど、
とりあえずシート1のD列に=B1&A1、シート2のD列に=A1&B1という数式を入れてオートフィルしたあと、
D列同士を比較、検索するのが単純でわかりやすい
>>457 Dim i as Integer
Dim V, W, X
Dim m
V = Sheets("シート1").Range("A1").CurrentRegion
ReDim Preserve V(1 To UBound(V), 1 To 4)
W = Sheets("シート2").Range("A1").CurrentRegion
ReDim Preserve W(1 To UBound(W), 1 To 3)
ReDim X(1 To UBound(W))
For i = 1 To UBound(W)
X(i) = W(i, 1) & W(i, 2)
Next i
For i = 1 To 4
V(i, 4) = V(i, 2) & V(i, 1)
m = Application.Match(V(i, 4), X, 0)
If IsError(m) Then
V(i, 4) = ""
Else
V(i, 4) = W(m, 3)
End If
Next
Sheets("シート3").Range("A1").Resize(UBound(V), 4) = V
修正 For i = 1 To 4はFor i = 1 To UBound(V)
469 :
457 :2012/02/04(土) 18:54:23.93
>>467 早速ありがとうございます。目的の処理ができます。
りんご 青森 100円 うまい みかん 愛媛 200円 まあまあ みかん 和歌山 100円 りんご 長野 150円 こんな結果になるけど、いいの?
471 :
457 :2012/02/04(土) 19:25:05.91
>>470 ここまでくれば、後はマッチしていない行を削除するマクロかけばいいのかな。と思ったもんで。
>>471 重複チェックとcountifでググれ
複数セルを一意としたい場合は&使って別セルで結合して非表示にでもしとけ
>>471 Dim i as Integer, j as Integer, k as Integer
Dim V, W, X, Y
Dim m
V = Sheets("シート1").Range("A1").CurrentRegion
ReDim Preserve V(1 To UBound(V), 1 To 4)
W = Sheets("シート2").Range("A1").CurrentRegion
ReDim X(1 To UBound(W))
ReDim Y(1 To UBound(V), 1 To 4)
For i = 1 To UBound(W)
X(i) = W(i, 1) & W(i, 2)
Next i
For i = 1 To UBound(V)
m = V(i, 2) & V(i, 1)
m = Application.Match(m, X, 0)
If Not IsError(m) Then
V(i, 4) = W(m, 3)
k = k + 1
For j = 1 To 4
Y(k, j) = V(i, j)
Next j
End If
Next i
Sheets("シート3").Range("A1").Resize(k, 4) = Y
>>464 VBAが使えるレベルでこの検索キーワードが精一杯?
どうかしてるわ
>474 回答もできない無能は黙ってたほうがいいっすよ
配列でMatchかよ。 そんなもの使うより、馬鹿の一つ覚えとよく言われるDictionaryの方がマシじゃね?
>>474 ここは相談所。
キーワードが適切でないことを非難する場所じゃないだろ?
君のすべきことは、「xxのキーワードでググると回答が一杯出てくるよ」
とか、そういうことじゃないのか?
相談に乗ってあげる意志のない人は書き込まないでくれ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル グラフ 表示 分数 横軸が0, 0.1, 0.2, …0.9, 1のグラフ(散布図)があります。 表示を0/10, 1/10, 2/10, …, 9/10, 10/10にしたいのですが 軸の書式設定の表示形式で「分母を10に設定」を選ぶと 0/10と10/10だけが分数になりません。0と1のままです。 どうすればできるでしょうか。
書式を0/10に
出来ました!大感激です。 今まで、テキストボックスを上に貼りつけて小細工していたのが恥ずかしいです。 479さん、ありがとう。
Excel2010を買いました。 2010を覚えれば2007も難なく操作できるでしょうか?
482 :
474 :2012/02/05(日) 11:38:52.23
>>481 嫌がらせはやめろよ
俺がふざけて質問してるように見えるだろ
嫌がらせの意図があったのかどうか知らんけど、481と同じことを感じています。 会社がもうすぐ2007になるので。 まだ2010買っていないけど。
>>484 ごめんなさい。483は質問したかったのじゃなくて。
481がふざけて質問したんじゃないのではと言いたかっただけでした。
486 :
481 :2012/02/05(日) 12:21:27.08
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´・ω・) < 嫌がらせじゃないのに・・・ショボーン ( つ旦O \______________ と_)_)
487 :
481 :2012/02/05(日) 12:23:55.87
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel2007 Excel2010 操作 Excel2010を買いました。 2010を覚えれば2007も難なく操作できるでしょうか?
>>487 無理
表計算ソフトの基本部分(数式や関数の使い方)はだいたい同じだけど、メニューのデザインが全然違うから、
何がどこにあるか探すのが大変すぎて鳴きそうになるレベル
>>489 本文ちゃんと読んだ?
【2 Excelのバージョン 】 Excel2003
に翻弄されてない?
>>487 マジレスするとExcelで何をするかによって答えは変わってくると思う
例えばうちの会社だと勤務表と簡単な書類作成にしか使わないので
97でも2000でも2002でも2003でも2007でも2010でも難なく操作できたよ
2003→2007で若干戸惑ったけど
なので、具体的にどんな風にExcelを使ってるか(使いたいか)を書いた方が的確なレスが貰えるハズ
Excel初心者ですが Excelマスターになると何か得することはあるのですか?!
493 :
名無しさん@そうだ選挙にいこう :2012/02/05(日) 16:54:57.40
>>492 会社で人気者になれる!
「ねえねえ、これやっといて・・・」
あなたのおかげで周りが楽できる
>>492 このプリンターの調子悪いんだけど・・・とか得意以外のことで使われるようになる
>>494 軒並み氷点下のこの時期はプリンター調子悪いよな。w
496 :
名無しさん@そうだ選挙にいこう :2012/02/05(日) 17:49:20.33
エクセルの関数について質問です。 B1セルに10が入っていたらA1セルに100と返し、 〃 11か12、13のいずれかの数字が入っていたらA1セルに200と返し、 〃 14が入っていたらB1セルに300と返し、 〃が空欄もしくは、10.11.12.13.14以外の数字が入っていたら100と返す 数式を組みたいのですがIFとORを組み合わせてもうまくいきません。 どなたかご教授頂けますでしょうか。
497 :
名無しさん@そうだ選挙にいこう :2012/02/05(日) 18:10:13.15
>>496 >B1セルに10が入っていたらA1セルに100と返し、
> 〃が空欄もしくは、10.11.12.13.14以外の数字が入っていたら100と返す
B1=10はA1=100なんだからこの条件おかしいよ(矛盾じゃなくて無駄なだけだけど)
正しくは
B1セルに11か12、13のいずれかの数字が入っていたらA1セルに200と返し、
〃 14が入っていたらB1セルに300と返し、
〃が空欄もしくは、11.12.13.14以外の数字が入っていたら100と返す
で十分でしょ
てことは
=if(or(B1=11,B1=12,B1=13),A1=200,if(B1=14,A1=300,A1=100))
とかじゃね?
ところで、もしB1に数字以外に文字も入るなら、そのときはどうするの?
B10が文字のときにA1は空欄のままならこんな感じかな。
=IF(ISNUMBER(B1),IF(OR(B1=11,B1=12,B1=13),200,IF(B1=14,300,100)),"")
> 〃 14が入っていたらB1セルに300と返し、 不可能
499 :
497 :2012/02/05(日) 18:15:16.97
あれ? 条件よく読んだら >B1セルに14が入っていたら「B1セル」に300と返し、 > 〃が空欄もしくは、11.12.13.14以外の数字が入っていたら100と返す これどういうこと? 「B1」に14が入ったら「B1」に300を返すってVBA無しじゃできないよね? A1に300を返す の間違いだよね?
500 :
496 :2012/02/05(日) 18:20:00.50
>497 レスありがとうございます。 >A1に300を返す の間違いだよね? すみません。A1に300を返すの間違いでした。
>>496 =IF(OR(B1=11,B1=12,B1=13),200,IF(B1=14,300,100))
>>495 プリンターどころかパソコン本体やモニターが低温で壊れてることがけっこうある
朝イチで電源が入らなくなったマシンがどれだけあったことか
>>500 =100+OR(B1=11,B1=12,B1=13)*100+(B1=14)*200
=(1+OR(B1=11,B1=12,B1=13)+(B1=14)*2)*100
507 :
496 :2012/02/05(日) 18:40:19.39
>501 できました! 誠にありがとうございます。
508 :
496 :2012/02/05(日) 19:23:49.16
>501 たびたびすみません。 空欄があった場合、 100で返されず、200で返ってきてしまうのですが、何故でしょうか。
>>508 式を手入力せず、501をコピペしてもそうなる?
510 :
496 :2012/02/05(日) 19:54:22.66
あ、大丈夫でした。 すみませんです。
普通はLOKKUP使うよなぁ。 空白の時の例外はIF使うんだろうが。
すまん、LOOKUPだった
Excel中級者ですが 数式が想定通りに機能せず原因がわからない状態が3時間以上続くと頭が重くなり強烈な吐き気がする事があるのですが一体どうすれば良いのでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 折れ線グラフ ドラッグ Excel2003の折れ線グラフは折れ線上でクリックすると、折れ線のデータの ところ(折れていくところ)がドラッグできて、対応するデータが入っているセルの 値も自動的に変わったのですが、2010では出来ないのでしょうか? よろしくお願いします。
できません
>>516 即レスサンクスです。
マジですか。
何でなくしたんだよ。
客に出来るって言っちゃったよw
相当複雑なExcelでの表計算はお金を出せば代わりにやってくれる人がいるのでしょうか?
>>513 ツール ワークシート分析 数式の検証
で吐き気が収まるかもしれません
>>513 中級者意識から初級者意識へ変われば楽になりますよ。
523 :
名無しさん@そうだ選挙にいこう :2012/02/06(月) 11:45:08.41
>>522 菅が総理の時に教えてあげればよかったのに
524 :
名無しさん@そうだ選挙にいこう :2012/02/06(月) 18:56:05.19
アンケートの集計をしているのですが横軸に質問番号があり縦に各質問に対する選択した番号が並んでいます。 q1 q2 q3....... 2. 3. 3. 4 2. 1 1. 3 そこで各質問ごとに選択番号の構成比を円グラフ表示させようと悪戦苦闘しているのですがよくわかりません。教えていただけないでしょうか。
>>524 質問の意図を取り違えてたらゴメンなさいね
選択肢毎の回答数を集計してそれをグラフ化すればいいんじゃないですか?
q1 q2
質問番号1 1 1
質問番号2 2 0
質問番号3 1 2
質問番号4 0 1
527 :
名無しさん@そうだ選挙にいこう :2012/02/06(月) 20:03:45.23
>>525 一発で出来る機能があるはずと思いまして
ありがとうございます
>>526 ご丁寧ありがとうございます。
このとおりにします。あとから、1は大変良い、2は普通とか凡例を置き換えれますでしょうか?
>>527 googleで
excel ピボットグラフ 凡例
と検索し、上から8番目
検索できるようになろう
マルチポストはやめよう
俺はこのスレしか見てないからマルチポストとか関係ないもん
マルチとか最近どうでもよくなってきたこれが年ってやつかね
わりと長い間回答者してるけど
>>2 とか見たことなかった
解決しましたっていえば別にマルチはいいかなと もしくは最初からxxとhogehogeで聞いてますみたいな 解決したのに放置はよくないね
>>2-6 みたいなクソ長いもの誰も読まないだろ
こんなの読んで理解できるようなやつなら自分で調べて解決できるわ
質問テンプレも1-4だけでいい
質問者が調べた時に使った検索キーワードなんて何の役に立つんだ
次スレからは
>>2-6 は削除の方向でよろしく
>質問者が調べた時に使った検索キーワード こんなキーワードで調べるなんて(www と楽しむためにある
検索キーワードから質問者のレベルが何となく想像できる が、質問内容でそれもわかっちゃうので、結局不要な情報だな
より明確に相手のレベルがわかる 上中下だけでなく、コイツは中の下かな?みたいな
回答者だが検索キーわ-ドなんて見てない レベルなんて見ずにテキトーに回答してるわ
大体こんなとこで質問してる時点でレベル低いんだからそこに優劣つけてもしかたないだろ
Windows7,Excel2010での構造化参照について質問です。 構造化参照は、入力規則のリストの元の値には使えないのですか? 例えば、元の値 =商品マスタ[商品] などと、設定できれば、分かりやすく、わざわざ名前を増やさなくて済むのですが。
検索キーワードを書かせるのは「質問する前にまず自分で検索しろ」って意味なんじゃね
A1 +15 +10 +05 −05 −10 −15 −20 プラスに関係なくマイナスの上位3コを(例の場合−05.−10.−15)色付けする方法を教えて下さい。
条件付書式でRANK()
>>543 どうして上位3個が−10、−15、−20じゃないんだろう
547 :
名無しさん@そうだ選挙にいこう :2012/02/07(火) 18:58:49.05
>>543 B列に作業列を作って数式を入れる
=VALUE(IF(VALUE(ASC(A1))<0,ASC(A1),-9999999))
A列に条件付き書式で色を設定する
数式:=RANK(B1,B$1:B$7)<=3
なんかイマイチだな
たとえばC列からM列まで数字が並んでる表がある。 この表のC列からM列までが全てゼロの行だけを、効率よくフィルタで除外するには どうしたらいいでしょうか。 作業列に「 =IF(AND(C3=0,D3=0,・・・,M3=0),1,0) 」と式を打つのは、AND式の中に ひたすら何度もセル参照を打たないといけないのでパスしたいです。 できればVBAなんかも無しで。
初心者で申し訳ありません。 auto tab(Enterなしで次の行へ行く)のやり方を教えて下さい。 使っているのはExcel2010です。 ググってもよくわかりませんでした。お願いします。
>>549 =IF(AND(MAX(C3:M3)=0,MIN(C3:M3)=0),1,0)
>>551 そういう手があるんですね。考えつきませんでした。
有難うございます。
>>549 =COUNTIF(C3:M3,0)=11
>>555 それだと0以外が入力されててもTrueになる可能性があるよ
Windows XP、Excel2003です。 =1+1のような文字列として計算式がかかれたセルがあります。 これをどうにかして、隣の列に計算式として計算させた答えを入れたいのですが 何かアドバイスをお願いします。
>>555 マイナスのデータがあると全部が0じゃなくても合計が0の場合が出てくる
>>557 四則演算で数値が2つなら
findで+-*/の位置を探し、ifで分岐
数値はmidで取得すればおk
>>560 かなりアナログですがmidで数値取得していけました!
ありがとうございました。
559 VBA使わないと無理(キリッ とか、もうね
>>561 え、まじw
いうだけっておいてよかった
564 :
名無しさん@そうだ選挙にいこう :2012/02/08(水) 21:01:10.93
計算式をふつうにいれといて、それをVBAで文字列として隣に表示する方がかんたん
ユーザ定義関数を Evaluateで作ったほうがいいよ func = Evaluate(str) 1行でしょ
>>566 Replaceでイコールを置き換えるだけじゃダメなの?
普通に数式として入れといて隣のセルには値貼り付けする。 式は式として表示する設定にしとく(ctrl+shift+'だっけ) テストの模範解答みたいなもの作るならこの程度でいいんじゃね。
1.OS XPから7までなんでも可 2.EXCEL2000から2010までなんでも可 3.VBAは多少分かりますが、 むしろそれ以外のエクセルの基本的なことがほとんど分かりません。 4.VBA以外の方法を教えてください。(VBAなら簡単に出来ることです。) 5. Excel 範囲 取得 −VBA 質問内容 シート上に行数不定で5列の表があります。 4列目に数字が入っていて、5列目が空欄の行だけ 4列目の数値を加算した合計がつくりたいです。 検索範囲はセル(D3)から下に向かい表が終わるまでで、 合計値はセル(D2)に入ります。 現在は表が28行までなので、 D2に以下の式を入れてます。 =SUMIFS(D3:D28,E3:E28,"") 今後も行数は増えるのですが、表の大きさを動的に取得する方法はないでしょうか? VBAならCells(Rows.Count,4).End(XlUp).Rowで簡単に分かるのですが、 セキュリティーの都合上、VBAの使用が禁止されています。
>>569 表の大きさって行数を把握するのだったら
空欄のない列をCOUNTとかCOUNTAすればいい
あとはセル参照を返すOFFSETと組み合わせて
A列で行数を計るとすると、べたに書いてだいたい
=SUMIFS(OFFSET(D3,0,0COUNTA(A:A)-1),OFFSET(E3,0,0,COUNTA(A:A)-1),"")
実際は行数取得部分を別セルにするとか
名前を使うべきだし
テーブルを使った方がいい
572 :
569 :2012/02/09(木) 12:42:54.34
>>570 ありがとうございます。
私はダイレクトにデータ終端を探すことばかり考えていました。
列全部を範囲指定するというのも確かに一案ですね
>>571 ありがとうございます。
私はExcelに関しては本当にズブの素人でして、
普段はなんでもかんでもVBAで片づけるひとなので、
ExcelではIF文さえろくに使いません。
ましてやOffsetなんてろくに使ったこともないし
(VBAではよく使うんですけど、Excelのはちょっと違うんですよね?)
名前とかテーブルとかピボットとかも
『そういう単語を聞いたことがある』というレベルです。
いまから、教えていただいた単語をキーワードに検索しようと思います。
お二方とも、本当にどうもありがとうございました。
VBAでなくVBの間違いだと思うが、EXCELになれてなきゃ キーワードすら思いつかないだろうな。 あるいは・・・ry
>>574 質問の中で「VBAならCells(Rows.Count,4).End(XlUp).Rowで簡単に分かる」って書いてるので
Excel及びExcelVBAに慣れていない訳がない
VBAがNGなのであれば関数で対処するしかない
関数で対処するならリファレンスぐらい目を通すでしょ、全部読んでもたいしたボリュームじゃないんだから
VBAわかるぐらいの人なら関数リファレンスに目を通してるときにピンとくるものがあるでしょ
576 :
名無しさん@そうだ選挙にいこう :2012/02/09(木) 17:56:54.13
何ムキになってんだよw
577 :
569 :2012/02/09(木) 18:36:09.77
>>573 どうもありがとうございます
そういうのあまり読んだ事なかったので大変勉強になりますです。
>>574 いえ、VBは触ったこともないです。
VBAは仕事で2年ぐらい使ってるので少しは分かります。
ただ、572を改めて読み返すと
私がVBAのエキスパートであるような書き方になってますが、
より正確にいうと、
自分の業務で必要なことを
Excelの基本的な関数などをつかえれば簡単なのに
分からないからわざわざVBAでやってる、という意味です。
実際に普段よくやる業務は、複数のCSVファイルから必要なデータを抽出して
新規ブックにコピー、そこから相関分析したりグラフを作成したり、という感じのことでして、
ブックなどを操作する関係上、VBAとの親和性が非常によろしいのです。
>>575 私が変な書き込みしたせいで
なんかフォローしてもらってどうもすみません。
で、実は572の書き込み後に知人の訃報が舞い込みまして
ちょっとバタバタしてましたのでまだ何も調べてない状態です。
せっかく教えてもらったのに申し訳ないです。
週末に葬儀なのでそれが終わってからじっくりやります。
訃報とか葬儀とかは我々にとっては関係が無い。申し訳ないが。
個人的なイベントを質問スレでいちいち報告するな
581 :
名無しさん@そうだ選挙にいこう :2012/02/09(木) 21:19:10.59
なんこもある円グラフの大きさを揃えるのってどうすればできますか?2007です。
>>581 適当に改造してくれ
Dim s As Shape
For Each s In ActiveSheet.Shapes
With s
.Width = 100
.Height = 100
End With
Next
583 :
名無しさん@そうだ選挙にいこう :2012/02/09(木) 22:35:42.33
>>581 VBA使わないなら
グラフをコピー&ペースト
元のデータの参照先を変更
グラフ100個とかあるならVBA使った方がいいと思う
>>582 のような1文字でもWith使った方がいいの?
withって入力を少なくする以外に、処理が早くなるとかそういう面でのメリットあったりする?
>>585 オブジェクトの参照回数が減るので、厳密に測ればちょっとだけ速くなるけど100個程度なら違いはわからん
個人的な基準だとwithの中が5行以上ある時はまとめる
分かり易さの問題が大きいかな For Each使った時は必ずセットでWithを使う みたいな自分ルール作っておくとプログラミングが楽
>>585 入力を少なくするってのは論外な気がする
コードの読みやすさ(メンテナンス性)と処理速度のトレードオフだと思うよ
withはマクロの自動記録ぐらいでしか使わない 慣れてないせいか非常に読みにくい、書きにくい 余程でない限り処理速度はほぼ0だろう
590 :
名無しさん@そうだ選挙にいこう :2012/02/10(金) 06:12:48.37
>>588 入力を少なくするって十分メリットだと思う
一つのオブジェクトに対して複数の操作をするときに便利だし、
With節の中で"."で始まるものは全て同じものに対する操作だと分かるから
個人的には見やすくも感じる
まぁWith無しでオブジェクト変数に突っ込んでも同じようなことできるけど
>>589 確かに慣れの問題ってあるよね
>>590 書き方が悪かったかな
プログラムは如何に正確に如何に速く動くかが重要で、そこにコードの読みやすさが加わる
コードが少なくて重いよりはコードが多くて軽い方が利用者にとってはありがたい
>>585 みたいに、入力を少なくするという理由を第一に上げるのは論外だと思った
Withステートメントを使うことで結果的にコード量が減るのはそれでいい、見やすくもなるしね
Excelで勤務時間を管理する表を作っているのですが 時刻を入力するセルの表示形式は [h]:mm にしています 集計しやすいように10進数に変換する時に、=A1/"1:0:0" という式を使用して正常に集計できているのですが、 この /"1:0:0" の意味がよくわかりません どなたかこの意味をご存じないでしょうか
1時間で割ってるんじゃないの?
>592 Excelの中の人は日時を扱う時シリアル値という単位で扱ってる。 あとは [ Excel シリアル値 ] でググレ
マクロの自動記録でwithを使うってどうやるの? Selection Selectもマクロの自動記録のとき無くしたいんだけど・・・
"1:0:0"は1/24(24時間のうち一時間) こんな記述方法は初めて見た
>>595 そのへんは自動だからどうしようもない
いやなら自動記録したあと手動でなおす
598 :
592 :2012/02/10(金) 14:05:46.60
なるほど、こういうことなのですね "1:0:0"=TIME(1,0,0)=1/24=0.04166… 例えば入力が"27:45"の場合のシリアル値は 1.15625 で、 1.15625/"1:0:0"=1.15625/TIME(1,0,0)=1.15625/(1/24)=27.75 ということなのですね 元々の勤務時間表を作った人は既に会社を辞めていて 今回それの改造を頼まれて式の意味が理解できずに困っていました みなさんありがとうございました
600 :
名無しさん@そうだ選挙にいこう :2012/02/10(金) 17:40:58.65
見えなくなってる行や列を含んだ範囲をコピペすると、 コピーされる側は、その見えなくなってた行や列も表示されてしまうんですっけ? (1) フィルター機能を使って見えなくしたとき (2) 表示にして見えなくしたとき (3) 集計機能を使って見えなくしたとき (4) (他にあったっけ?) のそれぞれの場合で振る舞いは違いますっけ? 自分の場合、コピーは表示されたり表示されなくたり気まぐれの印象だけど これを機会にきちんと理解して覚えようと思うので、お願いいたします。
>>600 その質問する間に試したほうが早くないか
602 :
600 :2012/02/10(金) 17:57:02.67
>>601 あなたのExcel分析力を試しているのですが・・・
603 :
600 :2012/02/10(金) 17:59:04.63
ぇぇぃ。 自分で試した結果を教えてやる。 フィルター → コピペ先で表示されず 非表示 → コピペで表示される! 集計 → コピペで表示される! みんなもそうなったか? 役に立つ情報だろう。 みんなもしっかり覚えたまえ。
寂しいから構って欲しいの どうやったら釣れるか必死に考えてるの
>>603 その辺りはバージョンによる変更が怖いので毎回試してる
マクロの記録で、2003までは記録できていたオートシェイプの操作が2007では記録できなくなりましたが 2010はどうですか?
>>608 2010発売直後ならともかく
ググれよ
その質問200回以上答えたよ
611 :
名無しさん@そうだ選挙にいこう :2012/02/10(金) 20:56:27.72
>>610 608のGoogle検索力を試しているのですが・・・
200回も答えたならあと1回くらいどうってことなくね?
そういえば200回くらいその質問したわ
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 表示形式 文字 複数 @ ひとつのセルに例えば「00:D1:F2:08:24:C8」っていうのを入れたいんですが 「:」を入れるのが面倒なので「00D1F20824C8」って入力するだけで 「00:D1:F2:08:24:C8」になる方法はないですか? 表示形式のユーザー定義で@とか#や0を使う例は見たんですけど 数字だけじゃなくて英数字で複数の場合に何か方法はないでしょうか? 隣の列に関数入れてっていう方法はフォーム上使えないので 表示形式とか入力規則とかでやれたらと思ってます。
>隣の列に関数入れてっていう方法はフォーム上使えないので いや、使えるよ?
617 :
615 :2012/02/11(土) 00:33:03.37
>>616 あ、シートじゃなくてフォームだったの?
>>616 >614は会社で用意されてるフォーマットって意味で使えないと言ってるんだと思う
会社で用意したファイルにデータを打ち込んでいくって仕事だったら そもそもユーザー定義や入力規則を勝手に弄れない(弄るべきでない)でしょ。 途中経過は何でもいいから最終的に決められたファイルにデータが入力されてればいいって話なら 作業用のブックを用意して00D1F20824C8を00:D1:F2:08:24:C8にする関数でも入れてやって 入力が全部終わってから値貼り付けでもすればいい。
a b c d という一行おきのデータが大量にあるのですが これを a b c d にする方法はありますでしょうか?
621 :
名無しさん@そうだ選挙にいこう :2012/02/11(土) 01:37:56.39
>>620 その列を選択し、Ctrl+Gで空白セルだけを選び出し、それを削除。
何か聞いてきたら上に移動。
>>620 セルの削除した後F4(繰り返し)をテキトーに連打
>>620 オートフィルタかけて「空白セル」だけ抽出→行削除 ではダメでしょうか?
質問です。簡単にいうと「1円単位で割り勘」させたいのですが、どうしたものかと思っています。
入力そのものはエクセル全く解らない人にお願いするので、「数字入力用のシート」と「計算式を入れたシート」を別にして
計算式用のシートにリンクで入力用シートから数字を引っ張ってきて、そこで計算させようとしています。
入力用のシートに、金額としてたとえば「1000」を、割り勘する人数としてたとえば「3」と入力したときに
「333」「333」「334」という回答を返すいい方法はあるでしょうか。
金額も、割り勘する人数も毎回変わります。また、負の数を割り勘することのほうが多いです。
>>621 のやり方で出来ました。
2010のオートフィルターむずいorz
626 :
621 :2012/02/11(土) 02:04:32.56
>>623 その1
A1に金額、A2に人数
A3="一人あたり"&(INT(A1/A2)&"円。端数は"&A1-(INT(A1/A2)*A2))
その2
A1に金額、A2に人数
B1=IF(ROW()>$A$2,"",(INT($A$1/$A$2))+IF(($A$1-(INT($A$1/$A$2)*$A$2))>=ROW(),1,0))
B1から下へ、テキトーにオートフィル
>>626 すげー!まじアンタ天才!!
って言いたいとこだけど
>>621 は思いついた上での回答よん
度々すいません 1 アキ 2 ミホ 3 ミキ 4 ユミ 5 リエ というデータと 1 5000 3 800 5 9000 というデータがあるのですが これを統合して 1 アキ 5000 2 ミホ 3 ミキ 800 4 ユミ 5 リエ 9000 という風にするにはどうすれば良いでしょうか?
>>623 こういうのはExcelの問題じゃなくて
算数の問題じゃないのか
x円をn人で割る(小数点以下切り捨て)
残りはm円(n円未満)になるので
m人に1円ずつ足す
>>628 ふつうにVLOOKUPか、OFFSETとMATCH
じゃないのか
VLOOKUPも知らないのか?
631 :
名無しさん@そうだ選挙にいこう :2012/02/11(土) 03:06:17.81
>>628 しばらく最初の人が「アホ」に見えっぱなしだった。
もう寝る。
>>628 実際はどのシートのどんなセルに入ってるの
多分それは行っておいたほうがいいと思う
>>630 知らないんじゃないの
>>631 おれも。寝不足はよくないにあ
>>630 知りませんでした。調べてみたけど難しい…
>>632 もともと2つのシートがあって
今はそれを同じシートに適当に入れています
最初の数字の代わりに文字列のIDが入ってます
名前はそのまんま
数字は金額です
データは何百もあります。
>631 俺も>631見るまでアホだと思ってたw 不思議〜
>>619 アホか
そんな手間かけるなら最初から:を含めて入力した方が早いわ
>>618 ,619
どこにも「会社」なんて書いてないぞ?
640 :
名無しさん@そうだ選挙にいこう :2012/02/11(土) 13:18:12.42
>>636 そっか。
俺は、ミホとユミは後期の試験で忙しくて、
1月中はお店休んでたのかな〜
とか、考えてた。
>>641 意味が理解できていないのに無理してレスするなよ
この手の質問はどんな仕事あるいは趣味で使うのか、 どういった目的や背景があるのか、 その辺が分かると答えるの楽なんだけどなあ
VBAありなら、楽なんだろうけど
楽してもログな事はないよ 人間は苦労すべき
いやVBA使えるようになるために、努力するからいいじゃないか
649 :
646 :2012/02/11(土) 14:45:24.24
ログじゃなくてロクでした・・・
もし6バイトのデータをひたすら打ち込んでいく業務だとしたら 根本的なところで間違った考え方をしてるんじゃないかな、という予感がする
なるほど
652 :
名無しさん@そうだ選挙にいこう :2012/02/11(土) 14:56:42.25
MACアドレスみたいな感じだね
作業列にユーザー定義関数で修正してから値貼り付けじゃだめ? Function マクド(s) s = Right("00000000000" & s, 12) マクド = Left(s, 2) & ":" & Mid(s, 3, 2) & ":" & Mid(s, 5, 2) & ":" & Mid(s, 7, 2) & ":" & Mid(s, 9, 2) & ":" & Right(s, 2) End Function
659 :
614 :2012/02/11(土) 17:56:15.91
いろいろ、ありがとうございました。会社で使うデータで 私がその様式を作るので、表示形式(ユーザー定義)などは変更できます。 他の人と共同でデータを追加していくので、作業列は見せたくないのと 他にも入力項目があるので横幅(列)がこれ以上多くなるとスクロールするのが面倒だからです。 日々追加していくのは数件ずつなので、手動で「:」も入れようと思います。 今は紙の状態のものをデータ化していて、大量に入力しないといけないので 何かいい方法はないかと思いました。データ化自体は作業列を作ってやろうと思います。 表示形式(ユーザー定義)では、複数の任意の英数字・文字列を入れることはできないのですね。
紙から入れるんならOCRがいちばん速い
664 :
名無しさん@そうだ選挙にいこう :2012/02/11(土) 22:06:56.21
>>662 をパクって複数行対応してみた
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TMP, RET$, i%, j%
On Error Resume Next
With Target
If .Column = 1 Then
TMP = .Value
For j = 1 To UBound(TMP)
If Not IsEmpty(TMP(j, 1)) Then
If Len(TMP(j, 1)) < 12 Then
TMP(j, 1) = String(12 - Len(TMP(j, 1)), "0") & TMP(j, 1)
End If
If Len(TMP(j, 1)) = 12 Then
RET = ""
For i = 0 To 5
RET = RET & Mid$(TMP(j, 1), 1 + i * 2, 2) & ":"
Next i
TMP(j, 1) = Left$(RET, 17)
End If
End If
Next j
.Value = TMP
End If
End With
On Error GoTo 0
End Sub
>>663 別に良いじゃんよ
>>614 が気に入るかどうかは彼自身にしか分からんのだし、
作業列が嫌だとかVBAが嫌だとかは
使って便利なら心変わりするかもしれないジャン。
667 :
614 :2012/02/11(土) 22:40:24.58
>>662 ,666
ありがとう。関数のほう使わせてもらいます。
自分もわからないのに、VBAとか難しいことやると、担当変わったり
何かあった時に困るから・・・
ついでに教えてほしいんだけど
半角12ケタ(プラス「:」)以上や以下でもエラーとかの表示にするにはどうしたらいいんだろう?
>>667 入力規則で文字列の長さを指定すればいい
669 :
664 :2012/02/11(土) 22:48:19.57
空気を読まずに再投稿するよ
>>664 だとA列への直接入力に対応してなかったから修正した
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TMP, RET$, i%, j%
On Error Resume Next
With Target
If .Column = 1 Then
TMP = .Value
If IsArray(TMP) Then
For j = 1 To UBound(TMP)
ここら辺
>>664 と同じなので省略
Next j
Else
If Not IsEmpty(TMP) Then
If Len(TMP) < 12 Then
TMP = String(12 - Len(TMP), "0") & TMP
End If
If Len(TMP) = 12 Then
RET = ""
For i = 0 To 5
RET = RET & Mid$(TMP, 1 + i * 2, 2) & ":"
Next i
TMP = Left$(RET, 17)
End If
End If
End If
.Value = TMP
End If
End With
On Error GoTo 0
End Sub
670 :
614 :2012/02/11(土) 22:57:41.29
>>668 ありがとう。簡単なことだった・・・
>>669 それでも私はVBAは使わないですからごめんなさい。
671 :
664 :2012/02/11(土) 23:01:55.06
>>670 さん
気を使わせてごめんね
俺は
>>662 さんと違って貴方のためじゃなくて
完全な自己満足でやってることなので気にしないでください。
672 :
614 :2012/02/11(土) 23:03:06.64
わかりました。続けてください。
Excel2007と2010だと、名前の定義にAKB48って付けれません。
互換モードなら付けられる
>>673 本当だね、面白い。何でなんだろう
アンダーバーとかを入れれば大丈夫みたいだけど
2007からはXFD列まであるからだろう
おお、ナルホド。思いつかなかった。ありがとう
679 :
名無しさん@そうだ選挙にいこう :2012/02/12(日) 19:55:49.12
Mac板でも聞きましたが、こちらでも質問します。 Excel2011の質問です。 Macro1、Macro2、Macro3を作りました。 上記を組み合わせを連続実行する為にはMacro4で「マクロの記録」→Macro1→Macro2→Macro3→「記録終了」だと思うんですが、 記録されません。 どうすればいいでしょうか?
バージョンによって自動記録の動作もかわるからな、なんとも言えない 2003では Sub Macro2() Application.Run "Book1!Macro1" End Sub となった 他にはcallで呼び出すって方法もある
>>683 それでやってるんですけど出来ないんですよ。
Macro4で1、2、3の実行を記録しようとしても記録されません。
>>684 答えがでているのに何でマクロ記録にこだわるの?
>>682 マクロの作成が目的ではなく、自動記録することが目的ってこと?
>>682 >
>>681 > VBAの編集ではこれで大丈夫ですよね?
OK
あと681がいってるようにcall
Sub Macro4()
Call Macro1
Call Macro2
Call Macro3
End Sub
>>687 ん?
作成したMacro4をボタンに登録して実行するんじゃないの?
>>687 何2011のせいにしてんだよ
お前が分かってないだけだろ
的外れな質問繰り返すなタコ
>>687 ボタンなら
Private Sub CommandButton1_Click()
Call macro1
End Sub
>>687 マクロの自動記録は、マクロを作成するための補助機能だよ。
通常、自動記録したマクロはそのままでは使えないので、少し編集する。
それで、作成したマクロをボタンなりショートカットに登録して実行する。
おまえは、毎回記録するとでも思っているのか。
トンチンカンな回答ばかりでワロタ
「マクロの記録の中でマクロの実行は出来ない」 これで済む話だろ、お前らどんだけ会話が出来ないコミュ障なの?
>>686 >マクロの作成が目的ではなく、自動記録することが目的ってこと?
そんな感じです。
>>688 Callで出来るようになりました。
>>689 Macro1、Macro2、Macro3をMacro4で全実行したいという感じです(CallとApplication.Runでの記述により出来るようになりました)
>>691 ボタンの設置は、、今勉強中ですが、なんとかそこは解りそうです。
>>681 の「バージョンによって自動記録の動作もかわるからな、なんとも言えない」との事で、2011では自分が言っているのは出来ないのかもですね。。
それだったら諦めますが。
「
ttp://kabu-macro.com/macro_apply/macro-mix.html 」に下記記載を見て、あぁ便利そうと思ったんです。
>小さなマクロを組み合わせたマクロの記録
>「マクロの記録」の開始
>↓
>マクロA の実行
>↓
>マクロB の実行
>↓
>マクロC の実行
>↓
>マクロの記録の終了
>>695 > Macro1、Macro2、Macro3をMacro4で全実行したいという感じです(CallとApplication.Runでの記述により出来るようになりました)
だったら自動記録は、もう必要ないじゃん。
>>696 自動記録は諦めた方が良さそうですね。Excel2011だけこうなんでしょう。。アップデートで改善される事を祈ってます。。
698 :
名無しさん@そうだ選挙にいこう :2012/02/12(日) 23:56:16.93
他Bookに記述してるマクロを実行(あるいはSubやFunctionを呼び出し)することって できる? 頻繁にやるのは望ましくない?
>>695 そのページはウンコ中のウンコだから参考にしなくていい
自動記録はただの参考にするもので、
マクロはそもそも書くものだからな
そしてまたトンチンカンな回答が…
702 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 00:13:28.46
マクロでコントロールを状況に応じて増やしたいんだけど そういうことってできる? たとえば5と入力したら別Window(Form)を開いて そこに5つのラベルとテキストボックスを挿入したいの。
>>698 >頻繁にやるのは望ましくない?
何にどんな影響を与えるマクロなのかわからないので
望ましいか望ましくないかは第三者には判断できない
>>702 もちろんできる
やり方はVBAスレで質問したほうがいいでしょう
>>702 あらかじめ必要な数のラベルとテキストボックスを用意しておいて
入力した数字に応じて、Visibleプロパティをtrue/False切り替える
706 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 00:24:55.94
>>703 そんな当たり前のことを言ってやるなよカス。
質問者はそれくらいご存知で質問してると思うよ。
なにか手かがりが得られると思って助言を求めてるんだから
あなたが少しでも親切心があるなら教えてやれよ。
単なるストレス発散でいじめ目的なら止めんが。
>>706 どう見ても質問者から手がかりを得るための書き込みだろうが
>>709 質問者への回答なので第三者には関係ない
それくらいご存じの上だとしたら
>>698 みたいに答えようが無い質問をするはずが無いんだがなあ
>>706 まあ698はそもそも、できるかどうかすら知らなかったんだし。
>>698 > 頻繁にやるのは望ましくない?
開いているかどうかわからんし、普通しないじゃない。
理解力が低いわりに偉そうな人がいるね
具体的には
>>694 さん
716 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 00:46:25.78
私、傍観者
>>715 ここはお前のイライラをぶつけるスレじゃないんだからもういい加減にしとけ
FOMの2010はテキストと問題集が1冊にまとめてあって いいな 内容はブツ切りの連続で学びにくいけれど 問題1 (1)じゃがいもの皮を剥いてください。 (2)冷蔵庫から弁当を取り出してレンジで温めてください (1)の結果が(2)につながっていかないところが疲れる
719 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 14:40:20.58
Ex2003で出来てた円の図形で塗り潰し(パターン)右上がり対角線で透過性50%の図形作成がEx2010で出来ません。やり方を教えてくれませんか?図形やグラフについてEx2010に凄いストレスを感じてます。
Ex2010てwww
Word2010ならWo2010か?
723 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 15:08:32.06
>>720 そのマニュアルには塗り潰し(パターン)での透過性はないので困ってるんです。
725 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 15:51:28.72
>>724 おお〜ありがとございます。出来ないみたいですね。おかげでスッキリしました。
Excel2003条件付き書式の設定方法の質問です。 セルB1〜B10までが条件付き書式の対象です。 違うセルにある数値(例えばA1) セルA1にある数値より小さい数値に色を入れたいのですが どうやればいいのですか? なるだけ作業スペースを作らない方法で教えて下さい。
>>726 基本的すぎるだろ(笑)
どんな入門書にも載ってるだろうし
ググればすぐ見つかる
掲示板で訊くことじゃない
今後気をつけろ
>>726 空白が色付でもイイ
「セルの値が」「次の値より小さい」「=$a$1」
空白で色を付けたくない場合
「数式が」
=AND(B1<>"",B1<$A$1)
>>726 条件付き書式の設定で
セルの値が
次の値より小さい
=$A$1
OS Win7Home 64ビット このPCにOffice2010がインストールされてますが、このOfficeが32ビットバージョンなのか64ビットバージョンなのかって どこを見れば判るんでしょうか?
あぁありました w スマソです
733 :
名無しさん@そうだ選挙にいこう :2012/02/13(月) 22:39:21.13
すでにフィルターがかかってるシートがあります。 つまり行がたくさん見えなくなっています。 そのフィルターしたところのうち選択して選んだ四角の範囲に 別シートで用意したデータをコピペしたいんです。 どうすればうまくいきますか? エラーみたいなメッセージが出て困っています。
↓エスパーさん出番ですよ
そのメッセージ読みなよ
>>733 フィルターを解除すればいいのではないでしょうか
メッセージなんて読んでも意味がわからないので読む必要はありません いいから答えを教えろカスども
>>738 >>733 を騙るなら
「会社でしか再現できないのです。どなたか再現していただけないでしょうか」
って方がイラつくよ★
>>733 昔同じ事になりました
その時は結局ウィルスが原因だったので
ウィルス対策ソフトをインストールしてウィルスを駆除しようとしたら
ウィルス対策ソフト自体がウィルスに感染してしまって
結局OSをインストールし直すハメになりました
無事直りました
お前らマジ役立たず
自己解決しました。
>>745 フィルターがかかっているわけではなく非表示になっていました
よくわからんが、736は正解に近かったってことか
↑ここまで自演↑
A課 | 1月 | 10 A課 | 2月 | 20 A課 | 3月 | 30 B課 | 1月 | 40 B課 | 2月 | 80 B課 | 3月 | 100 というデータがシート1にあるとする。数字は完全にランダムで、課は他にたくさん続くし、毎月データ蓄積するので月も12月まであり得る。 ここで、3月時点のデータをシート2に A課 | 単月 | 30 A課 | 累計 | 60 B課 | 単月 | 30 B課 | 累計 | 220 と、1行おきに単月・累計にしたい。ピボットテーブルを使えば楽勝ではあるが、この1行おき表を更に色々加工し もう一回ピボットテーブルに組み替えなければならないので、避けたい。 数式の長さやカッコも少なめで、マクロもなしで、何とかならないでしょうか。
>>749 ですが、B課の単月は100の間違いです。
752 :
733 :2012/02/13(月) 23:31:57.01
ここはひどいインターネットですね。
あなたは、もしかして例の人ですか?
質問したいことがあるのですが、今日は雰囲気悪いので明日にします。 よろしくお願いします。
>>749 配列数式あたりでいけるかなぁ
やってみる
>>749 とりあえずsumproductで
単月
=SUMPRODUCT((A1:A6="A課")*(B1:B6="3月")*(C1:C6))
すべての累計
=SUMPRODUCT((A1:A6="A課")*(C1:C6))
1月〜2月はできるかどうかわからん。
757 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 01:37:21.15
こんなデータがあります うんこ 1 うんこ 2 しっこ 3 ちんこ 4 まんこ 5 うんこ 6 まんこ 7 ちんこ 8 ちんこ 9 うんこ 10 これにうんこでフィルターがかけたらこうなります。 うんこ 1 うんこ 2 うんこ 6 うんこ 10 この状態で別シートの下記データを第3列にコピペしてやります。 うんこ1号 うんこ2号 うんこ3号 うんこ4号 <つづく>
758 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 01:39:37.82
そうすると、こうなるべきだと思いますよね? うんこ 1 うんこ1号 うんこ 2 うんこ2号 うんこ 6 うんこ3号 うんこ 10 うんこ4号 しかしそうならず、こうなるんですよ。(★) うんこ 1 うんこ1号 うんこ 2 うんこ2号 うんこ 6 うんこ 10 試しにフィルターをほどいてやるとこうなってました。 うんこ 1 うんこ1号 うんこ 2 うんこ2号 しっこ 3 うんこ3号 ちんこ 4 うんこ4号 まんこ 5 うんこ 6 まんこ 7 ちんこ 8 ちんこ 9 うんこ 10 (★)を実現するにはどうしたら良いでしょうか?
759 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 01:41:03.03
(★)の場所が間違ってた。
(★)は
>>758 の一行目の最後、
「そうすると、こうなるべきだと思いますよね?(★)」
でした。
>>758 勘だけどまんこにちんこを入れてみたら?
>>757 多分無理だと思う
vlookupかなにかで引っ張ってくるほうがいいかな
並べ替えはダメなの?
vlookupとかは分かった上でExcelってこういう所変だよな みたいな問いかけしてるように見える
765 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 05:38:33.27
一つのセル内にこんな文字列があるとする [△△ ○○○ □□□□□] 3つはそれぞれ半角スペースで区切られていて、それぞれの文字数はランダム。 別セルに□□の文字だけを抽出したいのですが、どんな式だとできますか?
766 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 05:39:46.91
それぞれランダムと言いましたけど、それぞれ10文字以上はありません。
>>765-766 VBA使って良いの?
使って良いのならinstr関数とかinstrrev関数を使えば出来る
Cells(a,b)に値が入ってるとして、
一番右端の□□□□□を変数Sに取り出したいなら
S = Mid(Cells(a, b), InStrRev(Cells(a, b), " ") + 1)
(式中の" "は、半角スペースを""で囲んだもの)
>>765 =RIGHT(A1,LEN(A1)-FIND(" ",A1,(FIND(" ",A1)+1)))
>>765 =MID(D13,FIND(" ",D13,FIND(" ",D13)+1)+1,10)
>>765 =SUBSTITUTE(MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,9),"]","")
771 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 13:37:39.77
区切り位置でよくね?
773 :
名無しさん@そうだ選挙にいこう :2012/02/14(火) 16:59:58.86
Excel2010で作成した図形をコピー貼付けする作業中にショートカットで「ここにコピー」という項目が時々出ます。毎回出すにはどうすればいいのですか?
>>729-730 ありがとうございます!
申し訳ありません。質問を勘違いしてました。
セル
B
1→90点
2→80点
3→70点
4→60点
5→50点
6→40点
7→30点
8→20点
9→10点
セル
C
1→2(上位2個この場合90点と80点)
2→3(下位3個この場合10点と20点と30点)
C1とC2はデータにより毎回変動します。
C1C2が指定した個数の上位と下位にB1〜B9の条件付き書式で色づけするにはどのよにすればいいでしょうか?
>>774 D列を作業列にして以下の式を設定
=VALUE(SUBSTITUTE(B1,"点",""))
B列に条件付き書式で以下の数式を設定
=OR(RANK(D1,$D$1:$D$9)<=$C$1,RANK(D1,$D$1:$D$9,1)<=$C$2)
776 :
775 :2012/02/14(火) 17:50:29.69
B列の表示形式を「0"点"」にすれば、D列の作業列は不要になりますね
すいません。実際は点は省略してます。 90 80 70 で表示してる場合はどうすればいいのでしょうか?
>>777 =OR(RANK(B1,$B$1:$B$9)<=$C$1,RANK(B1,$B$1:$B$9,1)<=$C$2)
>>778 さん
本当にありがとうございます!出来ました。
B10〜B19などの行数は同じですが異なったデータにコピペした場合は反映されないのですがどうすれば反映されますか?
あと上位は青、下位は赤など異なる色を付けることはできますか?
>>779 >B10〜B19などの行数は同じですが異なったデータにコピペした場合は反映されないのですがどうすれば反映されますか?
意味がわからない
>あと上位は青、下位は赤など異なる色を付けることはできますか?
=RANK(B1,$B$1:$B$9)<=$C$1 → 青
=RANK(B1,$B$1:$B$9,1)<=$C$2 → 赤
>>779 > B10〜B19などの行数は同じですが異なったデータにコピペした場合は反映されないのですがどうすれば反映されますか?
コピペしなければいい
=RANK(B1,$B$10:$B$19)<=$C$1 → 青
=RANK(B1,$B$10:$B$19,1)<=$C$2 → 赤
>>780 さん
何度もありがとうございます!色付けも出来ました。
データ数が多いのコピペして使いたいのですが
>>781 の方法みたいにその都度B10B19のように手打ちで作るほかないのですかね?
OK
はーい!
>>782 そのデータ構造だとコピペで条件付き書式を設定するのは難しいと思います
VBAを使えば簡単にできますのでFormatConditionsでヘルプを検索してください
>>786 つかこの程度の質問する奴がVBA使えるわけねーじゃん。そんな歪んだ性格だと孤立するよ社会でw
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excelなのですが計算式の組み立て方に関しての質問です。 例えば 金額が5万より上ならばかける1.05 5万より下ならばかける1.03 とします。 Excel表のA-1に金額を書き込むと5万より上か下かを判別して後のかける割合も計算できるようにはならないでしょうか? 式が2つになっても構いません。 金額だけ打ち込むと計算できる式構成が全くわからずご面倒ですがどうぞよろしくお願い致します。
>>792 IFですか。確かに!
書いてからも少しいらってみたのですがなかなか・・・
式が出来ているならご教授頂けないでしょうか。
>>785 絶対と相対ですよね。いろいろ触りましたがやはりコピペでは出来なかったです。
先生方アドバイス下さい。
>>793 ヘルプはインストールしておいたほうがいいよ
=IF(A1>=50000,A1*1.05,A1*1.03)
>>793 > IFですか。確かに!
いやいや、知ってたけどど忘れしてたみたいなフリしなくていいよw
IF関数って言葉が分かるなら検索すればいくらでも例が出て来ますよ。
>>794 そうです。金額が5万ということでの計算式なのですが
5万より上だとA
5万より下だとB
かける割合が1.05だとC
かける割合が1.03だとD
とすると
Aの場合はCをかける
Bの場合はDをかける
金額を入れるとこれらを関数で計算できるようにしたいのですが、もう全くわからなくて。
すみません・・・
>>795 データのほうをコピペで対応できるように配置しておけばどうでしょうか
>>798 5万ピッタリの場合がわからないので1をかけるようにした
=A1*IF(A1>50000,1.05,IF(A1<50000,1.03,1))
>>796 今、確認してみましたが完璧です!本当にありがとうございます!
膨大な数を打ち込んでいかないといけないことがあり電卓でしていましたがおかげさまでかなり早く進みます。
ヘルプもインストールさせて頂きます。
ご親切にありがとうございました。
>>797 てへっ。
やっぱりわかっちゃいますよね。
テンプレに試した関数は入れて下さいと書いていましたがIFでやってみたものの的外れ過ぎて書けずでした・・・
ググることもしたのですが検索も上手くできずで・・・申し訳ないです。
レス下さった方々本当に感謝です!ありがとうございました!
>>804 5万のとき1.05なのか1.03なのか?
必要なら自分で修正してね
>>802 すごいです!
先ほど4万と6万でしか試していなかったのですが5万を入力しても数字が出るようになりました。
>>796 さんと言い
>>802 さんと言いすぐに出るそのスキルが高過ぎて感謝です!
>>803 自分で書いてからも疑問符でる程の質問下手です!
ですがそれを汲み取って的確に回答されるここの住人さんたちがすごいです!
>>805 説明下手の前の段階でした・・・
5万の場合は1.05です!
>>800 =RANK(B1,OFFSET($B$1:$B$9,INT((ROW()-1)/9)*9,0,9))<=$C$1 → 青
=RANK(B1,OFFSET($B$1:$B$9,INT((ROW()-1)/9)*9,0,9),1)<=$C$2 → 赤
>>805 =A1*IF(A1>=50000,1.05,IF(A1<50000,1.03,1))
これで良いのでしょうか?
>>891 これでも一応5万は出るのですが何か不具合が出るんですね?
さっきから数字をいれていろいろ試しています。どのようにすれば良いのでしょうか。
>>808 5万以上の場合:1.05
そでない場合:1.03
>>813 どっちも同じ
=IF(A1>=50000,A1*1.05,A1*1.03)
=A1*IF(A1>=50000,1.05,1.03)
>>813 5万でやってみればわかるでしょ。
式の意味を理解しないと後々困るよ。
>>814 >>815 本当にありがとうございます!
助かりました!
関数は敷居が高くて後退りしていましたが今回の件で式を感がえるのが楽しいと感じました。
全部教えて頂きましたが・・・
これから取り組むきっかけになりました。
式の意味をきちんと理解して真剣に向き合ってみます。
レスくださった方々、ご親切に対応して下さり感謝感謝です!
本当にありがとうございました。
>>807 すごいな。まさに関数を使いこなしてるって感じ。
やってることはわかるけど、自分で考えるのは嫌だなあ。
メンテも大変そうだし。
え?>807程度で「使いこなしてる」なのww
>>818 絶対的な基準なんてないんだからどうでもいいだろそんなことは
質問に答えられないなら黙ってろ
自分も言葉だけで使えもしないVBA使えとかこの程度とかなんなの?
なんか荒れてるな 会社で義理チョコ貰えなかったのか?w
1)こうすれば列を変えてもコピペOKだよね =RANK(B1,B$1:B$9)<=$C$1 → 青 =RANK(B1,B$1:B$9,1)<=$C$2 → 赤 2)とりあえず他の列の1〜9行にデータを移動させ書式をコピペ 3)その後、データをもとの位置に戻す。
>>779 で「B10〜B19などの行数は同じですが」って書いてるのが引っかかる
B1〜B9は9行だけど、B10〜B19は10行なんだよね
>>807 さん
何度もありがとうございます。まだうまくいかないです。。。
>>823 さん
B1〜B10に他の関数を使ってるので移動するのその関数が消えちやます
>>824 さん
書き込みミスです。
B9〜B18の9行です。
>>825 =(RANK(B1,B:B)<=$C$1)
=(RANK(B1,B:B,1)<=$C$2)
上下に数値が入ってたら使えない+C1C2の位置が変わるとどうしようもないけど
>>825 誤情報と後出し情報とが多すぎて質問の意味がわからんよ
整理して質問し直すかあきらめるかどっちかにしてくれ
質問し直すのであれば身近にいる人に質問の文面が読みとれるか聞いてから書き込んだ方がいい
>>828 ごもっともです。もう一度自分なりに試し質問も整理し改めます。
回答をして頂いた方々ありがとうございました。感謝しています。
2003 2007 2010 次の最新版はいつ頃だろ
831 :
名無しさん@そうだ選挙にいこう :2012/02/15(水) 17:47:54.53
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】実人数 お知恵をお貸し下さい のべ人数ではなく実人数を出したいのです。 例 サービスA サービスB サービスC 合計人数 氏名A 1 0 1 1 氏名B 1 1 1 1 氏名C 0 0 0 0 こんな感じです。
>>831 やり方は死ぬほどあるけど
=if(sum(b2:d2)>=1,1,0)
がわかりやすくていいかな
>>831 どういうこと?数字は1か0しかないってこと?
それなら=MIN(SUM(氏名AのサービスAからサービスC),1)で良いんじゃない?
エクセル勉強中だけど 知らないだけでいろんな便利機能が次から次へと出てきて ゲイツとその手下すげええ!!と思う毎日です
よかったね
どうでもいい余計な機能が付き過ぎて世界中で毎日大量のゴミファイルが産み出されホワイトカラーの生産性を下げる原因にもなってるみたいな話は雑談スレの方でやりましょう
>>831 =JIS(0+(COUNTIF(B1:D1,"1")>0))
839 :
名無しさん@そうだ選挙にいこう :2012/02/15(水) 20:02:42.24
>>833 数字は整数で0か2の入力
>>832 〜839
式までありがとうございます。いろいろ試してみます。
> 数字は整数で0か2の入力 意味不明
0か2なのになんで例では1を使ったの?
842 :
名無しさん@そうだ選挙にいこう :2012/02/15(水) 20:24:35.83
>>841 0から2の間違いです。0か1が多い。たまに2があります。
>>842 じゃあーつまるところ最大数を求めたいのね?
=MAX(B2:D2)
かな
Excel2003での質問です A列とB列に文字が入力されているときは、E列に1と表示される A列に文字が入力されているがB列が空白のときは、E列に2と表示される E列に数値を表示する方法を教えてください お願いします
A列が空白でB列に文字が入力されているときは? 両方とも空白の時は?
失礼しました 説明が不十分でした >A列とB列に文字が入力されているときは、E列に1と表示される >A列に文字が入力されているがB列が空白のときは、E列に2と表示される 上記の条件以外は何も表示されない、という条件を追加させていただきます 改めてよろしくお願いします
>>844 他の条件の時の動作も書いてくれないとわからん
>>847 =IF(COUNTA(A5:B5)=2,1,IF(COUNTA(A5),2,""))
>>847 =IF(A5<>"",IF(B5<>"",1,2),"")
852 :
名無しさん@そうだ選挙にいこう :2012/02/15(水) 22:57:10.14
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 エクセル シート 別ファイル ・1つのエクセルファイルにシートが複数(15シート)あります。 ・ファイルを、1シートずつ別ファイルにしたいです。 ・15個に分けたファイルにはすべて同じパスワードを設定したいです。 今は、元のファイルにパスワードをかけた後で、そのファイルを 15個コピーし、それぞれのファイルから不要なシートは削除する、 という作業をくりかえしています。 もっと簡単にできる方法はありますか?
同じパスワードを設定したファイルを15個用意してからコピーとか 15個作ってから、それぞれ14シート削除とか
>15個作ってから、それぞれ14シート削除とか すまん、これ今やってたんだな。多分これ以上ない 後はシート見出しをシフト押しながら選択すれば一括で消せるよってぐらい
856 :
sage :2012/02/15(水) 23:24:23.91
>>855 回答ありがとうございます。
今以上の方法はなさそうですね。
シフトキーのアドバイスもありがとうございました!
>>852 マクロを書く
Application.DisplayAlerts = False
src_file = "D:\documents\TargetBook.xlsx"
dst_file_base = "D:\documents\Book_"
Dim ary(13)
For i = 1 To 15
Set tmpbook = Workbooks.Add(src_file)
tmpbook.Password = "readpass"
tmpbook.WritePassword = "writepass"
Index = 0
For J = 1 To 15
If J <> i Then
ary(Index) = J
Index = Index + 1
End If
Next
tmpbook.Worksheets(ary).Delete
tmpbook.SaveAs dst_file_base & CStr(i) & ".xlsx"
tmpbook.Close
Next
Application.DisplayAlerts = True
そのマクロ見ると何だか背中がムズムズするw
859 :
名無しさん@そうだ選挙にいこう :2012/02/16(木) 00:42:41.36
858を見るとケツがかゆくなる
859を見ると腹がへるな
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 なるべく否 【5 検索キーワード 】 Excel sumif 複数条件など 昨日の夜から延々Excelと睨めっこしてたのですが、 解決しないのでお知恵を貸して下さい。 現時点でVBAのことは全然分からないので、可能ならば関数で処理したいなと 思っています。 名前 登録時間 費用 効果 山田 9:20 10000 23000 山田 10:15 15000 10000 山田 10:30 20000 30000 山田 11:40 40000 50000 工藤 10:30 50000 78000 工藤 11:20 30000 40000 富岡 9:20 70000 140000 富岡 10:10 60000 100000 シートAにこんなデータがあります。 ここで、シートBに 「山田の、10時台に行なった仕事の費用合計」を出したいのです。 sumifとandを適宜組み合わせれば…と思ったのですが、 さっぱり記述の仕方が分からず困っています。 出来ればご教示頂けると助かります。
途中で送信してしまった・・・
>>862 配列数式の場合
=SUM(IF((A2:A9="山田")*(B2:B9>=TIMEVALUE("10:0"))*(B2:B9<TIMEVALUE("11:0")),C2:C9))
数式の場合
=SUMPRODUCT((A2:A9="山田")*(B2:B9>=TIMEVALUE("10:0"))*(B2:B9<TIMEVALUE("11:0")),C2:C9)
シート名は割愛しています
>>861 【5 検索キーワード 】 Excel sumif 複数条件
ググれ
865 :
861 :2012/02/16(木) 10:42:08.69
>863様 上の方は何故か0になってしまいましたが、下の方ではきちんと数字が出ました! sumproductもtimevalueも全く知らなかったので、これから意味と使い方を調べようと思います。 ありがとうございました。 >864様 済みません、本当にそのキーワードも使ったし、二時間以上検索した上で さっぱり分からなかったのです…。 助かりました。
866 :
名無しさん@そうだ選挙にいこう :2012/02/16(木) 11:21:49.99
「2012.01.30」の形式で文字列で入ってるセルを シリアル値に変更するにはどうしたらいいですか?
867 :
名無しさん@そうだ選挙にいこう :2012/02/16(木) 11:22:34.97
「21,400 円」の形式で文字列で入ってるセルを 数値に変更する(円もいらない)にはどうしたらいいですか?
>>866 年月日をそれぞれMID関数で取り出してDATE関数で変換
>>861 DSUM関数とかはダメ?これですれば他の名前、時間帯でも楽になるよ
872 :
847 :2012/02/16(木) 19:11:52.11
>>865 sumproductで解決したからどうでもよいかもしれないけど
配列数式の場合はctrl+shift+enterだよ
Word2002で、VBAで実行した操作を、普通に元に戻す機能が使えることに、 今さらながら気づきました。 えっと思い、Excelもそうなのか確認しましたが出来ませんでした。 もしかして2010とか新しいバージョンでは、ExcelでもVBAの操作を元に戻せるのでしょうか。
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 文字列 表示 Aの列に外国語、Bの列に日本語があって B1(日本語)の文字列を大きく表示して画面コピー 数秒後A1(外国語)の文字列を大きく表示して画面コピー B2(日本語)の文字列を大きく表示して画面コピー 数秒後A2(外国語)の文字列を大きく表示して画面コピー して携帯用の暗記カードを作りたいのですが 数秒おきに大きくセルの文字列を表示する方法がわかりません どうすればいいのでしょうか?
>>876 >数秒おきに
処理を止める:Application.Waitメソッド
>大きくセルの文字列を表示する
文字サイズを変える:Font.Sizeプロパティ
>>876 想定しているアウトプットはなんなの?意味がよくわからない
A1からC10000セルまで、数字が入っています。 ただし、文字列扱いで入っているのですが、これを簡単に数値に全て一括で変える方法ありますか? 別の列に A1*1・・って感じで入れればいけますが、別列使わない方法はありませんか?
>>880 Sub test()
Dim v
Dim i as Long, j as Long
v = Range("A1:C10000")
For i = 1 To 10000
For j = 1 To 3
v(i, j) = Val(v(i, j))
Next j
Next i
Range("A1:C10000") = v
End Sub
>>880 セルの書式設定で標準にしてエラーチェックで一気に数値に変換すればいい
886 :
876 :2012/02/17(金) 00:49:28.52
タブレットPCか何か使うのかな? 普通に紙に印刷したほうがいいと思うけど。
889 :
876 :2012/02/17(金) 01:40:34.95
>>887 エクセルで単語を画面に表示させて
スクリーンショットを取るソフトで
画像にして携帯に保存しようとしています
>>889 全てにおいて方向性が間違っていると思う
892 :
876 :2012/02/17(金) 13:54:15.04
>>891 うーん・・・そんな気もしてきました
ちょっと他の方法も検討してみます。
893 :
876 :2012/02/17(金) 20:15:03.31
なんか結局別プログラムで自作出来ました お騒がせしてどうもすいません
894 :
名無しさん@そうだ選挙にいこう :2012/02/18(土) 09:38:39.32
ぱちぱち
895 :
名無しさん@そうだ選挙にいこう :2012/02/18(土) 11:12:21.60
今日天皇が死んだら平成は終わり明日から新しい元号が始まりますが その新しい元号をExcelで表示させるにはどうしたらいいですか?
>>895 [$-412]ggge"年"m"月"d"日"
>>895 レジストリを変更するととりあえず対応できるようです
>>895 だから全部西暦で作っておけって言ったんだよ!
元号が変わったら修正モジュールが提供されるからそれまで待つのが確実 たぶんWindows Updateでも入ってくると思う 急ぎの書類は手作業で打ち込むしかない
こんにつわ、質問です 同じ列に同じ言葉を何回も選ぶ必要があるとき、どうするのがいい感じですか? 例えば、セルに書く内容は、リンゴ、ゴリラ、ラッパ、パンツなど20コくらいあるとし、セルごとに指定のワードを選びます。ドロップダウンリストボックスをセル毎に作って選ぶより、直接打ち込んだ方が早そうですが、他に何か良い方法ありませぬか?
すいません。 グラフの良い作り方なんですが、ご教示頂けますでしょうか? とりあえず、棚卸のような作業を一定の期間で連続して行っていて、 ↓のデータを2軸のグラフで作りたいのですが、(在庫数を棒グラフ、消費量を折れ線グラフ) 1 2 3 A 日付 在庫数 消費量(必要があればセルを作る) B 2/20 20 C 2/27 15 5 D 3/4 25 -15 消費量についてはB2-B3の値をC3に入れていて、 グラフにした時に始点が在庫数と日付が一つずれてしまい、変なグラフになってしまいます。 あとは、このやり方だと、在庫を補充した時に、消費量がマイナスになってしまい、 分かりにくいんで、なんだかなーという感じになってしまいます。 そこで、消費量については、単に在庫数の棒グラフの頂点を 同じ棒グラフ上に折れ線グラフでプロットしたものにして、 折れ線の横あたりに変化量を自動で表示させるように行いたいなと思うのですが、 やり方が不明で上手くいかなくて、四苦八苦しております。 このやり方なら、在庫補充した時も簡単に見た目で分かるかなーと 思っているのですが、どなたか知恵をお貸し頂けないでしょうか? 消費量については、グラフが勝手に計算してくれるなら、敢えてセルを設ける必要は ないです。
>>901 20個ぐらいならコード表作って暗記、コード入力してVLOOKUPで表示する
>>901 連続でひたすら入力するなら、専用フォームを作成するのもありかも
フォームを作成し、20個の単語が並んだリストボックスを表示する
そのフォームで該当の単語をダブルクリックすると現在のセルに選んだ言葉が入り、現在のセルが1つ下に移動する
というVBAのプログラムを書く
>>902 単純に「補充数」という列を設ければいいだけのように思える
補充数−消費数+前日の在庫数=今日の在庫数
>>901 リンゴ=rg,ゴリラ=gr,ラッパ=rpみたいに覚えやすい文字で打ちこんでおいて
最後に置換機能20回繰り返して元の言葉に置き換えるって方法もある。
・データは大量にあるが1回きりの作業なのか
・定期的に行う作業なのか
・自分一人がやればいい作業なのか、他人にもやってもらう作業なのか
・「20コくらい」が固定なのか、しばしば変更になるのか
色んな条件によってベストな方法は変わってくるね。
>>906 同じことだけど
消費数=前日の在庫数−今日の在庫数+補充数
のほうが
>>902 のニーズにはあってそうだ
>>901 > ドロップダウンリストボックスをセル毎に作って選ぶより、
1回作ってコピーすればよいのでセル毎に作らなくてもよいと思うけど、
リストからの選択操作がめんどいってこと?
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2007 2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 VBAを使わないと解決できないなら。手間だけど関数で出来るというなら関数で 有効数字 という考えがあります。 有効数字が3の場合は、 12345 →12300 0.005678 →0.00568 0 →0.00 37.85 →37.9 といった具合の考えで、数字のある4桁目(表現おかしいかも知れませんが)を四捨五入して表示します。 一度作成した関数は、有効数字の値が固定でも(有効数字を3→2に変更したいときは、関数を書き換えることになっても)かまわないです。 計算して出したセルでの表示を有効数字という考えのもとで自動的に調整したいのです。マイナスは発生しませんが、100を超える場合もあれば、0以下もあります。
>>910 12345→1.23E+04
0.005678→5.68E-03
みたいな表記で良ければ表示形式を「指数」にすれば簡単なんだけどな。
一旦指数にしたものを再度数値化する手もある =VALUE(TEXT(A1,"0.000E+00")) あと911のベストアンサーは1.0以下のとき正しくない気がする
rounddownでなくroundにすればいいのかな
916 :
名無しさん@そうだ選挙にいこう :2012/02/18(土) 20:25:14.69
ソウルの日本大使館前に反日団体によって「従軍慰安婦の碑」が建立されるという暴挙に、韓国人の苛烈さを見て取った
日本人も多いだろう。だが、ソウルだけではなかった。彼らは韓国内だけでなく、アメリカでも同様の碑を建てていた。
日本人を貶める反日運動は、より戦略的に全世界で展開されようとしているのだ。ジャーナリストの水間政憲氏が報告する。
米国ニュージャージー州パラセイズ・パーク市の図書館に「日本軍従軍慰安婦の碑」が建立されたのは2010年10月23日。
同碑除幕式の模様は、中央日報日本語版(2010年10月25日付)が伝えている。
〈西欧国家で日本軍慰安婦追悼の碑が地方政府承認の下で建てられたのは今回が初めてだ。(中略)
この日の除幕式にはロタンド市長を含め、市議会および図書館関係者と同胞ら100人が出席した〉
その大理石の碑には、「1930年代から45年まで日本帝国主義の軍隊に踏みにじられた20万人の女性と少女を称える」とか
「慰安婦とされた人々は想像することも出来ない残酷な人権侵害にあった」と解説され、
最後に「私たちは人類に対するこの残虐な犯罪を決して忘れてはいけない」と、慰安婦の姿と共に刻まれている。
この問題は、米国市民を捏造歴史認識で洗脳する道具の役割を果たすだけでなく、
米国に居住している邦人の名誉を著しく傷つけることになるのである。
そもそも「従軍慰安婦問題」は『朝日ジャーナル』に88年5月から12月まで隔週で15回に亘って掲載された
「日本国は朝鮮と朝鮮人に公式陳謝せよ」との意見広告からスタートし、同誌の記事になり、
それが朝日新聞の社会面へと波及していった。だが、慰安婦の「強要・強制」を示す記録は一切無いのだ。
しかし、パラセイズ・パーク図書館の碑を見た米国人は、間違いなく慰安婦が「強制」であったと誰もが思うだろう。
すでに在米邦人の子供たちが、これら捏造歴史認識で「イジメ」にあっているとの情報が入ってきている。
“無実の韓国人女性をレイプした日本人の子孫”として白眼視され始めているというのだ。
http://www.news-postseven.com/archives/20120217_87410.html
917 :
名無しさん@そうだ選挙にいこう :2012/02/18(土) 23:05:46.08
Excelで「平成1年」を「平成元年」と表示させるための一番簡単な方法はなんですか? ちなみに昭和や平成の他の年もいっぱいまざっています。
>>916 Excelのバージョンによって違うと思います
現在、Excelで、データを取得しそれを並びかえる、という作業を繰り返しているのですが、作業毎にデータが消えてしまう仕様なので、このデータを毎回保存したいと思っています。 外部ファイルにデータを記録していくためにデータベースファイルを作ろうと思いますが、どうすれば良いですか?
>>920 意味がわからん
・データを取得って何?どこからどうやって取得してるの?
・並びかえたあとそのデータはどうなるの?消えてしまうの?なら何のために並びかえてるの?
・データが消えてしまう仕様ってのは何の仕様?
・データベースファイルって何?
923 :
917 :2012/02/19(日) 00:57:45.47
A1-e5まで入ってる文字をmdbファイルに移すには、どうすれば良いですか?
>>924 VBAでmdbファイルを開いてForEachでループで回してINSERTする
thx.
928 :
名無しさん@そうだ選挙にいこう :2012/02/19(日) 11:06:13.88
Excel2010で図形をコピー貼付け作業中に「ここにコピー」と時々でますが毎回出すにはどうすればいいのですかね
>>928 何のことかわかっていないけど、図形の上で右クリックし、コピーしたい位置までドラッグじゃ駄目なの
930 :
名無しさん@そうだ選挙にいこう :2012/02/19(日) 13:59:23.35
>>929 中途半端に「ここにコピー」が出たり出なかったりするので作図のクリックをやり直したり等作業にストレスを感じてます。
>>930 逆に教えて。どういう操作したら「ここにコピー」とでる(ときがある)の?
>>930 まさかとは思うが、念のため確認。
「右クリック」と「右クリック+ドラッグ」の違いじゃないよね。
「まさかとは思うが」って言うほど大事なのか
934 :
名無しさん@そうだ選挙にいこう :2012/02/19(日) 14:51:45.75
【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 Excelで「終了ボタン」をVBAで作成し、Webページとして保存し、 Webページでもボタンを押すと終了するように設定したいのですが、 どうすれば良いでしょうか?
>>934 >Excelで「終了ボタン」をVBAで作成し
ソースを見ないとわからない
936 :
名無しさん@そうだ選挙にいこう :2012/02/19(日) 16:21:16.45
>>935 さんへ
ソースは
Dim rc As Long
rc = MsgBox("Excelを終了しますか?", vbYesNo + vbQuestion)
If rc = vbYes Then
Application.Quit
Windows("Book1.xls").Close True(家で2003を使用して作成しています。)
Else
MsgBox "いいえが選択されました。", vbExclamation
End If
End Sub
以上です。よろしくお願いします。
937 :
名無しさん@そうだ選挙にいこう :2012/02/19(日) 20:04:45.15
>>928 あ〜わかる
それは2007でも同じ。
でも解答はわからん
>>934 そういうのはWindows Script Host をつかうんじゃないか
>>936 2010持ってないからわかんないけど2003だと問題なく動くね
【1 OSの種類 】 Windows7 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 等間隔 繰り返し Excel初心者です。質問失礼致します。 例えば、B1に「A-1-1」と記入し、B29に「A-1-2」、B57に「A-1-3」、B85に「A-1-4」と、 等間隔に離れたセルで、記入された数値の端数のみが増えて行くようにするには、 どのようにすればよろしいですか?
>940 1.B1に「A-1-1」と入力 2.B1:B28を選択 3.右下の■をクリックしながら下へずず〜っとな。
943 :
940 :2012/02/19(日) 21:18:48.34
こんにつわ、質問です。 With ActiveSheet.QueryTables.Add(Connection:=で、Web上のテーブルを取り込んだのですが、このテーブルの指定セルだけを取り込むにはどうすれば良いですか?
>>944 無理
テーブルを取得した後に必要なセルを再抽出すればいい
>>944 HTMLDocument使ってパースすればいいんでないかい
成程無髄 とりあえずサイチュウチュウしときますthx.
取得したテーブル内に-や()が入ってる場合に数値の表示形式が変わってしまうのですが、どうしたらいいですか? セルの書式設定で文字列にしておいてもダメでした。
951 :
名無しさん@そうだ選挙にいこう :2012/02/20(月) 12:14:34.34
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 貼り付け ブラウザでリンク付きのテキストをコピーした時に、貼り付けコマンドで テキストのみ貼付けできるように設定することは出来ませんか? 要するに、形式を選択して貼り付けコマンドを利用しないでテキストのみ 貼り付けしたいんですけど。
>>951 一度メモ帳にコピーして、再度コピー→貼付け
>>948 Webクエリのオプションで日付認識を無効にしたら解決しました
3軸のグラフの作成機能って標準じゃ持ってないの? ググってもなんか、一筋縄ではいかないような事ばかり書いてあるんだけど。
3D縦棒などの3D系でそれっぽくするとか 等高線やバブルチャートでがんばる
そっちの軸じゃかった。。
初めて参りました。よろしくお願いします。質問の仕方が悪かったらごめんなさい。 単語表を作ってます。 Sheet1に1000個以上の単語と訳があります。 スペルが同じでも意味が違えば独立して含まれています。 A列 B列 run 走る run runの過去分詞 running ランニング Sheet2にも同様の単語表があり、1200個以上の単語と訳が含まれています。 A列 B列 run 走る run 走ること run runの過去分詞 running ランニング [質問] sheet2にあってsheet1に無い単語を拾うにはどうしたらいいでしょうか。 【1 OSの種類】 Windows** 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード】 VLOOKUP 一致
>>959 やりかたは色々あると思うけど…
例えばSheet2のC列に以下の数式を設定して、フィルタかけるとか
=COUNTIF(Sheet1!A:A,A1)=0
>>960 ありがとうございます。
関数の意味はよく分からないけれど、できました。
感動しました。
感謝します。ありがとうござます!
>>959 やりかたは色々あると思うけど…
例えばSheet2のC列に以下の数式を設定して、フィルタかけるとか
=VLOOKUP(A1,Sheet1!A:A,1,FALSE)
>>962 #N/Aが出たので失敗かと思いました。
これでいいんですね!
含まれていない単語が美しく列挙されました。
ありがとうございます。
Excelが光って見えます。
本当にありがとうございました。感謝します。
>>951 '代わりに、変更がハイパーリンクを含む場合に消すとか Undoできなくなるけど
Private WithEvents xl As Excel.Application
Private Sub xl_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Target.Hyperlinks.Count > 0 Then Target.Hyperlinks.Delete
Application.EnableEvents = True
End Sub
Private Sub Workbook_Open()
Set xl = Application
End Sub
>>951 は「形式を選択して貼り付け」を使いたくないわけじゃなくて
メニューや右クリックからいちいち実行するのが面倒臭いという事だろ、おそらく。
だとしたら形式を選択して貼り付け→テキストをマクロ記録して
ツールバーかショートカットキーにでも登録すればいいだけの話なんじゃね。
究極まで手間を省きたいならChangeイベントでリンクになってるかどうか調べた方がよくないか?
質問です OSはXPでExcel2003です VBAはパッパラパーです ごちゃごちゃと計算してその結果、時間が表示されるようにして その時間は24時間を超えることもあるので 書式の表示形式で d"日 "h:mm:ss ってやってあります これで 3日 14:22:03 とか表示されるのはまさに思い通りなんですが 24時間に足りない時にも 0日 23:47:55 ってなってしまいます 24時間に足りない時だけこの 0日 が出ないように書式設定をすることはできますか? それとももう計算式にIFつけて1より小さい時はTEXT(ほにゃらら,"h:mm:ss")とかしかないですか?
[<1]h:mm:ss;d"日 "h:mm:ss;@ でいいかな
969 :
967 :2012/02/21(火) 13:25:13.25
>>968 うおおおおおおすっげーーーーーー
あなたが神か!
マリガトー!!!!
970 :
名無しさん@そうだ選挙にいこう :2012/02/21(火) 20:48:59.77
Excel2003でマクロの記録ができないのですが、 利用できるようにするには何かインストールする必要があるのですか? Windows7のプログラムと機能のところにはマクロと言う表記がないのですが・・・
>>970 「ツール」→「マクロ」→「セキュリティ」
かな?
>>971 セキュリティを低にしてもマクロが記録できないんです。
VisualBasicEditorをインストールしないとダメなんですかね?
多分マクロの機能がインストールされてないと思うんですけど
インストール仕方がわからないんです。
一回なったな 再インスコしたら治った
解決しますた。 メニューからマクロ、セキュリティ以外は選択できない状態だったのですが プログラムと機能からVisualBasic for Applicationというのをインストールしたら 使えるようになりました。 ありがとうございました。
以前注意されたので質問をまとめました。 少し仕様変更致しました。よろしくお願い致します。 A1〜A9はB1〜B11の作業列です。 B1〜B9の数値はA1〜A9の数値を元に関数を使いはじき出してます。 B1(4) B2(3) B3(2) B4(1) B5(0) B6(-1.5) B7(-2.5) B8(-3.5) B9(-4.5) B10(-0.22...)←B1〜B9のAVERAGEです 平均値、以上以下で線引きしたいのですが 例の場合は平均値0.2なのでB5とB6の間に赤線を自動で引く事などは可能ですか? このB1〜B9は他の作業スペースでもコピペで使用します。
訂正です。 ×A1〜A9はB1〜B11の作業列です。 ○A1〜A9はB1〜B9の作業列です。
>>976 VBAを使えば可能
条件付き書式で罫線って引けたっけ
B1:B8条件付き書式で 数式が =AND(B1>=$B$10,$B$10>=B2) にして書式に罫線設定
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ シート1に 1 14日 名前A \3000 ○ 2 15日 名前B \1000 ○ 3 15日 名前C \8000 4 15日 名前D \3000 ○ … などシート1に毎日分のデータがある中で、例えば15日で○がついてるもののみ抽出し シート2に名前と料金を空白行がないよう上から順番に表示するにはどうしたらよいでしょうか? 例 1 名前B \1000 ○ 2 名前D \3000 ○ お力添えをよろしくお願い致します。
>>979 さん
ありがとうございます!思ったとおりになりました!ご丁寧な説明ありがとうございました。
2010使用でCADのように図面書きたいんだけど 図形とか寸法とかどうやって書くんでしょうか?
CADで図面つくってからそれをExcelに背景として貼りつけて、トレースするように 作画すると少しはラクです
あ
うめ
うま
うみ
うに
うた
うし
うふっ
うほっ
うへっ
998 :
278 :2012/02/23(木) 21:03:36.73
埋まりそうですが 入力規則でリストで空白を設定するにはどうしたらいいのでしょうか? 今までは[ ,0,...]としていたのですが これだと空白ではなくて[ ]になってしまうのですね>< 空白はどう設定したらいいのでしょうか?
失礼しました、278ではないです。
>>999 空白を無視するにチェックすれば、空白にできるよ。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。