Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 79
http://pc11.2ch.net/test/read.cgi/bsoft/1234024786/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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 OSの種類 .】 Windows Vista SP1 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel セル 空白 矛盾 エラー 、など 少しお聞きいたします。 左のセルに数値が入っている時のみ左上の値と計算した値(例では減算)を表示したいのですが、 「矛盾した数式」とエラーが出てしまいます。 エラーを無視する以外で、エラーが出ない方法はありませんでしょうか? 例: =IF(ISBLANK(E5),"",E5-E4) およそ、E5が空白の時に、IFを評価する前に E5-E4も評価される(空白-数値)ためエラーが起きていると思われるのですが、 =IF(ISBLANK(E5),"",IF(ISBLANK(E5),0,E5)-E4) などとやっても同様のエラーが出てしまいます。
9 :
名無し変更議論中@詳しくは自治スレへ :2009/02/26(木) 15:27:22
=IF(COUNT(E5,E4)=2,E5-E4,"")
>8 例の式であってるよ。 IFを評価する前にE5-E4も評価されるなんて事はない。 後出し条件があるんだろ?
>>8 スペースが入ってるんじゃないの
CTRL+A→CTRL+H、半角スペースと全角スペースを全部何も無い状態に置き換えれば
うまくいく・・と思う
矛盾した数式、ってあれは前後と計算式が違う時に教えてくれるだけのやつだろ? 無視すればおk
おお、2007にはこんな「小さな親切大きなお世話機能」 が又追加されたのか。知らなかった、、、 エラーチェックルールのチェックを全部外しておこう。
だいたい
>>10 のいうとおり両方評価なんてしてないが、仮にVBAのクソIIf関数みたいに両方評価してもエラーにはならんわな。
空白は加減乗除の計算するときは0扱いだからね。
こんなのできますか先生。。 左のセルに次のいずれかの文字列=(か or く ) が含まれていた場合 その左にあるセルをここにコピーする イメージ図 A B C 1 あ か あ か が含まれていたのでc1に あ をコピー 2 い き 3 う く う く が含まれていたのでc3に う をコピー
16 :
名無し変更議論中@詳しくは自治スレへ :2009/02/26(木) 20:02:07
>>15 C1=if(or(a1="あ",a1="く),a1,"うんこ")
17 :
名無し変更議論中@詳しくは自治スレへ :2009/02/26(木) 20:02:31
あかくじゃない場合は空白がいいなら C1=if(or(a1="あ",a1="く),a1,"")
やってみます(`・ω・´)
セクセル『入力した数式は正しくありません』 (´;ω;`)?
セクセル・・・
21 :
名無し変更議論中@詳しくは自治スレへ :2009/02/26(木) 20:32:51
>>19 C1=if(or(a1="あ",a1="く"),a1,"")
ごめんねお父さん今手元にセクロスないんだ
これでokと思う
最初のC1は入れちゃだめ あと、自分で1文字ずつ入れるんじゃなくて掲示板のレスをそのままコピペ
C1に
=IF(OR(B1="か",B1="く"),A1,"
っていれたら
できたんぼぉおおおおヽ(*´∀`)ノ
>>16 >>17 >>21 ありがとうございますッ
>>お父さん
肉じゃが作っておきます(`・ω・´)
それでいいの?「含まれる」だとこういう式になるような気がするんだけど =IF(NOT(ISERR(FIND("か",B1))*ISERR(FIND("く",B1))),A1,"")
>>24 え・・・
やってきます(`・ω・´)ゞビシッ!!
>>24 わー!よーく見たらこれでした(°Д°)
=IF(OR(B1="か",B1="く"),A1,"
だとこの文字!って限定してますね
先生ありがとうございますッ
>24 NOTでひっくり返さなくても、後ろの順番ひっくり返せば、、、 ところで最近は、ブーリアンの乗算は、流行なのかね。
28 :
名無し変更議論中@詳しくは自治スレへ :2009/02/26(木) 21:18:15
流行ですね あとchoose・MID・sin辺り組み合わせる形もこのスレの流行 新鮮でいいんじゃないかな。俺も結構好きだよ
パズル好きな老人に大人気ですよ 見ていて恥ずかしくなるけど我慢してね
>26 乗算するくらいならC列は”か”、D列は”く”で抽出してE列 に両方だす方が後々の為だよ! といらぬおせっかいをしてみる。
>>9 状況変わらずでした。
>>10-14 ポップアップでは「このセルは列の数式と矛盾しています」と出ています。
!マークをクリックすると、「矛盾した集計列の数式」とあります。
エラーのチェックオプションから「テーブル内の矛盾した集計列の数式」をはずすと
エラーがでなくなりましたが、これはどういう意味なんでしょうか?
ヘルプを見ても、
> テーブル内の矛盾した集計列の数式 オンにすると、
> 列の数式またはテーブルと矛盾する数式や値を含むセルをエラーとして扱い、
> 警告を表示します。
とあり、よくわらかんのです・・・。
32 :
名無し変更議論中@詳しくは自治スレへ :2009/02/27(金) 00:16:27
33 :
8 :2009/02/27(金) 00:21:48
34 :
8 :2009/02/27(金) 00:28:58
礼が遅れました。 助かりました。ありがとうございました。
35 :
名無し変更議論中@詳しくは自治スレへ :2009/02/27(金) 11:12:29
【1 OSの種類 .】 Windows XP SP1 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 文字列 含まれる場合 IF AND COUNTIF ISERROR FIND A1に、鈴木という文字列が含まれているなら「バラ組」、 佐藤又は山田が含まれるなら「ユリ組」、 川口又は佐々木が含まれるなら「サクラ組」、 それ以外は空欄 と表示させるにはどのような記述をすれば宜しいでしょうか。 バラ組を表示させることはできたのですが、 =IF(COUNTIF(A1,"*鈴木*"),"バラ組",IF(COUNTIF(L6,"*佐藤*"),"ユリ組","")) 佐藤又は山田 とうい条件が上手く付けられません。 ご教授いただけますよう宜しくお願いします。
OR関数
たしかに「または」という形式にしたければOR関数だね でも4つくらいならIF四連でも
=MID(" バラ組 ユリ組 ユリ組 サクラ組サクラ組 ",FIND(A1," 鈴木 佐藤 山田 川口 佐々木 "&A1),4) 別案 配列とLOOKUP、CHOOSE
川口山田助て名前ならどうなるんだべ。
>>38 A1に、鈴木という文字列が"含まれている"なら「バラ組」、
なぜにL6
まさかと思うけど、1つのセルに複数の名前を入れてんのか
>>35 IF(OR(COUNTIF(A1,"*佐藤*"),COUNTIF(A1,"*山田*")), 以下略
または
IF(COUNTIF(A1,"*佐藤*")+COUNTIF(A1,"*山田*"), 略
44 :
名無し変更議論中@詳しくは自治スレへ :2009/02/27(金) 13:49:27
>まさかと思うけど
>まさかりと思うけど
46 :
名無し変更議論中@詳しくは自治スレへ :2009/02/27(金) 14:03:18
くだらん自己満足のクソ回答ご披露した上に自分のミスを認められずに 「まさかと思うけど」と後出ししたお前が悪いみたいに素で思えるのは凄い才能ですなあ 間違いにに気づいてもごめんなさいも言えないで誤魔化そうとする厚かましさも素晴らしい いやはや、有能な回答者様ですなあ
47 :
35 :2009/02/27(金) 14:25:12
>>36 .37.43様のor構文にて解決できました。
orにかかる()がだんだんごっちゃになってわからなくなっていました。
>>43 様ご丁寧に具体的な記述頂き、ありがとうございました。
ひとつのセルに複数の名前が入っているわけではありませんが、
ひとつのセルに名前と他の文章が入っている状態ですので、
今回は
>>38 様の例で解決は出来ませんでしたが、とても勉強になりました。
質問分が分かりにくくて勘違いさせて申し訳ありませんでした。
(
>>41 様のL6についても、私のコピーミスです;;すみません)
ご回答頂いた皆様ありがとうございました。m( _ _ )m
見えない敵を長文で叩いてみた
エクセルでのマクロの保存(?)方法を教えてください。 マクロ付きのエクセルファイルを、他のPCにコピーして起動させると実行できません。 ツールバーからマクロを選択すると、マクロ名が異なった名称になっており編集すらできません。 (存在しないマクロ名が選択肢に表示されていると思われます。) 具体的には、"AAA.xls" のファイルに "BBB" というマクロ名で登録しましたが、 他のPCで "AAA.xls" を起動させると "AAA.xls!BBB" というマクロ名になります。 マクロをエクセルに保存するときの問題ではないかと思って、 エクセルのスレに質問させていただきました。よろしくお願いします。 【1 OS】 WindowsXP 【2 Excel Ver】 Excel2003 【5 検索キーワード 】 マクロ名 参照が正しくない コピー
>>49 それはマクロではなくアドインでは?
自分で作ったマクロなら自動的にxlsファイルに保存され、他のパソコンにも簡単にコピーできます。
51 :
名無し変更議論中@詳しくは自治スレへ :2009/02/28(土) 02:52:42
>>49 ALT+F11とかALT+F8とかこの辺触ってみては
あとエクセルの仕様上、二つのブックを開いた上体でマクロの編集はちとやりにくいと思う
必要なマクロをコピーしたら一方は閉じると良い
52 :
名無し変更議論中@詳しくは自治スレへ :2009/02/28(土) 05:21:38
ワードとエクセルをまったくつかえないのですが、転職に最低限なので使えるようにしたいのです。 ワードエクセルの簡単な操作ができる方で募集されてり場合そのレベルに達するまで毎日4時間練習したとして何ヶ月くらいかかりますか?
>>52 その会社の最低限がどの位から知らないが、1時間も練習すればOK
>>52 最低限てことなら入門書2冊(WordとExcel各1、バージョンだけ確認して一番安いやつ)ブックオフで買って、
第一章だけ読みながら実際にやってみる。それで十分。
買い物の時間入れて1日で完了。
この時期になるとこういう質問多いよな 会社が必要とするレベルは会社によって違うなんて当たり前のことすら 解らない奴を採ってしまった会社が気の毒でならない 知識の不足ではなく根本的に頭の回転が悪いタイプだから 鍛えてもどうせ使い物にならないだろうし、ほんとご愁傷様だ
想像や妄想なんて書く必要ないのに、それもわからないのは根本的に頭の回(r ほんとご愁傷様
>56 俺は>55に同意するけどな。 テンプレにもあるだろ・・・と思ってテンプレ見直したら、 >・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。 なんだ?「紹介以来はスレ以外」ってw
手持ちのログさかのぼったら64からこうなってるのねw
単に依頼の誤変換だろ
以外じゃなくて違いもな
常識のない人間を研修で使えるようにするのが面白いんじゃないか。
ぶっちゃけ、最近の新人はマジでひどいよ。
事前に学習する意欲のある
>>52 はかなりマシな方。
という話はスレ違いだからやめろ。
新人よりじじいがひどいって。 さんざん叩かれてもクソ回答続けるやつもいるしな。
今カイシャじゃジジイ叩きが流行ってるのかいな
自分と考えが違う奴を、すぐにジジイとか厨とか言い出す可哀相な子が多いだけ
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 はい・いいえ 【5 検索キーワード 】 オートフィルター だれか2003でオートフィルターからコピペの動作を教えてくれ。 A列から"A"だけフィルタリングして、同じシートのB列にタイトルも含めてコピペするとB列には上から詰めて貼りつく? 2007ではちゃんと詰めて貼りつくが2003はどうでしょう?
>>65 何も特別なことしなくても、ちゃんと詰まって貼り付くよ
67 :
49 :2009/02/28(土) 15:56:05
>>50 >>51 回答ありがとうございます。
マクロは "ALT+F8" で作成し,"ALT+F11"のエディタで編集しました。
質問の仕方が悪かったのですが、
他のPCでエクセルファイルを開くと、マクロが動かなくて困っています。
(自分のパソコンでは正常にマクロが機能しています。)
"ALT+F8"で開いてみると、登録名が変な名前に変わってしまっていたので
保存の方法がおかしいのかなと思った次第です。
VBAの編集の問題の気がしてきたので、本を購入して勉強してみます。
68 :
名無し変更議論中@詳しくは自治スレへ :2009/02/28(土) 16:01:56
69 :
名無し変更議論中@詳しくは自治スレへ :2009/02/28(土) 16:53:47
こんなグラフを作りたいのですが可能でしょうか?
設定
毎月特定の道路の一定箇所において「ひび割れの数」と「その程度(低・悪の2段階)」を調査しています。
そこで、横軸に調査月日、縦軸に調査位置毎の「ひび割れの数」をバブル図で描きました。
このグラフで、調査場所毎の「ひび割れの数」をバブルの大きさで表すことができました。
しかし、このグラフの中には「ひび割れの程度」の情報が入っていません。
そこで、バブル図のバブルの代わりに円グラフをグラフ上にプロットできないかと考えています。
つまり、円グラフで「ひび割れの程度」の割合を表示し、かつ円グラフの大きさがバブル図のように「ひび割れの数」を表すようにしたいのです。
イメージが伝わりにくいと思うのでPPTで完成理想型を作ってみました。
こんな感じにできますでしょうか?
ttp://ttr.from.tv/bbs/up/img/1225284313/393.gif
>>69 グラフの上に円グラフを重ねて、円グラフの背景を透明にする
>69 考え直した方がいいと思うけどな〜と余計なことを言ってみる。
73 :
68 :2009/02/28(土) 18:03:24
>>70 どうも。
グラフの見た目以上に面倒ですね・・・w
表A 商品コード 商品名 数 001 果物 1個 002 お菓子 2個 001 果物 3個 004 雑貨 4個 002 お菓子 5個 008 文房具 3個 ←初めて入力されたコード 004 雑貨 2個 表Aに出たコードの商品名を別表に列記する関数はありますか? 表Aに毎日いろいろな種類のコードを入力していき、今までなかったコードが書かれたら 表Bに加えるように出来るでしょうか?。 100種類ぐらいある分類から、表Aに何が何回出てきたのかを別表で知りたいです。 100種類のデータベースは用意してあります。 表B コード 商品名 001 果物 002 お菓子 004 雑貨 008 文房具 ←自動的に加わる
ピボットテーブルで
>>69 理想型通りとはいきませんがピボットグラフを試してみてください。
正しい方法が身につきますよ。
77 :
65 :2009/02/28(土) 18:57:44
>>66 トン
やっぱそうだよね。
どっかにうまくいかないような書き込みがあったもんで違うのかと思ったよ。
78 :
69 :2009/02/28(土) 21:53:24
>>71 様
どうもです。
円グラフを一つずつ作成はできるのですが、円グラフの大きさをうまく設定できないのです。
総数10と30があった場合に、円グラフの大きさを3倍にするのが容易ではないこと、
またデータが多数あること、他の場合に応用が利きにくいことなどから困難だと考えております。
やはりそういう方法しかないでしょうか?
>>76 様
ピボットグラフはあまり使ったことないのですが、バブル図は作成できないように思うのですが、どういう方法がよいでしょうか?
レスいただいた方ありがとうございます。
>>78 円グラフの直径はVBAを使えばピクセル単位で指定可能
81 :
名無し変更議論中@詳しくは自治スレへ :2009/02/28(土) 22:38:05
エクセル2003、OS:XP エクセルでセルを1つ選択してる状態で「右クリック→セルの書式設定」で、 そのセルに書かれてる単語を均等割り付けをしようとすると、 「インデント」という風に書かれていて、数字を大きく設定すると幅が狭まり、 逆に小さく設定すると、幅が広がります。 これはどのような基準で数字に対応して広さが決まるのでしょうか? また、ワードのように文字数やmmで指定することはできないのでしょうか?
>>80 できるからといってやっちゃうのがVBA厨。
中途半端な個性はブサイクなのだ。
>>81 この場合のインデントは、数字を1増やすごとに幅11ポイントの余白が左右に追加されていきます。
この分を差し引いた残りが単語間で等分されます。
Excelではインデントの段階を変更する方法はありません。
余白を微調整したい場合は半角スペースを並べ、さらにスペースのサイズを変えるしかありません。
86 :
81 :2009/03/01(日) 00:14:24
>>83 d
やっぱワードと同じようにはできないのね。
はじめて事務職についたんだけどワードはどうでもいいけどエクセルは完璧に使えるようになった方がいいと言われた。 とはいったもののどこまでやればいいのかがよくわからないんだよね自分の場合。やっぱ学習ソフトとか買ってやった方がいいのかな?
88 :
名無し変更議論中@詳しくは自治スレへ :2009/03/01(日) 10:34:01
会社によって「使えるように」のレベルが全然違うからなんとも言えないな。 なれないヤツでも2,3ヶ月ヘルプ見ながら使いまくると自然と覚えるけど、、 チンケな上司だと その2,3ヶ月間 嫌味を言って自分のストレス発散に使ったりするぞ
MOSの教科書でも一通り読んでおけばいいんじゃね? あとは職場に合わせた使い方になるだろうから、そこは教えてもらうしか無いさ
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 97
【3 VBAが使えるか .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード 】 Excel ウイルスバスター 設定の変更
先月ウイルスバスター2009をインストールしました。
今日、何年も開いていなかったエクセルファイルを開いたのですが、
ウイルスバスターのポップウインドウが出ました。
http://kissho.xii.jp/1/src/1jyou66738.png エクセルがIEの設定を変更しようとしているらしいのですが、
原因や直し方が分かりません。
エクセルにはそういう仕様があるのですか?
メニューバーの一部が非表示になってしまったんだけど、どうやって戻したら ええんじゃろか?
つgoogle
テンプレ使ってたらもう少し丁寧な回答が得られただろうにねw
94 :
名無し変更議論中@詳しくは自治スレへ :2009/03/02(月) 23:49:05
excel2007 vista vba=ok vba回答=ok 検索ワード=「enable macros」「信頼できる」「パスワードの設定」他多数 質問 読み込みのパスワード設定と信頼できるフォルダー設定とが両立した状態に どうやったらできますか。 パスワードを設定した場合、どうしても、信頼できる場所にあるマクロを有効な状態に できていないので、聞きました。
【1 OSの種類 .】 Mac OS X(10.3.9)
【2 Excelのバージョン 】 Excel(11.3.3 Office for Mac2004)
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】
↓この辺や本で色々と・・・。
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html 以前名前の表示変更でVLOOKUP教えてもらった者です。
あれ以来他のDB作成でもVLOOKUPが目茶苦茶重宝しています(前回項目を伝票番号で引っ張るとか)。
その節はありがとうございました。
今回も同じような内容なんですが・・・。
csv用意しましたので見てやって下さい。
http://kissho.xii.jp/1/src/1jyou66978.csv.html A列には入稿データがあり、F列には手打ちで作った「名字データベース」があります。
B列には関数で「F列の名字を検索し、それに引っ掛かったら、A列の名字と名前がスペースで区切ったものを表示」というものを作りたいんですが、これって関数のみで出来ますでしょうか?
1セルで出来るとは思っていないので、C列とD列で名字・名前を分けた後CONCATENATE等で合体させる(空白1文字間にはさんで)とかでもいいんですけど・・・。
また、名字データベースの中で引っ掛からなかったセルの色を「条件付き書式」で変えるといった事は可能でしょうか?
色々質問を詰め込んでしまいすいませんが、よろしくお願いします。
96 :
名無し変更議論中@詳しくは自治スレへ :2009/03/03(火) 17:07:02
A1セルに「=B1+C1」という数式を入れています。 D1セルに「=B1+C1」という数式を簡単にコピーする方法はありませんか? 普通にコピーすると「=E1+F1」になってしまいます。
97 :
名無し変更議論中@詳しくは自治スレへ :2009/03/03(火) 17:12:01
A1セルに「=C1/D1」 A2セルに「=C2/D2」 〜 A100セルに「=C100/D100」 が入っています。 A1からA100セルの「C」の文字を「F」に一気に変える方法を教えてください。
>>97 範囲選択して置換
文字列の置換は数式の中のセル名や関数名などにも適用される
>>96 いつでもそのままコピペできるようにするには絶対参照で式を作っておく
1回だけなら数式バーの中でコピペ
100 :
名無し変更議論中@詳しくは自治スレへ :2009/03/03(火) 20:13:14
>>95 森本 強 なのか 森 本強
なのか、人間なら一発で分かるがコンピュータはそういうのがかなり苦手なので、実質無理
webエンジンなんかだと森本 強のほうが森 本強より多いとデータベースから判断するらしい
では、実用的な解決策
B2=LEFT(A2,C2)&" "&RIGHT(A2,LEN(A2)-C2)
C2以降に苗字の字数を入れる
スペースは半角なので全角がよければ直してくれ
あとCONCATENATEより&の方が早いと思う。どっちでもいいけどね。
>>95 うーむ・・・なかなかすぐには解法を思いつかないけれど
森田、森本、森・・・これらをどうやって区別するかが肝かもしれない
ひっかからなかったのを条件付書式っていう件は
ひっかからなかった時にエラーになるような計算式であれば条件ISERRORでOK
その計算式がIFだったりしたらFAILEDの返り値でも判断させればいいかも
102 :
名無し変更議論中@詳しくは自治スレへ :2009/03/03(火) 20:20:03
>>101 データベースに森田がなかったとしても、森といれればどうやってもひっかかってしまう
無理なものは無理
103 :
101 :2009/03/03(火) 20:44:10
>>102 無理で簡単にあきらめたら終わってしまう
そこをどうするか考えるのが「工夫」というものさ
たとえばE列に1から順に数字を振って昇順・降順という順番を作り出す
そうすれば先に森田で調べて、森田でなければ森本で調べ、そうでなければ森にする・・・
ようなことが可能になったりはしないだろうか?
もちろんVBAなんかには頼らない
森 田津雄 とか森 本子がいたらどうすんだ?
105 :
名無し変更議論中@詳しくは自治スレへ :2009/03/03(火) 21:08:27
>>103 だから無理だって・・
それに検索エンジンがどーちゃら書いたけど
>>104 みたいな例だと間違いなく森田 津雄になるしな
>>100 の後半で実務上は最適解だと自分でも思う。ある程度のセンスがあればこの問題は解けないと判断できるよ
それまで君もガンバレ
ここまでに提示された条件では自動でやるのは不可能。 候補が複数あった場合は色を付けるとか選択フォームを表示するとか、 人間が介入しやすくなるような工夫をするしかない。 もう少し処理の目的とか、データの全容を見ないことには。
データ目の前にあるだろアホか
>>95 まず「名字のデータベース」をH列にうつす。
で、以下のように数式と条件付書式を設定する。
A列の書式設定・・・数式が[=D2=""]の場合、セルの色を変える
B列 =IF(ISERROR(VLOOKUP(LEFT($A2,1),H:H,1,FALSE)),"",LEFT($A2,1))
C列 =IF(ISERROR(VLOOKUP(LEFT($A2,2),H:H,1,FALSE)),"",LEFT($A2,2))
D列 =CONCATENATE(B2,C2)
E列 =SUBSTITUTE(A2,D2,"")
F列 =CONCATENATE(D2," ",E2)
F列の書式設定・・・数式が[=LEN(A2)+1<>LEN(F2)]の場合、セルの色を変える
これで、名字データベースに引っ掛からなかった入稿データはA列に色が付き、
複数の名字に引っ掛かった入稿データはF列に色が付く。
F列に色が付いたときは、B・C列のうち、間違った名字を消せばOK(ここは手作業orz)
ただし、サンプルの例で仮に「森下かおる」という入稿データがあった場合、
「森 下かおる」になってどこにも色が着かないという弊害が…。
しかし人名の性質上これはどうしようもない。
いやなら最初から姓名分別しとけって話。
なお、上記の数式設定は「名字データベース」が2文字以下の名字で構成されている場合のみ有効です♪
3文字以上の名字が含まれている場合には、D列で左3文字取り出して、E列で左4文字取り出して…
ってわかるよね?w
どうかな?
109 :
108 :2009/03/03(火) 23:38:20
あと肝心なことを忘れてた。 H列はもちろん昇順で並び替え。
110 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 00:03:55
>>108 >いやなら最初から姓名分別しとけって話。
だから姓名分別するためにどうすればいいかって話なんだろ。そしてここが焦点でこれを解決できないならなにもできないのと同じ
>>107 これが全容?
たった10件もないんなら手作業で修正して終わり
考える前に終わってる
名字の辞書があるなら最長一致で並べ替えてmatchでいけないかな?
113 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 00:28:24
115 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 01:01:44
小沢さんの秘書が捕まったってさ
116 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 04:55:18
A1セルに「=C1+D1」 A3セルに「=C3+D3」 〜 A999セルに「=C999+D999」 と1行おきに数式を入れています。 E1セルに「=A1」 E2セルに「=A3」 E3セルに「=A5」 E4セルに「=A7」 〜 と入れたいときに、一気にやる方法はありませんか?
>>116 一気じゃなくて3気ぐらいかかる方法なら…
E1に「A1」
E2に「A3」
と入れてオートフィル。最後に「A」を「=A」に置換。
最初の「=C1+D1」の場合はこの手が使えないから、文字列で数式を生成して値貼り付け。
あるいは数式を工夫して同じ結果が出るようにする。
A1=OFFSET(A1,ROW()-1,2)+OFFSET(A1,ROW()-1,3)
ごめん 質問よく読んでなかった 後半は忘れて
119 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 06:13:30
120 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 07:58:50
,r‐' ,l゙ l゙ .l゙_,,-.,〆| 、、 i、 | ._レ-''|゛ .| | イ'゙゙,! .し--、 ,、.,‐/ ,、 ,.| |′| |.'゙゙゙゙',! : ′ ‐'^.| │ | | .l゙ ._.| .| ._,.| .,/ ,i´.゙l、 .,/ イ,,,二,,,,=―丶゙|゙'''ー″ i_x" |'"l゙ .|'',,,,|、| .″| .ノ ,l゙ .-―彳 .| .,! 5''―ーi、 | i,, | _ | .| .| 、 `゙''‐ノ ./ .,l゙ .,! .''''゙l゚”′ |.,,,,,,,,、| |,,,,,―'″.レ‐l゙ .| .,!¬'',! / .,l゙| 、 l゙―ー ,,,,,广 ._,、 .[` `.l゙ `゙゙゙゛ , ,| .l゙ .| l゙'''''' | ,! ./,| .jヽl,,,,,,,,,,,-. ,,,li厂゙^ |゙''''ー / ,‐ .ト " l゙ ." 、,,_ ".l゙ .l゙ l゙ '"` .|'-、 .,″_,,,,,l′ / l゙ ′ | ‘'- `"゛、 ` l゙ .,,i´ ヽ ゙l 、 .゙l │ ''――‐,!''" ヽ、 ._. | ,/` `'-- .,/` .| ,l゙ | / │ | l゙ ,/ | \、. ,,,,,,__,,,l" { ,、 `''''''′ 〜--―¬''''"
121 :
95 :2009/03/04(水) 09:07:03
すいません、帰ったら自宅が規制されててレスできませんでしたorz
早速のレスありがとうございます!
で、すいません、質問文考えるので頭いっぱいで「森」等1文字のものについて言及するの忘れました。
皆さんお気付きのように名字は大抵2文字ですが、1文字や3文字のもあり、特に「森」「金」「東」あたりが結構困りどころだったりします。
何はともあれ、計算で全ての名前をやろうとは考えておりませんでした。
件数が多いため、なるべく自動化できる部分は自動化させ、手動でやらねばならない部分に関しては発見をしやすくする方向で考えておりました。
実質的に
>>100 で書かれた書式で分けた後、データベースにない場合セル色を変える・・・といった処理が良いかと思いましたが、
>>108 で何やら凄いのを考えていただけたようで・・・。
これならデータベースが増えれば増えるほど判定の確率が上がるし、D〜F内で大体おかしい奴も拾えそうなので、かなり使えます!
試しに今実際に使う5000件ほどの名前を抜粋して入れてみましたが、相当楽になりそうです。
ありがとうございます!!
122 :
95 :2009/03/04(水) 09:07:52
>>106 ,111
某官公庁の下請け(パート)なんです。
全国から集まってくるデータなんですが、集計の入り口できっちり書式を固定化できていないため、データを整形して送り返すという・・・。
ちなみにデータは一事業所から数万件分のものが入って来ており、手作業でやるのはとても大変なんです。
今まで紙ベースでやっていた作業(未だにこれがメインですが)を「若い人がいるし」という分けの分からない理由でパソコン導入され、デジタルも扱うようになり、パート達で無理矢理動かしている現状です。
123 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 09:26:58
日本終わり過ぎてるなこりゃw
124 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 09:45:55
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 フィルタオプション ハイパーリンク 摘出前のデータにハイパーリンクをファイル指定で設定しているのですが フィルタオプションで<指定した範囲>で別シート(同シート)に 摘出した時そのハイパーリンクが無くなってしまいます これはどうにもならないのでしょうか? 摘出後にマクロでファイルをハイパーリンクさせてもいいと思ったのですが フォルダが複数に分かれているため完全にリンクを張りなおす事が 困難になりました なおデータ数は50000近くあります
作業列にリンク先を文字列として入れておくのがわかりやすくて現実的かなあ。 リンク先がわかってればマクロで再設定も簡単にできるし。 あと × 摘出(てきしゅつ) ○ 抽出(ちゅうしゅつ)
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可能であればなしで 【5 検索キーワード 】 集計 UNIQUE UNIQ SORT 名前,増減 りんご,5 みかん,7 りんご,-1 なし,1 というような表があって、「りんご」「みかん」「なし」を順不同で抽出し入力規則のドロップダウンに設定したいのですが 入力規則に$A$1:$A$1500と入れると、 「名前」「りんご」「みかん」「りんご」「」「」「」・・・ となってしまいます。SORTやUNIQが無いので入力規則の制限ができないのですが、何かいい方法はないでしょうか?
>>126 ユニークな一覧が欲しいなら作業列にコピペして「重複の削除」
>>127 ありがとうございます。
126に書き忘れたのですが、表の要素は順次増えていくので
できれば自動で行いたいと考えています。
129 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 13:22:36
>>125 ありがとうございます
それで挑戦してみます
【1 OSの種類 .】 Windows Vista SP1 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 条件付 書式ルール 星 など あるセルに1〜5まで数字がありまして、 その内容に応じてそのセルに★(文字です)を並べたいと考えています。 1と入力すると表示は、★☆☆☆☆ 5と入力すると表示は、★★★★★ といった感じです。 条件付書式のプリセットに5段階のアイコンもあったのですが、どうも見づらく感じています。 条件付書式を使う、まではわかるのですが、 どう設定すると実現できるものでしょうか?
>130 つLEFT
>>128 データの追加に従って全自動でリストを書き換えていきたいならVBA
>>130 「指定の値を含むセルだけを書式設定」で範囲を「=1」から「=1」にして書式のユーザー定義で「★☆☆☆☆」
これをルールの追加で0〜5の6種類入れる。
ところで作業列使うのじゃダメ?複雑な条件付き書式は入力も修正も大変だよ。
=MID("★★★★★☆☆☆☆☆",6-A1,5)
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 否 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字列 シャッフル 「あいうえお」というセルの文字の並びをシャッフルして、例えば「えあういお」などにすることは可能でしょうか。 可能ならばそのやり方をよろしくお願いします。
135 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 19:42:49
>>130 こういう時ぐらいREPT関数を使ってあげてください・・
=REPT("★",A1)&REPT("☆",5-A1)
俺からの・・最後のお願いです・・どうか・・使ってあげてください・・
>>134 RAND関数を設定したセルを5つ用意する。
その5つのセルをランク関数で順位づける。
その順位を引数としたCHOOSE関数
=CHOOSE([順位のセル参照],"あ","い","う","え","お")を5つ作って、
これの結果をCONCATENATEすれば出来上がり♪
F9で乱数が更新される!
あ、CHOOSE関数は下記に変更…w A1に「あいうえお」などの5文字が入っているとして、 =CHOOSE([順位のセル参照],LEFT($A$1,1),MID($A$1,2,1),MID($A$1,3,1),MID($A$1,4,1),RIGHT($A$1,1))
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 株 損益 グラフ 株の取引ごとの、日付、損益が記載されたエクセルデータがあるのですが、 営業日ベース、週ベース、月ベースでの損益グラフを作りたいと思っています。 やりたいことははっきりしているのですが、式が書けません。 1.列:日付で同じ日付、同じ週、同じ月で損益金額をSUMする 2.計算結果をメモリ付きでグラフにする。 時間帯ごとの損益縦棒グラフも作りたいのですが、上記の計算の仕方を教えていただければ自分でできそうです。 当方グラフもまともに作ったことがありません。 よろしければご教授お願いします。
139 :
名無し変更議論中@詳しくは自治スレへ :2009/03/04(水) 23:03:30
>>138 ピボットグラフ
もはやこれ以上言いようが無い。
とりあえず最低限の棒グラフぐらいは作れるようになっとけ
後はぐぐれ
140 :
138 :2009/03/04(水) 23:20:21
ありがとうございます! 便利なものがありますね。
142 :
名無し変更議論中@詳しくは自治スレへ :2009/03/05(木) 00:27:29
>>141 VBAを使えば出来る
としか
そのエクセルファイルヲアップロードすれば一発で解決するでしょう
【1 OSの種類 .】 WindowXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXECL 電源 エクセルを使って毎朝8時にPCの電源をONにし 毎晩20時にPCの電源をOFFにするようなことはできますか? できれば外部機器は使わない方向でお願いします
ネタとしか思えないけど、一応真面目に答えておくか
>>143 出来ない
>>143 ただしVBA使えば電源OFFだけはできる
VBA有りでM/Bが対応していれば電源ONも出来るよ しかしVBA不可である以上、回答としてはどちらも出来ないとなる
147 :
130 :2009/03/05(木) 10:39:51
ありがとうございます。
>>131 >>133 >>135 作業列増やすのは最終手段にしたいなあと思ってました。
確かに一番簡単な方法ではありますね。
>>133 ああ!書籍のユーザー定義で文字列をいれてしまえばいいのか。やってみます。
【1 OSの種類 .】 WindowXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 文字 置換 関数使用して、セル内の文字を別途指定した文字に置換する事は可能でしょうか? 具体的にはA列に社名、B列に住所、F列に検索対象、G列に置換対象が、 検索対象→F1(株)、F2(有)、F3−、F4―、F5ー、・・・等 (株や有は外字、以下ハイフン、ダッシュ、のばし棒?) 置換対象→G1(株)、G2(有)、G3-、G4-、G5-、・・・等 (株や有は全角文字、以下半角の-) このように入っており、C列、D列にそれぞれ置換後の社名・住所が入るようにし、置換がなかった場合はA列・B列の内容をそのままを表示したいんですが。 よろしくお願いします。
>>148 SUBSTITUTE関数でいけんじゃね?
150 :
148 :2009/03/05(木) 13:16:26
>>149 なんとなく
SUBSTITUTE(A2,VLOOKUP(A2,$F$2:G20,2,0),,,,,
こんな感じかと思ってやってみたんですが、途中で混乱しました・・・('A`)
151 :
148 :2009/03/05(木) 13:27:48
SUBSTITUTEのネストは7段までだから、作業列をいくつも使って順に置換するしかないな。 こういうのはVBAの定番ネタなんだが。 CSVで保存して別のソフトで一括置換するって手もある。
153 :
148 :2009/03/05(木) 14:10:39
>>152 ネスト・・・ググってみましたが、「関数の中に入れる関数」って事でいいんでしょうかね?
>作業列をいくつも使って順に置換
つまりはサンプルの住所の例で言うと、
D列→B列の内容を「−(全角ハイフン)」で検索し「-(半角ハイフン)」に置換
E列→D列の内容を「―(ダッシュ)」で検索し「-(半角ハイフン)」に置換
F列→E列の内容を「ー(のばし棒)」で検索し「-(半角ハイフン)」に置換
・
・
・
と検索対象DBの中身をひとつづつ検索・置換で引っかけて最終的に答えが出る感じでしょうか?
つまり、ひとつのセルで検索・置換するのは不可能?
別ソフトに関してはシステム部の用意したソフト以外インストールできないんです・・・('A`)
>>153 置換前・置換後のペアが7組までなら1セルで置換できる
14組までなら2セル、21組までなら3セル必要
155 :
148 :2009/03/05(木) 15:52:18
>>154 ありがとうございます。
どちらにせよ検索キーが多くなればなるほどセル数増やさないとダメなんですね・・・。
IFとか他の関数とかを使って、 そのSUBSTITUTE7組制限をもうちょっと突破とかできんものかね?
158 :
名無し変更議論中@詳しくは自治スレへ :2009/03/05(木) 19:53:25
お前らなにやってるんだ?
>>148 なんて
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"","(株)"),"","(有)"),"−","-"),"―","-"),"ー","-"),"",""),"","")
でいいだろ
↑の式をまだ置き換えたい場合、E2に入ってるとして
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"",""),"",""),"",""),"",""),"",""),"",""),"","")
で前の""に置換させたい文字列「ー」、後の""の中に「-」いれればできる
見た目は最悪だがなw
【1 OSの種類 .】 Windows Xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 金額 振り分け 質問です。 ・Sheet1に従業員名とその人物の給与額が羅列されている状態 ・Sheet2のセルには、その従業員に対し各部署別に設けられているコストを適用させた金額を出力させたい ・部署数は全部で3部署、1部署毎のコスト比率は指定されている(A部なら0.3、B部署なら0.4と言った具合) ・名前と社員番号が別ファイルで管理されている。 上記の条件で、 "社員番号を入力したら、その人物のコストを適用させた給与額がSheet2のセルに出力されるようにしたい" したいのですが、どうしたら良いのでしょうか。。。 IF文あたりを使えばなんとかなりそうだと考えているのですが、さっぱり分かりません。。。 どなたかお知恵を貸していただければ幸いです。
>>159 ナナメ読みしたところ
シート1にたとえば 01|青島|100万円|湾岸署 とかあって
そして湾岸署だとコストとして給料10%天引きとかになってた場合に
シート2で01と入れると90万円と表示される感じ?
161 :
名無しさん@お腹いっぱい。 :2009/03/05(木) 21:21:32
ms office excell について質問があります。 例えば、 全都道府県名一覧表から、九州地方の県名だけを選択して、 パターン(塗りつぶし)でセルの色を変える。 様なことを関数で出来ますか? 仕事で使っているんですが自動で出来るようにしたいんですお願いします。 ちなみに、都道府県名は実は、関係なくて応用したいのですが、元になる関数が分からないので、 例題でいいので作ってください。お願いします。 OSは、xpsp3EXCEL2003です。
>>160 そうです!
イメージを書くと、
Sheet1
001|青島|300,000
002|赤島|200,000
003|黒島|100,000
Sheet2
(001と入力する)|湾岸署|100,000
|台場署|150,000
|豊洲署|50,000
↑ここに署ごとのコストを適用させた金額が表示される
(以下、002も同様)
みたいな感じです。
給与計算で膨大な社員がいるため、社員番号を入力するだけで
部署のコストを適用させた金額を出力させるようにしたいのです。。。
>>160 すいません、ズレてしまいましたが、
金額を表示させたいのは署の名前の下ではなく、
金額部分です。失礼しました。
>>162 その例のままだとすると
シート2で仮に001と入力するところをA1セルとして
B1に湾岸署、B2に台場署、B3に豊洲署とした場合
C1には=VLOOKUP($A$1,シート1!A:C,3,FALSE)/3
C2には=VLOOKUP($A$1,シート1!A:C,3,FALSE)/2
C3には=VLOOKUP($A$1,シート1!A:C,3,FALSE)/6
とかでできるかも
>>165 なるほど、もとの数値に対する比率を求める式を作成すればいいわけですね!
ありがとうございます。
明日会社で試してみます!
【1 OSの種類 .】 Windows Vista SP1 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 補完 タブ Tab エンター ENTER など すごく、無茶な質問を承知でお聞きいたします。 Excel上やVBAエディタ上では、補完候補の決定がタブになっているのですが、 他の開発環境のクセでエンターを間違えておして毎回イライラしてしまいます。 間違えないようにする方法、もしくは、タブではなくエンターで決定する方法はありませんでしょうか?
キー操作拡張ツールでも使えばいいさ 単純なキー置換じゃ他で不都合出るけど AutoHotkeyみたいに対象コントロールを指定できる物なら問題ない 因みにツールの使い方はスレ違いなのでここでは聞くな
169 :
名無しさん@お腹いっぱい。 :2009/03/06(金) 17:01:54
>>164そうですね、やはり条件付書式でしたか? ちなみに関数を検索した結果 LOOKUP 関数を条件付き書式の条件に組み込めば何とかなりそうですが、 私の頭では無理でした。 ちなみに条件付き書式では、条件を満たすセルの文字の色と塗り潰し が色づけできます。 161のをもっと具体的に言うと 例えば大阪府の全DoCoMoショップの店員の個人別売り上げベスト500人 ( 支店名付き)のデータ表から 大阪市内の支店名だけ選んでセルを色付け したいのです。 条件付書式では、数値以下か 以上、より小さい、大きいぐらいしか 出来ないので、やりたい複数を同時に色つけは、 いくつも条件付書式を設定するしかないのでしょうか? 長くなりましたがお願いします。
>>167 基本的にTabやEnterを使うのが間違いなんじゃ…
仮に、
Sheet1.Range("A1").BorderAround xlThick
を打つとすると、
sheet1.r("A1").b[Space][Ctrl+Space]xlth[Enter]
が、インテリセンスの正しい使い方じゃないかな?
>>168 条件付書式の条件はセルの値だけでなく数式も使える
>>169 条件付き書式の設定ウィンドウで「数式が」を選んでから
「=AND(A1="大阪府",B1<=500)」という式を入れれば、
A列が大阪でB列が500以下の時に色が付く。
>>168 AutoHotKey使いなんですけど、イマイチやり方わからんなあ。
専用スレ行ってきます
>>170 kwsk
後者の正しい使い方がわからない
>>173 sheet1.r
まで入力すると、インテリセンスで
Range
が、出てくるでしょ?
そこで、
(
を打ち込めば、
sheet1.Range(
まで入力される。続けて、
"A1").b
を打ち込めば、
BorderAround
が、インテリセンスに出てくるから、そこでSpaceキーを押す
sheet1.Range("A1").BorderAround ←最後にスペースまで入力されてる
Ctrl+Spaceキーを押すともう一度インテリセンスが表示されるので、
xlth
まで打つと
xlThick
がインテリセンスで選択されるので、Enterキーを押すと
Sheet1.Range("A1").BorderAround xlThick
まで打ち終わり、改行される
要するに確定なんて必要ないから続けて打ち込んでいけってこと
【1 OSの種類 .】 WindowXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ワイルドカード 条件付き書式 条件付き書式の条件に 『足し算の式を含むセル』(SUMではなく=A+Bというような単純な式のみ) を指定したいのですが、可能でしょうか? もし可能でしたら教えていただきたいのですが。 初心者なうえに説明下手ですみません。よろしくお願いします。
177 :
名無し変更議論中@詳しくは自治スレへ :2009/03/07(土) 14:28:32
>>176 無理です
2003以前は正負、ゼロ、文字列の4種類しか判別できません
>>177 やっぱりそうですか……。
答えていただきありがとうございました。
179はどんぴしゃ回答ではなくて、応用が必要だけどね。
181 :
名無し変更議論中@詳しくは自治スレへ :2009/03/07(土) 17:27:09
>>171 .172
どうもありがとうございました、応用が必要ですが、やってみます。
182 :
169 :2009/03/07(土) 18:39:13
161.169です、たびたびすみません。どうやら、説明が不足していたようで、 これも例ですが、例えば、関東地方の地区別の名簿があったとして東京23区内のデータ だけ自動で色づけしたいのですが、実際は23ではなく50近く種類があるため、 色付けが煩雑になっています、しかも名前が似ているし店名が多いもので、困難しています。 マクロが必要でしょうか? 因みに、所属地域だけ色づけ出来れば、大分手間が省けるのでそれだけでOKです。 お願いします。何度もすみません。 | |A | B | C | D | E | |1| |平成20年度関東地方携帯電話売上げ貴人別成績(上位500) |2| | 所属 |氏名 |売上げ件数|売上げ累計 | |3|1 |新宿区 |浜田 | 50 |356589| |4|2 |渋谷区 |松本 | 51 |325965| |5|3 |品川区 |今田 | 47 |289405| |6|4 |横浜市 |東野 | 49 |283084| |7|5 |川越市 |蔵野 | 43 |274395| |8|6 |さいたま市|板尾 | 44 | | |9|7 | ・ | ・ | ・ | ・ | | |8 | ・ | ・ | ・ | ・ | | |500|川崎市 |大悟 | ・ | ・ | b |東京都23区名| |新宿区 | |荒川区 | |品川区 | |渋谷区 | |千代田区 |
>>179 化石みたいなExcel4マクロの紹介なんかやめなよ。
今ならみんなVBA使うんだし。
VBAが否なら出来ないとの回答でよい。
184 :
名無し変更議論中@詳しくは自治スレへ :2009/03/07(土) 19:04:24
ぶっちゃけ50色って・・・完全に塗り分けても見間違いしてしまうんじゃ・・・ というか色のコードって49までだっけ?
>>183 好きに応えなよw
質問者が選択すればいい。
>>182 例えば、bの表がSheet2のA列にあるなら
成績表のB列の条件付き書式を、
[数式が][=VLOOKUP(B3,Sheet2!$A:$A,1,FALSE)=B3]
としてセルに色をつければどうかな?
188 :
187 :2009/03/07(土) 20:19:31
ちなみに、[=VLOOKUP($B3,Sheet2!$A:$A,1,FALSE)=$B3]として 同じ条件付き書式をA,C,D,E列にコピーすると、横一列が同時に色づけできるよ。
やろうとしていることが間違ってるっていう指摘はしちゃいけないのかな?
むしろしたほうがいい。
いや、
>>169 は、50ある支店をそれぞれ別の色で色分けしたいとは書いてないじゃん?
23区内と一言で言っても対象店舗が50近くあるから色付けが猥雑になる、と言ってるだけで。
実際の作業を想像してごらんよ。
何が作業のネックになるかを想像できるようになれば、質問者の意図するところも自ずと見当が付くよ。
経験が乏しいと難しいけどね。
そもそも条件付き書式は3パターンしか登録できないし。
193 :
名無し変更議論中@詳しくは自治スレへ :2009/03/07(土) 21:36:26
色をつける事自体が仕事なのかそこから何かするかで大きく変わる
194 :
94 :2009/03/07(土) 23:49:34
>>94 を修正して再質問掲上。回答求む。:2009/03/02(月) 23:49:05
excel2007 xlsmモード vista vba=ok vba回答=ok
検索ワード=「enable macros」「信頼できる」「パスワードの設定」他多数
質問 読み込みのパスワード設定と信頼できるフォルダー設定とが両立した状態に
どうやったらできますか。
パスワードを設定した場合、どうしても、信頼できる場所にあるマクロを有効な状態に
できません。おそらく、vbaでしか対処できないと思う。
195 :
94 :2009/03/08(日) 00:03:42
>>173 横レスだけど
「化石みたいなExcel4マクロ」との固定概念は、むしろ、捨てた方がいい。
2007でのマクロの記録では時々、それが出てくる。
2003では出なかった場面でのマクロにね。
今ではもう、復活しているといった方がいい。
>>194 よくわからないんだけど、パスワードを設定すると
必ずマクロが無効な状態でファイルが開かれるってこと?
198 :
94 :2009/03/08(日) 00:38:44
>>197 そうです。
パスワードを設定すると、信頼できるフォルダーにある*.xlsmファイルが、警告もなく
必ず、マクロ無効な状態にしてファイルが開かれます。マクロ有効にする機会がありません。
2003や、2007の2003互換モードではパスワード設定でかつ、マクロ有効で、直接開くことが
できていました。
>>196 サンクス。参考にして、ゆっくりやってみます。
200 :
94 :2009/03/08(日) 01:05:36
で?とは?
>>201 「捨てた方かいい」
という明確な意見表明に対してみっともない。
姑息な掲示板テクニックなど使わず堂々と反論すればいいのに。
できると思ってんのかクソが
******************** EXCELヲタ徘徊注意報 ******************** マニアの自己満足レスが 頻発しております。 相談者の方は警報が解除 されすまで今しばらくお待 ちいただくようお願いします。 ******************** EXCELヲタ徘徊注意報 ********************
******************** EXCELヲタ徘徊注意報解除 ******************** 只今、注意報が解除されました。 ******************** EXCELヲタ徘徊注意報解除 ********************
207 :
名無し変更議論中@詳しくは自治スレへ :2009/03/08(日) 16:41:30
今はhddも大容量だし〜 CPUも高速だし〜 メモリも大容量で〜 という理由で捨てきれないマイクロソフトちゃん 実際、地方の現場のことを考えると機能をきらずに置いておくのもいいとも思う。 神経質な連中からすれば低機能であればあるほどいいのは間違い名い。俺もそう思う ただな、妄想してみてくれ 離島でタバコ屋を営む老夫婦 たった一人の息子は難病で早くに往ってしまった ただ一つ残してくれたのがこのマクロ4.0 昔からpcを触っていてやっと覚えたのがこれだった そのおかげで節税も出来たし、老後も無理なくすごすことが出来た そのマクロが無理なバージョンアツプで突然使えなくなったらどうする!? どうでもいいよな まぁ、なんにしろ新規の連中が使うべき機能ではない 使ってる連中がいなくなったらとっとと消したい機能であることは間違いない
VLOOKUPの=VLOOKUP(A100,データ1!C34:E36,3,0)これをオートフィルしたらA100のところだけじゃなくて C34とかE36のとこまで数値がスライドしてくんだがどうしたらですか?
>209 つ$
>>208 C34:E3が相対参照になってるからだよ。
絶対参照にすればOK
211 :
208 :2009/03/08(日) 19:39:34
うおおおおおお解決したああサンクス!
212 :
名無し変更議論中@詳しくは自治スレへ :2009/03/08(日) 19:58:18
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 少し 3行目、9行目、15行目、21行目……(最下部まで) 選択してコピー、新しいシートに貼り付け するにはどうしたらよいでしょうか。 お知恵をお貸し下さい。
作業列を作って1−6の数字を入れる 1行目4 2行目5 3行目6 4行目1 5行目2 6行目3 7行目4・・・ で、フィルタで作業列が6のものだけを抽出・・・ってのはどう?
214 :
212 :2009/03/08(日) 20:11:33
>213、どうもありがとうございます。 データ量を省いたシートを作ってグラフ化するのが目的なので、 他の方法があれば希望します。
>>214 データをコピーしたい場所にこの数式を入れてオートフィルで目的のデータが取り出せる
=INDIRECT("Sheet1!A"&(ROW()*6-3))
(元のデータがSheet1のA1から始まってる場合)
216 :
212 :2009/03/09(月) 03:21:05
ありがとうございます。 どうも使いこなせないので、質問を変えます。 3行目を先頭に6行おきに選択して別シートにコピー貼り付けしたいので、 下のマクロを数式を使ってスマートにしたいのですが、 Worksheets("Sheet1").Activate Range("A3,A9,A15, A21, 〜A24003").EntireRow.Select
>>216 コピー先の最初の2行に「A3」「A9」と入れてオートフィル、「A」を「=Sheet1!A」に置換。
VBAでやるなら普通は一気にコピーまで終わらせるもんだ。
どうしてもSelectだけしたければUnionでぐぐれ。
>>212 とびとびのものを選択してコピペはやらない方がいい。
作業列に6行おきに印をつけてフィルタオプションで指定した範囲に抽出すればいい。
実際は作業列は作らなくても出来るけど、作業列の方が楽だろう。
抽出したい先頭の行の作業列に"A"とでも入れて下5行を空白、この6個のセルを選択して右下の
フィルハンドルをダブルクリックすれば6行おきに"A"と印がつくから、これをフィルタオプションで抽出
すれば簡単。
>>215 INDIRECTは特別な理由がないかぎり使っちゃいけない。
=INDEX(Sheet1!A:A,ROW()*6-3)
とできるだろ?
>>217 Unionはあまり良くないね。
間違った情報ばらまくなよ
そうだよなINDIRECTやらUnionやら。
間違ってると言ってるやつが間違ってる件について。
>>214 グラフが目的ならピボットグラフ使えばいい。
作業列作れば簡単。
以前のスレッドで作業列なしでもいけるような書き込み見たような気もするが俺は知らん。
それ自分で言っちゃ世話無いぜ 本人は正しいと思って書いてるんだから、本人が > 間違ってると言ってるやつが間違ってる と思うのは当然だ
悔しかったの?
>>223 前スレで少し足りないとか書かれてたやつかも知らんね。
何で自分の書込にr(ry
ピボットグラフで終了。
>>227 装飾品って何?
>>228 アクセサリー
綴りが少し違うので装飾品って意味じゃないらしいが。
231 :
名無し変更議論中@詳しくは自治スレへ :2009/03/09(月) 10:20:14
君、とか言っちゃってる奴は病院行ってこい 重症だわまじで
2007を使っております。 すごく簡単な質問なんですが excelで関数の初めの何文字かをいれると、それに続く関数を参照してくれる機能かあります。 そのとき、参照で出てきた関数をマウスを使わないで選択することはできますか? e.g. =if IF IFERROR ってなったときに、IFERRORと最後まで打ち込むことなく、またマウスで選択することもなく、キーボードだけで補完 よろしくお願いいたします。
" と改行が入っているセルをコピーしてテキストエディタに貼り付けたときに "a"という内容が""a""になってしまうのですが、これってexcel側で解決することはムリでしょうか? 予め"を使っていない文字列に変換しておいて、貼付後"に戻すとか、 編集状態でコピーするとかは思いついたのですが、根本的な方法ありそうでイマイチ煮え切りません。。
234 :
名無し変更議論中@詳しくは自治スレへ :2009/03/09(月) 12:05:09
初心者なのですが書記になってしまいました。 前任者からのデータをみると ファイル名が「青」色なのです。 私が作ったファイル名は「黒」色なのに、なぜなのでしょう。 見づらいのでファイル名は黒で表示させたいのですが、 どうしたら変更できるのでしょうか? 教えていただけますか?
何の話だ? 日本語でちゃんと書いてくれ
書記になったとか要らんだろw ややこしく書くなや
ファイル右クリック>全般>詳細設定で「内容を圧縮して〜」にチェックが入ってるんだろう ほとんど意味ないよな
ファイル右クリック>プロパティ>全般> 一個抜けた
自分が病人だと分らん奴がいるらしいねw INDIRECTやUnionが良くないのは常識だろ?
>>239 なかば常識みたいなもんだが世の中分ってる人ばっかじゃないからねぇ。
【1 OSの種類 .】 WindowsVista SP1 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 range cell 範囲内 Worksheet_ChangeイベントのTargetレンジ内に任意のセルが含まれるか知りたいのですが、 どのような方法がありますでしょうか?
まぁ知らないやつは結構いるし病人は言いすぎじゃね?
>242 少し足りないってだけだな
246 :
名無し変更議論中@詳しくは自治スレへ :2009/03/09(月) 14:29:28
さすが病人は常人の斜め上の箇所が気になるんだなw 可愛そうに
>>244 ばっちりです、ありがとうございました。
持論に自演で同意するのはみっともないからやめたまえ。
ぶっちゃけINDIRECTやunionなんてまともなやつは使わんよ。 なんで自演ととるのかね。 自分でいつもやってるからだろうな。
図星を突かれて必死で反論
と図星を突かれた
>>250 が何か言ってるが、図星とか図星じゃないは問題じゃないね。
ようは
>>218 が正しいか
>>219 が正しいかだ。
常識のあるやつは分るよ。
本件はピボットグラフで終わってるわけだ。 低ラベルな回答でちょっとスレが汚れたみたいだがな。
253 :
232 :2009/03/09(月) 16:29:20
>>245 長いこと苦労していたので本当に助かりました。
ありがとうございます。
なんで間違いを認めない奴がいるの? 馬鹿なの?死ぬの?
INDIRECTの電波発信してるやつ前からいるじゃん。 生温かく見守ってあげなよ。
使いこなせなくて、変な数式組み上げる馬鹿 使いこなせなくて、使うことを自体を卑下してしまう馬鹿 俺から見れば同レベルだ
ちょっと聞きたいんだけどなんでUnionが良くないの? INDIRECTよりINDEXの方がいいのは知ってる。 揮発性か揮発性じゃないかだからね。
Dim くだらない書き込みフラグ As Boolean くだらない書き込みフラグ = 1 Do While くだらない書き込みフラグ 使いこなせなくて、変な数式組み上げる馬鹿 使いこなせなくて、使うことを自体を卑下してしまう馬鹿 俺から見れば同レベルだ Wend
いまどきWendなんて使うやつは珍しいw
VBAしか知らないやつ乙
WendならWhileだしなw
>>261 Do Wile
Wend
これ言語は何?
上はDo Whileの間違いな。
>>258 Unionは遅いからベンチ厨が嫌ってるだけ
Excelで事足りる程度の仕事を秒単位で短縮してもなぁ
>>263 それは、ハナモゲラ語です
VBAでは、シンタックス・エラーになり申す
程度が知れたな
>>258 >>265 秒単位で済めばいいけどデータが多いと下手すると何時間もかかる。
加速度的に遅くなるからな。
加速度的ってのも変な言い方だが。
set c=cells(1,1)
for i=7 to 60000 step 6
set c=application.union(c,cells(i,1))
next
これでExcelが現在応答なし。
何時間かすればそのうち応答があるかも知らん。
>>257 使おうと思えば使えるが、馬鹿な方法をあえて使うやつはいないよ。
ヒント:二重ループ、分散 まあそれでも6行ステップで60000行だと 5年前のPCで40秒、最新のでも15秒くらいは掛かるが
272 :
名無し変更議論中@詳しくは自治スレへ :2009/03/09(月) 18:02:57
手遅れかw
>>271 15秒で終わる?
>>269 じゃないがVistaで2007だが何分かかっても終わらない。
Core 2 Duo E850だからそこそこのマシンだと思うが。
>>233 根本的に解決する方法はない。
コピーしたいセルが1個か数個なら数式バーなどからコピー。
大量のデータを一括コピーしたいならExcelでコピーしたデータをWordまたはワードパッドに貼り付け、
再びコピー、テキストエディタに貼り付け。
>>274 6万行でかかる時間は、まず1万行でやってみればどのくらいかかるかわかる。
6万行なら1万行の約216倍かかる。
6^3倍ってことな。
278 :
名無し変更議論中@詳しくは自治スレへ :2009/03/09(月) 18:33:43
馬鹿と厨は場所を選ばず自重もできず 実りのあるスレです事
>>278 Unionが馬鹿ってことわかっただけでもいいんじゃね?
>>274 >>269 のコードじゃ終わらない
自前のコードなら
最新:Core i7 965EEで12秒(条件見直したら15秒から更に短縮出来た)
2年もの:Ath64X2 5400+で18秒
5年もの:Pen4 2.4GHzで25秒(同じく40秒から)
>>277 俺のやり方だと当てはまらないな
膨大な場合に最適化してるので、1万行でも約1/10の1.3秒掛かる
>>274 >>271 は多分6000行くらいでやってみて1.5秒くらいだったのでそれ単純に10倍したんじゃない?
本当は6000行の1000倍くらいかかるのにね。
283 :
名無し変更議論中@詳しくは自治スレへ :2009/03/09(月) 18:49:11
これの折れ線グラフをつくりたいのですが、X軸の0〜1の間の数が省略されてしまって うまくいきません。Xの値が0〜1の間不均一なのが原因ですが。どうしたらよいでしょうか? X Y 0.2 0.2 0.4 0.4 0.6 0.6 0.8 0.8 1 2 2 4 3 6 4 10 5 18
>>284 アフォなUnionの>269のコードでだぞ?
そんなに速い?
俺のは1万行で6秒かかった。
とてじゃないがも6万行を15秒じゃ無理だな。
ソートしてまとめるとか、r1c1形式アドレスを連結していって扱える文字数ごとに区切るとかすれば速くなるけどな。
まぁ今回の件はピボットグラフだけどな。
>>212 は分ったかな?
>>218 で書いたように作業列に旗を立てて、その作業列をページフィールドにして旗をクリックな。
286 :
182 :2009/03/09(月) 19:09:14
>>187 この数式で,SHEET2の所を、同じSheetの違う列 (例えばJとか)に置き換えてやって見たらできました。 ありがとうございました。感謝します。
287 :
182 :2009/03/09(月) 19:11:04
>>187 この数式で,SHEET2の所を、同じSheetの違う列 (例えばJとか)に置き換えてやって見たらできました。 ありがとうございました。感謝します。
>>285 >>281 でも、
>>269 のコードじゃなくて自前のコードだって書いてるのになんで読めないかなぁ?
当然
>>285 が書いてるような方法ではなく、Unionのみで結合する方法だけど
二重ループで分散することで効率化すれば、Unionのみでも何時間も掛かるって事は無いということを書いただけ
>>285 284はもしかしたらある程度の塊にしてから、それをUnionしてるんじゃね?
単純に10000回Unionしたらそんな短時間じゃ無理だと思う。
>>288 なんだやっぱりそんなことかい。
あるていどのやつなら誰でも考え付くな。
なんか自信たっぷりな速度オタがいるなぁ。 俺の昔作った結合技よりは遅いと思うけどなw
悔し紛れ
> 俺の昔作った結合技よりは遅いと思うけどなw よくもまあ恥ずかしげも無くそういう嘘書けるなw
なんなら競争してもいいが結構長いコードだから顰蹙を買うのは間違いない。
┐(´ー`)┌
ところで Do While Wend の件は?
「それを書くには余白が足りない」が許されるのはフェルマーだけなのに…
単純な間違いだから許してやれよ。 いつも古臭い While Wend 書いてるんだろ?
300 :
283 :2009/03/09(月) 20:49:40
>>299 できればどちらとも、
または上だけでも。教えて頂きたいです。
>>300 上は折れ線グラフ
下は散布図
折れ線グラフの時はXを数値と見ずに項目名にすれば、内容にかかわらず等間隔になる
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Autocad Excel2007 図ツール EXCEL2003ではCAD図面をそのまま貼り付けても図ツールが使えて、トリミングなどが出来、 元の図面が無くてもダブルクリックでCADソフトが起動し図面修正が出来ました。 しかしEXCEL2007でそのまま貼り付けると図ツールが表示されず、トリミングが出来ません。 また、形式を変換すると図面修正が出来なくなります。 そのまま貼り付けてトリミングする方法はありませんか?
ごめんなさい自己解決しましたw
VBAスレの方にプログラム上げました。6行置きに1万セルUnionして10秒かかってません。
Unionのベンチしたら2007は2003の1.5倍速かった
******************** EXCELヲタ徘徊注意報 ******************** マニアの自己満足レスが 頻発しております。 相談者の方は警報が解除 されすまで今しばらくお待 ちいただくようお願いします。 ******************** EXCELヲタ徘徊注意報 ********************
>>304 >>281 1万行でも約1/10の1.3秒掛かる
6万行で10秒弱なら君の勝ちだが
1万行で10秒弱だと全然お話にならないぞ
違う環境で測っても意味ないじゃん。自分のマシンで比較しなきゃ。 うちのマシンだと6万行で2.2秒だった。この程度なら遅いと目くじらたてるほどでもない。許容範囲。
309 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 10:15:37
初心者です。 ひと月の表があって、月曜から〜金曜までシフトの人を割り当てる作業です。 (土曜日曜は空欄になります) 人間の基本表があるので、今は5人ずつ(月曜〜金曜分)コピーペーストしています。 土日のセルだけロックして、ひと月を1回のコピペで済ませることは 出来るのでしょうか?教えてください。
どんな表なのか今一つ分からないんだけど 土日を非表示→可視セルを選択→貼り付けみたいなのでどうだろう
>>275 ありがとうございます。無理だと分かったので諦めがつきましたw
lookupか何かを使えば、 さほど苦労せずにできそうだが。
314 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 14:24:24
310さん セルの非表示、探してみましたが見つかりません。 すみませんがどのメニューで出来るのか具体的に教えていただけますか?
315 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 14:29:47
310さん 非表示見つかりました! でも可視セル選択の操作が分からない・・・ 頑張ってみます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はいのようないいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 並べ替え シート1 あ い う え お か き く け こ と入力すると シート2で あ い か き う え く け お こ のように出力形式に自動的にレイアウトすることは可能ですか?
下記の内容は可能でしょうか?可能であれば解決策を教えてくださいorz シート1は作業順にデータが並んでおり住所欄が無い、シート2は全データがあり住所欄もあります。 シート1とシート2に共通しているのは店番号がセルAに記入されています。 シート1は作業順に店番号がばらばらに並んでおり、シート2は0から1500まで店番号が並んでいます。 シート1に新規で住所の欄を作り、シート1とシート2の店番号をリンクさせてシート2からシート1に住所を自動入力したいです。 検索してみましたが私の求める答えとは合致しなくて手動入力しかないかと悩んでいます。 宜しくお願い致しますorz 【1 OSの種類 .】 Windows** VISTA 【2 Excelのバージョン 】 Excel** 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 (チャレンジします) 【5 検索キーワード 】 シートから自動入力
>>316 所望する出力レイアウトの法則性を書かないと誰も答えられないんじゃないの?
320 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 20:44:06
ffff
321 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 21:01:50
>>316 A1=INDIRECT("sheet1!"&"r"&1 &"c"&ROW()*2+((MOD(COLUMN(),2)=0)-1),0)
C1=INDIRECT("sheet1!"&"r"&2 &"c"&ROW()*2+((MOD(COLUMN(),2)=0)-1),0)
ところで上であがってたindirectってなんでダメなんだ?
そんなもの使わなくてもいいような表にすべき!ってのはナシな
主な使い方が、正規化するためだったり、他アプリ向けにわざと正規化を崩す訳だからな
indirectが良くてindexは良い、とか謎すぎる
どっちも使うべきところで使えばいいと思うんだが
322 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 21:03:16
>>321 INDEXだっていっしょだよ。
そんなもの使わなくていいように表を作れとしかいいようがない。
ゼロから作れならともかく どこのアホチンが作ったかわからんクソみたいな表もあるからなあ それをコピーとか区切り位置とか駆使して作り直すよりは INDEXとかで作業シート挟んだほうが楽だと思う
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel office XP 【3 VBAが使えるか .】 ほんの少し(まだまだ猛勉強中) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 前々スレで値のバーコード化について質問した者です。 勉強した結果、バーコードフォントで表示できるようになりました。 これを差込印刷マクロで雛形に挿入、印刷したいのですが マクロで挿入すると値のみ挿入され、スタート・ストップの*が消されてしまいます。 次の一文を怪しんでいます(検討違いだったらすみません) '置換先文字列セット strSerch = "<<-" & Mid$(ListView2.ListItems(j), 3) & "->>" "<<-"と"->>"のあいだにスタート・ストップの*を挿入したいのですが どのように書き換えたらよいのでしょうか? 宜しくお願いします。
>>326 質問と回答もう一度あげてくれないと多分誰も答えられない
strSerch = "<<-*" & Mid$(ListView2.ListItems(j), 3) & "*->>"
569 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/12/19(金) 23:44:44 【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel office XP 【3 VBAが使えるか .】 ほんの少し(猛勉強中) 【4 VBAでの回答の可否】 少し可(がんばって解読します) 【5 検索キーワード 】 エクセル 図形 セル 関連付け 差込印刷 エクセルのみで、社員の健康診断票を作成しています。 社員IDを、拾ったバーコード生成マクロでバーコード化 →差込印刷マクロで雛形所定位置に印刷。 名前、部署、生年月日など文字・数字は差し込めるのですが、バーコード(bmp)を 差し込むことができません。この図(バーコード)をセル内の値として認識させることは 可能でしょうか? ド素人なりに『セルの書式設定』『表示形式』『ユーザー定義』を怪しみましたが それらしいとこに辿り着けませんでした・・・ 572 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/12/20(土) 00:15:23 バーコードの形式にもよるけど、バーコードフォントというのを入れれば バーコードを文字列として扱うことができるようになる。 ⇒bmpは諦め、CODE39のフォントを拾いバーコード表示(差込の元データ)には成功! セルの書式設定>表示形式>ユーザー定義>”*”@”*” >フォント>CODE39 受け側雛形のセルも同様の設定です
>>328 ですよね!試してみましたが、ダメでした・・・
受け側のセルの設定が良くないのでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel VBA 一定時間 セル 移動 確定 無理な依頼をされ,困っています 0〜100までの数値を下へ下へと入力していきます。 その際,Enterを押さずにアクティブセルを下へ移動させることなど可能なのでしょうか? 具体的には,A1セルに23と入力する→Enterを押さずに放置,一定時間後→23が確定されアクティブセルがA2へ移動 →59と入力する。→Enterを押さずに放置,一定時間後→59が確定されアクティブセルがA3へ移動→ … Enterを押さなければ値が確定しないので,セルの値もとれず,次の動作に移れないと思うのですが…
放置する時間があったらEnter押せよw 桁数固定ならVBAでできそうだけどな。
333 :
名無し変更議論中@詳しくは自治スレへ :2009/03/10(火) 23:06:54
女子社員にエクセルで質問されたときのカッコいい教え方ありますか?
>>331 VBAの基本オブジェクトモデルはセル内編集中に操作や取得が出来ないので
やるならWinAPI使って実装するか、外部ツール使うか、入力自体を別アプローチで簡素化するかだな。
そもそも、目的は「入力後、一定時間放置したら確定扱いにして下セルに移動したい」ではなく
「入力を簡素化したい」であって前者はその方法の1つに過ぎないだろ。
依頼者にそれをきちんと説明して、目的は当然そのままで、方法だけ変えるのが一番良いだろうな。
一番簡単なのは、たぶんユーザーフォーム使う方法だ。
_Change後一定時間後経ったら、セルに値入れてコントロールの値をクリアして、対象セルを移動する
1分で組めるマクロで同等の結果が出せる。
宜しくお願い致します。本で調べたりネットで自分なりに模索したのですが、 どうしても分からずここで質問させていただきます。 それは、マクロボタンを10秒ごとに自動更新したいのですが、 どうすれば良いのか分かりません。 識者の方、お知恵を拝借できればと思います。テンプレに従い、環境を書きます。 【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 マクロコードですが、非常に簡単なコードなので、以下に書きます。 宜しくお願い致します。 ============コード=========== Sub RSSEIの() ' ' RSSEIの Macro ' マクロ記録日 : 2028/3/3 ユーザー名 : 1 ' ' Application.Run "銘柄メモ.xls!RSS全選択" Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _ , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin Range("L25").Select End Sub
336 :
335 :2009/03/11(水) 00:01:49
追記です。 >マクロボタンを10秒ごとに自動更新したいのですが、 これは、現在では手動で10秒ごとに手で押しているマクロボタンを、 自動にしたい、ということです。
338 :
335 :2009/03/11(水) 01:36:45
>>337 有難うございます!!!その後コードを
============コード===========
Sub RSSEIの()
'
' RSSEIの Macro
' マクロ記録日 : 2028/3/3 ユーザー名 : 1
'
'
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L25").Select
nextTime = Now() + TimeValue("00:00:05")
Application.OnTime nextTime, "RSSEIの"
End Sub
にしたらできました!!!感謝です。
しかし、今度は止めることができません。(汗
他に停止ボタン等を作りたいのですが、
どうすれば止めることができるのでしょうか?
これは予想外です。
皆様宜しくお願い致します。
>>332 >放置する時間があったらEnter押せよw
まさにその通り。もちろん依頼されたときにすぐに言いました。(言葉を選んで。泣)
>>334 >VBAの基本オブジェクトモデルはセル内編集中に操作や取得が出来ないので
やっぱりそうですよね。
>一番簡単なのは、たぶんユーザーフォーム使う方法だ。
Enterすら押したくない人がユーザーフオームなんて受け入れてくれるか…
明日,何とか言ってみます。ありがとうございました。
>>338 Private 停止フラグ As Boolean
Private Sub 開始ボタン_Click()
停止フラグ = False
Call RSSEIの
End Sub
Private Sub 停止ボタン_Click()
停止フラグ = True
End Sub
Sub RSSEIの()
'
' RSSEIの Macro
' マクロ記録日 : 2028/3/3 ユーザー名 : 1
'
'
If 停止フラグ Then Exit Sub
Application.Run "銘柄メモ.xls!RSS全選択"
:
> Enterすら押したくない人がユーザーフオームなんて受け入れてくれるか… ユーザーフォームの立ち上げ方と作り方次第だろ 100回のEnterキーを省略できる代わりに、1回のフォーム立ち上げなら 出来が悪くなければ受け入れてはもらえるだろうぜ
えんたーじゃなくて たぶで よこにすすんで あとで たてにする
343 :
335 :2009/03/11(水) 02:11:37
>>340 わざわざコードまで書いていただき本当に有難うございます。
しかし、サッパリ分かりません。
書いていただいたコードを、
>>338 のコードの最後に付け足したり、
新規で標準モジュールを開き、書いていただいたコードを
そのまま貼り付けましたが、何も起こりませんでした。
VBA超初心者なので、申し訳ないのですが今日はもう遅いので明日にでも、
もう少し教えていただけたらなと思います。
本当に有難うございます。
やきゅつく等で使う野球成績データ表を作りたいのですが、奪三振率(奪三振×9÷投球回)のやり方が分かりません…
345 :
335 :2009/03/11(水) 11:16:46
皆様有難うございます。
>>340 さん感謝してます。
昨日あれから、340さんの指示に従い、私なりに
「自動更新ボタン」と、それを停止させるための「停止ボタン」
と、再度開始させるための「開始ボタン」をそれぞれ3つのマクロが必要だと思い、
合計3つのボタンを作りました。
これで「自動更新ボタン」のマクロを停止させるボタンが作れると思ったのですが、
出来ませんでした。本当に有難うございます。書き込んだコードをありのまま書きます。
ご指摘くだされば嬉しく思います。宜しくお願い致します。
==========「自動更新ボタン」=========
Sub RSSEIの自動更新()
'
' RSSEIの自動更新 Macro
' マクロ記録日 : 2009/3/11 ユーザー名 : 1
'
'
If 停止フラグ Then Exit Sub
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L26").Select
nextTime = Now() + TimeValue("00:00:10")
Application.OnTime nextTime, "RSSEIの自動更新"
End Sub
346 :
335 :2009/03/11(水) 11:18:31
==============開始ボタン=============== Sub 開始ボタン_Click() 停止フラグ = False Call RSSEIの End Sub ==============停止ボタン=============== Sub 停止ボタン_Click() 停止フラグ = True End Sub
347 :
名無し変更議論中@詳しくは自治スレへ :2009/03/11(水) 11:54:55
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 少し使える 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 時間 記録 時間の使い方についての細かく区切ったグラフがほしいのですが 08/19 08:00 メールチェック 開始 08/19 08:10 メールチェック 終了 08/19 08:20 見積書づくり 開始 08/19 09:45 見積書づくり 終了 といったデータがあるときに、開始と終了で挟まれたデータを適当に色つけ+ラべリングして 週刊ヴァーティカルタイプの手帳のようなグラフを作ることって出来ますか?
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】選択範囲 固定 Excel すいません、Excelで入力作業をする際、例えば行を1.2.3と指定して、A3でEnterでB1、B3でEnterでC1、・・・・と移動できるように使っていた場合で、 矢印キーやマウスでセルをクリックした場合、指定した範囲が解除され、また範囲を指定し、 入力セルまでEnterキーなどで移動しなければいけない状態によくなってしまいます。そのような状況にならないように、 矢印キーやセルをクリックしても指定範囲が解除されないように固定したいんですが、出来ないのでしょうか?
ラベリングとか週刊大衆とかワケワカメ
>348 選択範囲に名前をつける。 矢印キーで移動した場合は名前を再選択。
351 :
名無し変更議論中@詳しくは自治スレへ :2009/03/11(水) 12:21:36
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 パラメータ変更くらいなら 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 条件 文字列 色変更 ある区分で種類が6種あってシート2でその文字を参照表示させているのですが、 シート2で表示している文字の色を種類別(6種類あるので6色)に変えたいのですが 4色以上はVBAを使わないと無理らしいのですがどうすればいいですか?
VBA使えばいいと思うよ。
353 :
347 :2009/03/11(水) 12:43:41
データの加工だけexcelでやってグーグルカレンダーにインポートしたほうが早くね?
355 :
名無し変更議論中@詳しくは自治スレへ :2009/03/11(水) 16:04:53
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 傍線 赤い線 波線 エクセルで文章を書いてたら、文章の下に勝手に赤い線が出てきたんです 例えば「ふはは」と打ったら「はは」の下に赤い波線が出てきます 印刷では消えるのでしょうが、私の目的は印刷ではなく閲覧なので非常に邪魔です どうしたら出なくなりますか?またこれは何の為に出るのでしょうか?
>>355 エクセルのツールバーの上の方の書式設定で、Uの下にアンダーバーが
入ってる文字がありますけど、それがアクティブになってる
だけじゃないですか?
357 :
名無し変更議論中@詳しくは自治スレへ :2009/03/11(水) 16:14:06
【1 OSの種類 .】 Windows VISTA 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】Datedif バグ datedifの関数は年齢を出す時などとても有用な関数なんですが、調べて みるとどうやらバグがあるようで・・ YDとMDを使うとバグが起こるらしいのでこの2つは使わないように しようと思うのですが、それ以外のYなどはバグはないのでしょうか? お願いします。
"週刊ヴァーティカルタイプ"との一致はありません。 うそん
360 :
名無し変更議論中@詳しくは自治スレへ :2009/03/11(水) 22:07:23
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 できないがそれしかなければがんばる 【4 VBAでの回答の可否】 可能であればなしで 【5 検索キーワード 】 入力 セル 小数点 初心者です 教えてください まずセルに5をいれます その時に他に指定したセルに下一桁増やした5.9とゆう数字をいれたいです また5.5なら5.51とか5.59を他のセルにいれたいです 可能でしょうか?
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel20007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 プロセス ウィンドウ 2つファイルを開くと、同一ウィンドウ(同一プロセス)にて表示してしまいますが、 これを常時違うプロセスで開く方法はありますか?
>>360 A1に4、A2に5、A3に6を入れたら、4.56や6.54を返すってことなら数式で出来るけど
A1に4、次に同じくA1に5、、更に同じくA1に6、って入力で上記のような結果を返したいのならVBA必須
>>5 ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
▼数式・関数
・ 値の書き換え、値の保持 (VBA)
>>360 あと質問スレで初心者です
って言わないほうがいいぞ
>>361 ブック1を開き、新しくエクセル.exeを開いてからブック2を開く
ドロッグアンドドロップでもいいよ
>364 回答ありがとうございます ちょっと言葉が足らなかったので付け加えると、 Excelファイルをダブルクリックしたときに、常時違うプロセスで開きたいということです。 今は、その方法で対応しています。
>>365 ああ、ごめん見落としてた
他のアプリケーションを無視する、にチェックを入れるか外すだったと思う
368 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 00:12:32
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 =挿入 Excel2000の頃、単純な計算式を作る時、数式バーの「=」ボタンを愛用していました。 数字が入力されているセルにカーソルを置いて、=ボタンをクリックすると、その数字の前に=マークが挿入されました Excel2000では、例えば、1 という数字が入っているセルをセル選択した状態で=ボタンをクリックすると、 セルの先頭に=マークが挿入され、=1 となります。 さらに+キーを打つと、=1+ となります。 そして2という数字が入っているセルをクリックしてエンターキーを押すと、3と出てくれます(=1+2)。 でも、Excel2007では1 という数字が入っているセルをセル選択した状態で=ボタンをクリックすると、 1の数字が消えて = しか出ません。 セルをダブルクリックし、1 という数字の前にカーソルをおいた状態で=ボタンをクリックすると、 =1 となってくれますが、さらに+キーを打つと =+1 となって+マークが数字の前に来てしまいます。 Excel2000と同じ使い勝手で=ボタンを使うことはできないのでしょうか。 教えてください。よろしくお願いします
369 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 00:17:04
>366 その設定ってどこにありますか?
372 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 01:01:15
>>362 ありがとうございます
VBAしかないんですね
373 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 01:02:23
>>370 ありがとうございます
VBAしかないんですね
374 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 01:04:43
2007を捨てて2000に戻るという選択肢
ふーん、2000って微妙なところに細かいチューニングを施して いたんだな
>>174 ありがとう。
発想の転換だった。
確かに他の開発環境とかでも、その点は同じですわ・・・。
ActiveW(Ctrl+SPACE、選択).RangeF(Ctrl+SPACE、選択)(C.x, C.y)
というように、連続で打っていけばいいんだなー。
VBAでなく式の時もそれでいければいいのになー。
=ISNUMBER(とうとうとして、
=ISN(補完ウインドウ自動表示、選択)(
↓
=ISN( ・・・orz
となるんですよね。
VBAの方は
>>174 さんの方法で乗り切るとして、AutoHotKeyかなんかで式編集の時の方法を模索してみます。
上手くいったら報告します。
>>上手くいったら報告します。 いりません。
379 :
317 :2009/03/12(木) 13:51:35
>>319 ありがとうございました。
やっと終わりました。thx
380 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 17:07:09
かいとか
どなたかお分かりになる方、教えて頂けないでしょうか。 集計行に式を入れれば、完成となる表があります。(数値はすべて0です) 一万行以上あり、細かい小計がたくさんあります。 小計を選択しては、オートSUMという作業を地道に繰り返していたのですが (詳しい方、何人かに確認しましたが、それしか方法がないとの事で) 丸一日近く時間がかかりました。 他に方法があるのではと、ネットで検索した所、小計を複数選択し、オートSUMボタンをクリックすると 一気に式を入れる事が出来る事を知り オートフィルタで1番小さい小計のみ選択→オートフィルタを解除し、オートSUMボタンをクリック →オートフィルタで次に小さい小計を選択‥ と繰り返して、すべての小計に数分で式を入れる事が出来たのですが、いざ本表でしようと思うと 複数小計を選択しているにもかかわらず、オートSUMボタンをクリックしても、1番上の小計にしか式が入りません。 何が問題なのでしょうか? また他に方法があるのでしょうか?
383 :
381 :2009/03/12(木) 22:06:42
大変失礼しました。 ご指摘ありがとうございます。 会社のPCのため、詳細がわからず(会社を出た後だったため)失礼しました。 また明日出直します。
>>381 そもそもの機能として備わってる「集計」は使わないの?
オートサムしたいだけなら。
数式わざわざ入れる必要ないし。
385 :
381 :2009/03/12(木) 22:20:29
>>384 レスありがとうございます。
表は過去実績を見ながら、来年度の計画を作成するためのもので
入力した数字がすぐ小計で確認出来ないといけないため、データの集計は使いませんでした。
データの集計でも入力した数字は即、小計に反映するけど? 少なくとも2003は…。
388 :
381 :2009/03/12(木) 22:45:30
集計は展開していかないと、詳細は見れないですよね? 表はフィルタで細かく選択出来るようにしているので。(スクロールが大変だと思うので) エクセルの集計は知ってはいるのですが、使った事がないので、勘違いをしていたらすみません。
使ったことがないのに知っていると言い切るってすごいね〜
390 :
381 :2009/03/12(木) 22:56:01
>>387 今は完全に表を作り込んでしまっているので。
次回ピボットで試してみます。
ありがとうございます。
>>389 言葉足らずですみません。
何度か試してみた事はあるんですが、完全に理解出来てないものを
きちんとした表で使うのは不安なので、使った事がないんです。
左に出てくる番号をクリックすれば、任意の小計レベルで 一気に折りたたむことも展開することもできるけど…
392 :
381 :2009/03/12(木) 23:14:12
>>391 詳しくありがとうございます。
番号をクリックして確認、というのでは入力される方が大変だと思うので。
必要事項未入力、拙い説明にもかかわらず、詳しく説明頂いてありがとうございました。
大変ってw どんな想像をしているんだろう
394 :
名無し変更議論中@詳しくは自治スレへ :2009/03/12(木) 23:58:00
>>393 データを入力するシートと
集計シートを別にしたらどうだろう。
それで、シート2画面同時表示にする。
あのさー なんてゆうのかな 行番号? 左端にある1とか2とか? あと一番上のAとかBとか? あの文字のフォントって変えれんの? なんかたまーにあの文字が小さいやつがあるんだよね どうやるのかなって思ってさ 教えてくれよ
397 :
381 :2009/03/13(金) 01:02:04
>>394 すみません。知識不足でよくわからないので、検索してみます。
>>395 リンクありがとうございます。
熟読して、明日データを再確認してみます。
小計は5列の項目事にあります。
A列が県だとすると、全県に小計があり、B列が市区郡、C列が商品の種類‥という感じで
各小計を足していく形になっています。
普段エクセルではない、データソフトをメインで使っていて、エクセルは詳しくない為
ついそちらで作り込んだ表を、エクセルに落として加工していました。
ピボット等で作成すればもっと簡単なのかもしれないですね。
ツール-オプション-全般-標準フォント のところで設定してね
お、サンキュー♪ 以外と役に立つな
401 :
335 :2009/03/14(土) 00:37:41
>>340 335です。その後コードを下記にしたら自動更新を止めるボタンも出来ました。
有難うございます。
Private myReserveTime As Date
Sub RSSEIの自動更新()
myReserveTime = Now + TimeValue("00:00:45")
Application.OnTime EarliestTime:=myReserveTime, _
Procedure:="RSSEIの自動更新"
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L26").Select
End Sub
Sub RSS中止()
Application.OnTime EarliestTime:=myReserveTime, _
Procedure:="RSSEIの自動更新", Schedule:=False
MsgBox "N自動更新を停止します"
End Sub
Excel2007 相対パスについて質問です 同じ階層のファイルであればファイル名と拡張子でhyperlinkが出来るのですが 一つ階層が上のファイルにhyperlinkを相対パスで貼るにはどのような指定に すればいいのでしょうか? 相対パス Excel hyperlink という検索ワードでググってみましたがわかりませんでした。 ご教授お願い致します。
403 :
402 :2009/03/14(土) 04:16:48
上記402ですが自己解決しました。 単純なファイル名ミスでした・・・。 お騒がせしてすいません。
404 :
名無し変更議論中@詳しくは自治スレへ :2009/03/14(土) 10:37:02
会社のPCにoffice2007が導入されたわけだがexcel2000で作ったチェックボックスに チェックが入れられないw とりあえずまだ古いバージョン使ってる香具師のPC借りてチェック入れたが 古いバージョンも入れとけばいいですか?
405 :
名無し変更議論中@詳しくは自治スレへ :2009/03/14(土) 11:20:09
>>404 VBAのオブジェクト貼り付けてみては?
若しくは挿入の外字・特殊記号でチェックマークと四角両方いれておいて、いらないほう消すとか
>>378 横からだが、アホかw
このスレで、
自己解決しました〜(解決策なし)
ばかり並んでたらどう思うよ
407 :
名無し変更議論中@詳しくは自治スレへ :2009/03/14(土) 20:53:35
大体どうやったか分かるし別にどうでもいい
408 :
名無し変更議論中@詳しくは自治スレへ :2009/03/14(土) 21:24:41
クリップボードから、値だけを張り付けることはできないのですか?
409 :
名無し変更議論中@詳しくは自治スレへ :2009/03/14(土) 23:37:46
→クリックで値にして保存か セルをダブルクリックして編集状態にしてから貼り付けではダメですか
>406 自己解決の報告すらいらねーって意味だろ。 どっちかっていうと>406がアホだと思うよ。
>>408 俺はAutoHotkeyを使って Ctrl + Alt + V で値貼り付けを行うようにしてる。
数式をコピーしてようが、Webの書式付き文書や表をコピーしてようが、貼り付けられるのは値のみ。
>>409 すら面倒と感じる場合は、導入を検討してみては?
>AutoHotkeyを 阿呆はほっとけぃと読んですまった
413 :
名無し変更議論中@詳しくは自治スレへ :2009/03/15(日) 03:58:12
DELLのPCを買ったときにオフィスがついてきて、エクセル2002を使っているんだが、 新しくPCを買いかえた場合、今使っているエクセル2002を、新しいマシンに移籍させることは可能?
415 :
名無し変更議論中@詳しくは自治スレへ :2009/03/15(日) 07:17:23
元のをアンインストールすりゃ可能じゃないの? そのむね電話すりゃいいんじゃね?
>>409 試しました。少ない時良いですね(後者は改行・全体表示対策要かな?)
>>411 応用含め使いでがありそうですね。
お二方、レス有難うございました。
ネタかマジか分からんけどPCに最初からインストールされてるOfficeはOEM品とかバンドル品だから、他のハードにインストールしたらライセンス違反。つまり駄目。 特定のハードと一緒に使うという事を前提に値段下げてる品だからね。そのPC以外に入れたら駄目。 パーツショップだとそれを逆手に取って、つけかえ可能なFDドライブのバンドル品として登録して、新しいPCにそのFD付けて下さいと言って売ってるアホもいるくらい。 ヤフオクとかにも謎のOEM商品出品されてるけど、買ったら駄目だよ。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字列 順位 頻繁 行にある文字列のデータから、使われているデータ名を順位で取り出したいです あいうえお かきくけこ あいうえお さしすせそ かきくけこ というような行がある場合、使われているデータ名は あいうえお かきくけこ さしすせそ の3種類です というように取り出す方法で良い方法はあるでしょうか。 どうぞよろしくお願いいたします。
「使われている」という判断が、何を基準になされているのか説明されていないので 良い方法も何も、エスパー以外これは無理。
>>420 ピボットテーブルレポートを使うとできる。
423 :
名無し変更議論中@詳しくは自治スレへ :2009/03/15(日) 11:14:59
…ああ、重複削除したいってことか。 データ→フィルタ→フィルタオプションの設定→重複するデータは無視する
素直にパッケージ品のアップグレード版を買うのが一番いい 7-8年に一度買いかえればいいし、二台までインストールできるしな 結局これが一番安上がりですわ こう計算すれば一台当たりせいぜい1,500円/年なんだから ノートン買うよりずっとコストパフォーマンスはいいよ 使うんだし
>>425 値段はPowerPoint付きのstandard版で計算
427 :
名無し変更議論中@詳しくは自治スレへ :2009/03/15(日) 12:11:49
コストパフォーマンスで考えればcellでも落とす方が良くね 0円/年だ ネットがないならマンガ喫茶にて゚もいって落とせばいい
VBA全くいらないんだったらExcel使う必要ないだろ ここExcelのすれなんだし何言ってんだか w
429 :
420 :2009/03/15(日) 13:14:04
レスありがとうございました。 おしえていただいた方法でやってみます。
>>427 cell?
calc(OpenOffice)じゃなくて?
431 :
名無し変更議論中@詳しくは自治スレへ :2009/03/15(日) 19:01:38
VBA みんな、どうやって自分流の構文作れるようになったの? 指定の列範囲B5:B20内に上から書かれた文字だけコピーして 別なE列に貼り付けってどうやって構文作るのかヒントだけ教えて 解答は書き込まないで
432 :
名無し変更議論中@詳しくは自治スレへ :2009/03/15(日) 19:21:19
>>431 自分流もなにもマクロの記録したあとにそれっぽいトコ変えて往けば覚えられるよ
if構文とかloopは関数に比べたら多少難しいけど、やりたいことがあればすぐにできるようになる
逆に言うと仕事に必要な状況でもない限りなかなか覚えられないかもしれない
あと上から書かれた文字だけコピーってのがよくわからないからヒントすらかけないわw
まぁマクロの記録でコピーして貼り付けでもやつてみれば?案外すぐできるかもよ
おいらも10数年前にVBA覚え始めた ・最初はマクロの自動記録 ・それを汎用性のあるものに改編 ってのの繰り返し。 当時はWEBでの解説もそんなになかったからひたすらヘルプを みてサンプルスクリプトを利用していたけど。 あとはこのすれでものぞきながら、あーこうやってやるんだと 知識の吸収。 とにかく自分で使う必要がないと覚えないよ。
excelって英単語の途中で自動改行ってできないんだっけ?
436 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 06:09:54
excel2003のツールバーの絵に合わせるとポップアップで 『切り取り』『印刷』みたいに表示されるんだが あれって表示させないことできるの?
ツールチップのことか? ツールバーで右クリックして、一番下のユーザー設定を開き オプションタブで「ツールバーにボタン名を表示する」のチェックを外せば ツールチップは表示されなくなるが。
【1 OSの種類 .】 WindowsXP Home Edition sp3 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】セル単位 行単位 ピクセル単位 スクロール セルサイズ 大きいセル 1つのセルの高さを広げて(一画面に一セルが表示されるくらいの大きさ)、 その状態でスクロールさせると一気に1セル分スクロールしてしまいます。 1セルのなかで微妙にスクロールさせることは出来ないのでしょうか? ググった結果「無理」との記述を見かけましたが、 ココの皆さんなら解決策をご存知かも!と思い書き込ませていただきました。 よろしくお願いいたします。
>>438 無理なんだよねぇ
それだけ長いってことは長文だろうし、長文はもともとエクセルに向かないのです
440 :
438 :2009/03/16(月) 14:36:39
>>439 早々のお返事ありがとうございました。
法文と解説の一覧表を作成していたので、記述がたくさんになってしまって・・・Orz
セルを分割して対応したいと思います。
441 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 17:16:50
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 2003互換モード 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 わからず 2003では正常ら動いていましたが、現在、マクロが効いていません。 application.run のあとにaaa.xls マクロ名をどのように変更すれば 2003互換モードで動きますか
443 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 20:50:07
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 置換 シート 置換シート 特定の文字を置換を使って置き換えたいのですが ブック内のすべてのシートで一気に置換する方法ってVBA使わないと ないでしょうか?
はい、VBA使わないと出来ません
445 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 21:20:07
For each使えば楽勝ですよ
VBAでどうやるかなんて聞いてない件について
447 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 21:33:16
ピボット厨さん出番がないからってひがまなくても そのうち集計させてもらえますよ^^
>443 全シートを選択した状態で置換
シートを全選択して置換すればできるよ。
VBAで作るのは容易いのですが この作業ブックだけはマクロ使うわけにはいかないのです。
451 :
441 :2009/03/16(月) 21:45:39
>>442 紹介いただいた、そのgoogle検索3番目は、訳もわからず、検索したときに出会いましたが、
関係ないようです。今になって、ようやく、説明がうまく出来るようになったかも。
applocation.runで呼び出されたファイルのマクロを、互換モードがマクロ無効にして開くため、
効いてない状態です。それで、マクロ名の変更では対処できないということになります。
互換モードでなく、2007で全てのファイルを.xlsmにするしかなさそうです。
図星を突かれて悔しかったの?
頼むからお前らこのスレのレベルをこれ以上落とさないで 低レベルな口げんかは余所でやってくれ
>>452 図星だったのかww
論破したしこの辺で消えますねー^^
おやすみなさい^^
456 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 23:29:36
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】削除 重複 重複するデータを削除する場合、 2007バージョンで データのタブのデータツールグループから 重複の削除ボタンをクリックする と、出てくるページを 2003バージョンで出すときはどうすれば良いのでしょうか。
2003には実装されていない機能なので、どうやっても出てきません 新しいソフトにある機能が、全て古いソフトにもあると思わないように
458 :
名無し変更議論中@詳しくは自治スレへ :2009/03/16(月) 23:38:30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中ですが、ほとんど使えない。記録したマクロをちょっと直す程度。 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ゴルフのスコア表を作っています。 氏名 スコア ハンデ用 鈴木 100 +10 佐藤 85 +5 田中 120 -20 のような感じのデータがあり今回の場合だと、田中さんは100、鈴木さんは105になります。 ハンデ込みの順位とハンデを含まない順位を見た目にわかりやすく判断できるようにグラフも作ろうと思ったのですが マイナスの部分がどうすればいいかわかりません。 鈴木 ||||||||||| 佐藤 ||||||||| 田中 |||||||||||||| こんな風にマイナス方向にも伸びたグラフになってしまいますが、 できることなら120からマイナス方向に20折り返しているようなグラフにしたいです。 元々の目指すところが間違っていて、ほかにもっとわかりやすいいい方法があるのかもしれませんが、 とりあえず今思いつく一番いい形がこれなので、もし可能ならやり方を教えていただきたいと思います。 お願いします。
460 :
459 :2009/03/17(火) 00:36:21
すいません、確認ミスです。 例に挙げた表の場合鈴木さんのスコアは105ではなく110です。 よろしくお願いします。
鈴木がA1として D1=B1-F1 E1=C1*(C1>0) F1=ABS(C1*(C1<0)) 鈴木 100 +10 100 10 0 佐藤 85 +5 85 5 0 田中 120 -20 100 0 20 で、後ろの3列をデータとして積み上げ横棒グラフを作る 系列1と2を濃い色、系列3を薄い色にすれば、薄い色の分がマイナスの折り返しで 薄い色も含めたグラフの長さがハンデ無しの順位、濃い色のグラフの長さがハンデ含む順位
462 :
名無し変更議論中@詳しくは自治スレへ :2009/03/17(火) 14:19:41
ttp://home.hccnet.nl/mortu/Hunter_DPS.xls こちらにおいてあるワークシートについて質問なんですが
overview tabの14段目にある"click in cell above〜”や18,28段目においてある同じようなcellの操作がわかりません
おそらく14段目のはその上にある文字列をどうにかするとwork sheet全体に反映される何かがあると思うんですが・・
cellに保護がかかっているため変更できません
思うに何か大きな勘違いをしてるような気もするんですが、操作方法がわかる方いらっしゃったらどうかご教授宜しくお願いします
463 :
名無し変更議論中@詳しくは自治スレへ :2009/03/17(火) 16:19:29
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 互換モード 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 【5 検索キーワード 】 ブックの共有についてです。 5台のPCでExcelのブックを共有しています。 server2003上のExcelファイル(フルコントロール状態)を同時編集 可能で共有しており、他の4台(XP3台・vista1台)は問題なく閲覧・ 変更出来るのですが新たに追加したvista機からの閲覧等に下記 の不具合があります。 ・閲覧は第1回目にファイルを開いた状態から更新されない。 (はじめてPCを繋いで開いた時から変わっていない。もちろん他者 によってたくさん変更されている) ・上書き保存した場合、自分のPCで見ると変更されているが他者 には更新されていない) とにかく、同じファイルにアクセスしているのにもかかわらず、 新たに設置したPCのみが孤立しているような状況です。 (もう1台のvista機と設定は同じです) やや板違いの予感もしますが、よろしくお願いいたします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 複数のエクセルファイルの、さらに複数のシートのとあるセルだけを抜き出したいです たとえば営業.xlsの中に浜田、松本という2つのシートがあり 同様に会計.xlsには天野、ウド、宮迫、蛍原というシート 人事.xlsには内村、南原・・・ という感じでたくさんあります この全てのシートの(たとえば)D7のセル(給料)の値を取り出して 営業|浜田|1000万 営業|松本|800万 会計|天野|75万 会計|ウド|15万 会計|宮迫|45万 会計|蛍原|45万 人事|内村|120万 人事|南原|800万 ・ ・ ・ のような表を作りたいのですが 部署と人名もファイル名やシート名から関数などで自動的に引っ張ってきたいのです (オートフィルだけで全部どーんと完成するような) また、可能ならばシートを追加した時にも自動でこの表に追加されるようにはできますか?
465 :
464 :2009/03/17(火) 16:41:19
追記です INDIRECTやINDEXなど どんな関数を使っても構いません
>>464 そのブックと営業やらが同じフォルダにあり、営業がA1、浜田にB1、と入ってるする
c1=INDIRECT("["& A1 &".xls]"& B1 &"!$D$7")
後は下にオートフィル
多分開いてないと更新されないと思うけどこれは仕様なんで、更新したいときはドラッグで範囲選択して一気に開くと良い・・かもしれない
467 :
名無し変更議論中@詳しくは自治スレへ :2009/03/17(火) 17:13:18
本当は大元のデータは1つのファイルの1つのシートにまとめて 個人別の帳票は元のデータを参照して別シートに作るようにすれば 物凄く単純に出来る話なんだけどね。 まあ自分一人でやってる仕事でも無ければ理想的にはいかないよね。
468 :
464 :2009/03/17(火) 17:40:44
>>466 その場合って営業と浜田は自分で手入力ですよね?
営業のほうの列はともかく
浜田のほうの列はシート名から引っ張っては来れないのでしょうか
関数であればどんな関数を組み合わせても構いませんので
>>468 無理です
そのセルのシートなら名前の取得は出来ますが
インデックス(シート番号)を元に名前を取得するのはVBAでしか出来ないことです
470 :
名無し変更議論中@詳しくは自治スレへ :2009/03/17(火) 18:14:40
EXCEL2007についての質問です。 セルのコピー等をした時等に、 5mm角くらいの箒みたいなアイコン(書式オプション)が表示されますが、 この表示を消すにはどうすれば良いのでしょうか。 (出来れば最初から表示されないようにしたい) プルダウンメニューのオプションを指定しても消えないのですが。 よろしくお願いします。
>>463 まず設定が同じつもりで、実は同じじゃない可能性を疑ってみる。
ファイルをショートカットなどから開いているのなら、そのショートカットのリンク先を確認する。
次に、ネットワークドライブが正しく接続されているかどうか確認する。
>>470 出てしまったアイコンを消す時はEscキー
最初から出さないのはExcelのオプション→詳細設定→[貼り付けオプション]ボタンを表示する
473 :
459 :2009/03/18(水) 00:18:31
>>461 すごいです。今試したんですが、すごくわかりやすくなりました。
グラフの色の設定のアドバイスまでいただいてすごく助かりました。
ありがとうございました。
もし、追加の質問が可能ならお聞きしたいのですが、
以前と同じように範囲を指定したつもりですが、
マイナス方向に伸びずに折り返すのはなぜなんでしょうか?
範囲は後ろの3列を指定したんでしょ?
>>459 にはマイナスの値があるからマイナス方向に伸びる。
>>461 はそれを避けるために、すべてをプラスで表現して
色を工夫することで、あたかも120で折り返してるように見せかけてるだけ。
コツは、C列にある。
マイナスのハンデを持ってる人のスコアを、ハンデ分を差し引いた値にすることで
積み上げたときに実際のスコアと等しくなるように組まれてる。
グラフそのものはただの積み上げグラフだよ。
これホントわかりやすい。
ためしに作成してみたけど作ってて面白いw
475 :
459 :2009/03/18(水) 01:18:23
あ、そうか。コピペしながらそうかそうかって思ってたんですけど、
グラフの色直したり項目名付けたりしてる間に「あ、そうか」って思ったのを
すっかり忘れてました。
これを使えばいいものができそうです。
>>461 さん、
>>474 さんありがとうございました。
476 :
名無し変更議論中@詳しくは自治スレへ :2009/03/18(水) 08:31:49
これをまとめて、コードを短縮するにはどうしたらいいでしょうか。 Rows("1:101").Delete Rows("2:102").Delete Rows("3:103").Delete │ │ Rows("1000:1100").Delete
>476 For〜Next。 "n:n+100"部分は文字列変数で指定する。
478 :
470 :2009/03/18(水) 08:59:53
>>476 For...Nextはいいんだが、指定は文字列にしないでResize使った方がいいね。
Rows(i).Resize(101).Delete
あとはApplication.ScreenUpdatingもお忘れなく。
データを間引きたいんなら、行削除よりコピーのが速くね?
481 :
476 :2009/03/18(水) 18:58:04
>477,>479 どうもありがとうございます。
OKwaveでも質問したのですが、解決できなかったのでこちらで質問させてください。 医薬品リストの作成を依頼されているのですが、薬効別にソートして印刷したリストに索引 を添付しなければならないのですが、効率よく索引を作成する方法をご教示いただきたく お願い申し上げます。 薬効別リストにページ番号欄を設け、別のシートで五十音順リストを作成し、ページ番号を リンクさせたいのです。また、薬品の追加や削除があって、ページが変更になっても、索引 に反映できるようにしたいのです。 OKwaveで回答をいただいた方法で、ページ番号欄に =Int(Row()/40)+1 としたところ、 1ページごとに1行ずつズレが生じてしまいます。 他に良い方法は無いでしょうか。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 "Excel ページ番号取得" "Excelで 索引を作成" "Excel 索引 作成するには"
>>482 薬品の名称や薬効は、適当な文字列に置換して良いので
まずはブックをロダに上げて
話はそれからだ
484 :
482 :2009/03/19(木) 00:10:54
>>483 ありがとうございます。
テンプレにアップローダの案内が無いのですが、オススメありますか?
>>484 好きにしたらええがね・・・
何でExcelでやりたいのか知らんけど。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 検索ワード特定できず A1の数値とA2の数値が同じ場合は 「正解です」と表示され 違う場合は 「不正解です」 と表示させるにはどうすればいいでしょうか?
>>487 a3=if(a1=a2,"せーかい","ふせいいか")
>>482 医薬品のリストってのはExcelの一つのシートにずらーと書いてあるのか?
で、医薬品は一行に薬効、薬品名、etcが記載してあるのか?
OKwave?
わからんし探す手間も惜しい
簡単にするには、
・薬品は一種類一行にすること
・Excelで一ページ40行なり切りのいい行数で印刷できるように、
印刷設定をあらかじめ決めておくこと。行の高さの変更厳禁。
・シートの最上部には Ref No. 効用、品名、備考etcなどを書いておき、
印刷設定で最上部行をページタイトルにするよう印刷設定をしておく。
・Ref No.の列(A列)に=INT(ROW()/40)+1とする。ずれるなら+1を+0なり
+2なり適当に変えろ
印刷するとき、各ページに
番号 薬効 薬品名 備考
1 痛み止め ほにゃらら 副作用怖い
とか最上部にデータの内容を記載してないのか?
印刷設定で自動的に各ページにこれを追加できる設定があるんだが
ちゃんとやっているのか?
・行の先頭のセルには通し番号を付ける。
特定のセル(例えばA1)に入力された値を非表示、もしくは***にすることはできませんか? マクロを実行する過程でそこの値を参照させるのですが、パスワード的なものなので できるだけ見られないようにしたいんです。 今のところ、文字を白色にして見えないようにしてるんですが・・・
493 :
482 :2009/03/20(金) 00:47:02
皆様いろいろありがとうございます。
>>483 >>485 作りかけなんですが、上げました
http://uproda11.2ch-library.com/11166645.zip.shtml キー:xls
>>484 元データはAccess97で作成したのですが、索引を作成する方法が思い浮かばず
Excelに移行させました。
Excel以外で効率よく作成できる方法がございましたら、是非ご教示いただきたいです。
>>491 最初の行に行のタイトルがあります。行の先頭には通し番号も付けてあります。
行の高さも1ページ40行になるように行の高さを調整しました。
ページ番号欄のInt関数はタイミング検証のため省いてます。
ページ番号欄なんですが、行のタイトルがある為、1ページ目は40行、2ページ目から
行のタイトルを引いた39行ずつ印刷されるので、"=IF(ROW()<41,ROW()/41+1,ROW()/40+1)"
としてみましたが、3ページ以降から1行ずつズレてしまいます。
ヘッダやフッタのページ番号を取得してページ番号欄に持ってくることはできないでしょうか。
良い方法があれば是非ご教示いただきたく、お願い申し上げます。
>>492 非表示のシートに値を入れて、ブックに保護掛けろ
但し非表示のシートのA1に値を入れている場合
=非表示のシート!A1
で値が参照出来てしまうので、それにも対処したいなら
可逆暗号化を組み合わせることだな
可逆暗号化についてはExcelとは関係ないし
アルゴリズムサンプルはいくらでもあるから自分で調べてね
495 :
482 :2009/03/20(金) 01:25:34
すみませんアンカーミスです。
>>493 で
>>484 >元データはAccess97で作成したのですが、索引を作成する方法が思い浮かばず
>Excelに移行させました。
>Excel以外で効率よく作成できる方法がございましたら、是非ご教示いただきたいです。
となってますが、
>>485 の間違いでした。 ごめんなさい。
>>493 =INT((ROW()-2)/40)
とすればよろし
OKwave検索してもとのやつみたが、回答されたのは一行目の タイトルを考慮していない場合のもの。 まあ、この回答で応用が利かないのもなんだが、タイトルぐらい 想像できないのも回答者としてなんだなという感じはするな w
499 :
482 :2009/03/20(金) 09:08:44
>>496 ありがとうございます。
=IF(ROW()<40,INT((ROW()-2)/40)+1,INT((ROW()-2)/39)+1)
で、ページ番号のズレがなくなりました。助かりました。
ありがとうございました。
セルをコピーして、ペースト以外の操作をするとコピーが消えるのが嫌なんですが、 消えずにいつでもペーストできるようにするにはどうすればいいですか?
>>500 値だけならクリップボード拡張を使う
書式なども含めてなら、VBAを使う
あとは
>>3 ★2でよろしく
503 :
名無し変更議論中@詳しくは自治スレへ :2009/03/20(金) 13:01:25
複数あるCSVファイルのうち任意の1つを読み込んで加工するマクロの場合の マクロの始動で考えています。 CSVファイルをダブルクリックで開くと、ボタンが配置できません。 ツールバーには目立つ細工はしたくないので。
そうですか
いくら何でもひどい質問だなぁ・・・
506 :
名無し変更議論中@詳しくは自治スレへ :2009/03/20(金) 13:50:56
俺はエスパーなんでやりたい事は何となく分かるんだが もうちょっと落ち着いて質問を書き込んだらどうだ?
CSVをダブルクリックして開かせるなんて邪道じゃろ 専用マクロを開かせてその中からボタン押させてCSV 選択させればよろし 想定していない別のCSVをダブルクリックすると、変な マクロが発動されても困るじゃろな
508 :
名無し変更議論中@詳しくは自治スレへ :2009/03/21(土) 11:31:53
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 白黒で棒グラフを書く必要があるのですが、カラーが使えないので 漫画でいうトーンみたいなものを使いたいのですが、そのような設定項目が見あたりません。 こういう機能はないのでしょうか?
>>508 データ系列の書式設定 > パターン > 領域 > 塗りつぶり効果 > パターン
確認 1月1日 ○ 1月2日 × 1月3日 × 1月4日 ○ 1月5日 × 1月6日 ○ 1月7日 × ・ ・ ・ 最終確認日 1月6日 このような表で、最終確認日を表示したいのですが、関数で出来るでしょうか? 【1 OSの種類 .】 Windows vsita 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 よろしくお願いします。
vistaで97ってすげえな 何世代目のコピーっすか
514 :
名無し変更議論中@詳しくは自治スレへ :2009/03/21(土) 16:23:37
多数の関数などを使用した大容量のファイルを開くと処理速度が遅くなります。 次に買うパソコンのスペックはどの様なものを選べばいいでしょうか? やはりメモリとCPUを重視すればいいでしょうか。 ウインドウズビスタならメモリがいくら以上、CPUならこれといった具合に教えて頂きたいです よろしくお願いします
515 :
514 :2009/03/21(土) 16:25:27
514です。 ちなみに今の仕様は ウインドウズXP・メモリ512M・CPUはAMD64Athlon・エクセルは97です。
今時はエクセルごときでCPUの能力が飽和することは無いので、メモリの方が遥かに重要。 メモリは一定の容量まではほとんどをOSにカッパラわれてしまうが、 逆にその容量を越えた途端に他の動作に回す余裕が出てくる。 その在る一点てのが、2000なら256M、XPなら512M、Vistaなら1G よって、XPなら1ギガ、Vistaなら1.5ギガもあれば快適に動くはず そのPCでも512M増設するだけで全然違うよ
>>514 買い換える前に・・
まず
その関数を見直す。差し支えなければブック毎アップロードしてくれれば見るよ
それが無理なら
常駐ソフトを全部切る。特にウィルス検地ソフト
使ってないサービスは可能な限り切る(復元ポイントなど)
いらないソフトはアンインストールする
デフラグする
で解決しなければ
OSは2000かXP。
CPUはintelならduoかquad、AMDならPhenom。メモリはどうせ安いから2GBいれとけ。
メーカーはdellかHPいいと思う。NECとか富士通はゴミソフトが多すぎる
vista買うぐらいなら中古の方がマシかもしれない
前提にケチをつけたり簡単なことをいちいち難しく言う奴にはアホが多い
メモリが必要以上に載っているパソコンは 大概他の部分も(無駄に)オーバースペックなので無駄に高い ビジネス用途なら、やっすいのを買って自分でメモリだけ増設するのが吉
>>513 ありがとうございます!
まさにこのやり方が知りたかったんですが、セルにパスワードがかかっていて
数式が見れないです・・・><
>>522 C1=(B1="○")*A1
D1=MAX(C:C)
セルをまとめたければ配列数式・LANKかMAX辺りでぐぐれば出てくると思う
ちなみに
>>513 はマクロを使用、関数ではございません
C1=(B1="○")*A1 の後は下にオートフィルな
526 :
514 :2009/03/21(土) 18:36:57
>>517-518 よくわかりました。
参考にさせていただきます。
最近PCの値段が結構安いので少しいいの買います。
ありがとうございました
先輩方・・ 【1 OSの種類 .】 Windows xp-sp3 【2 Excelのバージョン 】 Excel2003/2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ipアドレス excel リスト 作成 IPアドレスの一覧を作成したいです。 69.208.0.0/16 ←この表記の場合の範囲は 69.208.0.0 〜 69.208.255.255 でしてIPの総数は 65,536 個あります。 作成したい表はこんな感じです。 A1 69.208.0.0 A2 69.208.0.1 ・・・・繰り返し・・・ A65536 69.208.255.255 1桁目と2桁目は常に変わらない値です。69.208 3桁目と4桁目は0〜255の間で変化します よろしくお願いします。。
4桁の数字を4つのセルに分解して 3桁目は0が256回続いたあとに今度は1が256回続いて255まで繰り返し 4桁目は0〜256 0〜256の繰り返し それらを後で結合ってイメージかな
それをどうすれば良いか訊いているのでは…。
>527 A1=69.208.0.0 A2="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256) A2を選択 [Ctrl]+[C] [Shift]+[Ctrl]+[↓] [Ctrl]+[V]
>>527 A1="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
後は下にオートフィル
>>528 コピーペーストするつもりだったのか?
1秒差で同じ回答とかすげーな
533 :
530 :2009/03/21(土) 20:53:23
修正 A1="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256) A1を選択 [Ctrl]+[C] A2を選択 [Shift]+[Ctrl]+[↓] [Ctrl]+[V]
修正して同じ解答とかアンタ
535 :
530 :2009/03/21(土) 20:55:53
>531 やらないか?
ウホッ
537 :
527 :2009/03/21(土) 21:00:04
先輩方ありがとうございます! 早速試してきます(`・ω・´)ゞビシッ!!
うわぁぁできたっ(´;ω;`)
>>530 >>531 ありがとうありがとういつもありがとうm(_ _"m)
すごいなすごいな(´・ω・`)
INT((ROW()-1)/256)というのを使えば69.208の部分も変えられるのかな。
と思ってやったら失敗した。。
開始する数字は-1っていうところを変化させるのかな。やってみよう。。
全然違った
>>538 208を0から
A1="69."&INT((ROW()-1)/256/256)&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
208を208から
A1="69."&INT((ROW()-1)/256/256)+208&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
A1="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256) 65536行おきに208の部分が209..210..と増えていったり 若しくは指定された数値(1 10 100)に変化させていくことは難しいですか?聞いててごめんなさい。。
>>541 上は
>>540 で既に答えてる
下の質問は良く分からないが好きな数字に変えたければ
A1="69."&INT((ROW()-1)/256/256)+208&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
の+208の部分を+1や+10にでもすればいい
>>540 書いてたらレスが。。
ありがとうございます!
その方法でやってみたら
69.208.255.255の後に
69.209.0.0が来ることを期待したのですが
69.209.256.0という数字が来てしまいました。。
>>542 さん
ありがとうございます。
>>541 の下の質問なんですが
A1="69."&INT((ROW()-1)/256/256)+208&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
の方法だと208から始まって次は209 210と1ずつ増えていくと思います。
この 208→209→210 というような動きではなくて
自分が指定した数字で変化させていくことは難しいでしょうか。
おおまかなイメージ
=208, 30,75
208→30→75と65536行おきに変化
たくさん教えてくださってありがとうございます。。
>>543 ="69."&INT((ROW()-1)/256/256)+208&"."&MOD(INT((ROW()-1)/256),256)&"."&MOD(ROW()-1,256)
65536行までしかないからきづかなかった
>>544 D1、D2、D3に208 35 75
="69."&INDIRECT("d"&INT((ROW()-1)/256/256)+1)&"."&MOD(INT((ROW()-1)/256),256)&"."&MOD(ROW()-1,256)
546 :
名無し変更議論中@詳しくは自治スレへ :2009/03/21(土) 21:54:05
初歩的な質問すみません。 「1-1」と入力すると1月1日と出ます。 普通に1-1と表記したい際は、どうしたら良いのでしょうか?
>>546 「'1-1」と入力する
若しくは先に書式設定で文字列を選択してから、「1-1」を入力する
>>546 セルの書式設定で表示形式→分類→文字列とかにすればOK
>>543 式のことはわからないけど無理なら2桁目だけはセル切り離して後で結合するとか
A1=69.
B1=INT((ROW()-1)/256/256)+68&"."
C1=INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
D1=A1&B1&C1
微妙だな('A`)忘れてくれ 天才に任せた
551 :
名無し変更議論中@詳しくは自治スレへ :2009/03/21(土) 22:10:14
質問です OS ウィンドウズXP Excel2000 VBA可 Excelピポットテーブルでページエリアの設定に、 特定の文字から始まるデータを対象にできますか? 例)AAA- から始まる、BBB-から始まる
ピボット厨さん出番ですよ
できないよ あらかじめLEFTかなんかで作業列のフィールドを作っておく必要がある
ピボット神話崩壊
>>550 それでやっていきます(`・ω・´)ゞビシッ!!
今日はスレ汚しすいませんでした。
教えてくださった先輩方ありがとうございました!!
いつも本当に感謝しています。
556 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 00:26:32
>>554 ピボットテーブルとVLOOKUPをペアで使えと言ってるだろう。
LEFTはVLOOKUPの部分集合だからな。
557 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 00:45:25
Excel2000でさ、ワークシートをコピーしたときにVBAでイベントを起こしたいんだけどどうしたらいい? Newsheetじゃコピー時には呼び出してくれない。
>>557 イベントは起こしようが無いが、シートをコピーした場合にも
コピーしたシートを引数にWorkbook_SheetActivateが起こるから
あとはそれが既存のシートかコピーされた物かで条件分岐すれば良い
又は使用者が限定されるなら、シートのコピーをVBAで行い、
コピーと同時にイベントで行いたい処理まで一括してしまう方法もある
初歩的な質問失礼します。 if関数の論理式には、なんていうんですか、=や<、>を使った物しか使えないんでしょうか? セルA1が東京ならばB1には「関東」と、セルA2が大阪ならB2には「関西」…といった具合にif関数で入力しようと思ったんですが… ご教授お願いします。
>>559 =IF(A1="東京","関東",IF(A1="大阪","関西",""))
ExcelなんてピボットテーブルとVLOOKUPさえ覚えたら他は必要ないよね。 せいぜいソルバーぐらい知っとけばいいかな。
なんでVLOOKUP? 使ったことほとんどねーな。
VLOOKUP使うくらいならINDEX+MATCH使うわ 左端とか気にしなくていいし
&知っておくと出力用のシートで大活躍 後は選択範囲で中央ってのはかなり便利だぜ 関数より、正規化の概念の方がよっぽど大事だとおもう
567 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 14:40:47
>>556 文字列の左3文字を取り出すみたいな事をVLOOKUPだとどうやるの?
TAB区切りのデータがあり、データ中に001,002,003などの テキストデータが存在しています。 TAB区切りデータをエクセルにドラッグすると、 001,002,003が1,2,3と頭の00が取れてしまいます。 ファイルメニューから読み込みをして、列の定義をすれば読み込むことが 出来るのを知っていますが手間です。 簡単に001,002,003そのままに開くことができる方法はありませんか?
【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 仕事でデータ管理を行っています。 VLOOKUPでPC内のファイル内データが参照されているのですが毎年、昨年のデーターの参照先を変えています。 参照するファイル名は”2008年報告書”で、 =VLOOKUP(○,2008年報告書△,×,□)となっています。 例えば、A1のセルに"2009"と入力してあるとし、関数で昨年と認識させ、2009-1で2008となり、 ここから”2008年報告書”を導きだすことは出来ませんか? よろしくお願いします。
>>569 2008年報告書△
↓
indirect(a1&"年報告書△)
571 :
570 :2009/03/22(日) 15:14:52
スマン、こっちが正しい
indirect(a1&"年報告書△")
>>568 VBA
>>571 早い対応感謝です。
早速ためしてみます。
574 :
569 :2009/03/22(日) 16:11:54
度々すみません うまく行かなくて戻ってきました。 Cドライブの燃料使用量フォルダの2008年燃料使用量.xlsのカレンダーシートを参照しています。 =VLOOKUP(B9,'C:\燃料使用量\[2008年燃料使用量.xls]カレンダー'!$D$5:$E$375,2,FALSE) 上の式なら参照されます。 教えて頂いた通りに I2に”2008”と入れ下記のようにしました。 =VLOOKUP(B9,'C:\燃料使用量\[INDIRECT(I2&"年燃料使用量.xls")]カレンダー'!$D$5:$E$375,2,FALSE) うまく行かなかったので I2に”2008年燃料使用量.xls”と入れ式を作ってみましたが駄目でした。 よろしくお願いします。
575 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 16:19:20
【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 棒グラフを作成したのですが、X軸、y軸もそうですが、 軸の書式設定→パターン→目盛りラベル で目盛りラベルを「なし」にするともう、ラベルを再度表示することができなくなってしまうのですが、、、 軸の書式設定の設定画面がどこにも表示されなくなってしまうのですが、 どこで設定すれば良いのでしょうか?よろしくお願いします。再設定の仕方を教えてください。
>>545 さん
レス見逃してました
ありがとうございます!!
>>567 3文字取り出したデータを最初から用意しとくんだよ。
LEFT() ⊆ VLOOKUP()
これ理解してる?
>LEFTはVLOOKUPの部分集合だからな。 !?!?!
581 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 19:57:32
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97および2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル 選択 A列B列C列のそれぞれ複数のセルに文字列が入力されているシートがあります。 A列からひとつ、B列C列からもそれぞれひとつずつのセルを選び(マウスでセルをクリック)、 選んだセルに入力されている文字列を連結したいのです(最終的にはクリップボードへコピー)。 A列[ ]B列[ ]C列[ ]連結[ ] ↑確認のため、このような表示もほしいです。 フォームが望ましいですが、別のセルに表示してもかまいません(ABCD列の1行目に表示用のセルを作っても可)。 必ずしもA列B列C列の順に選択するわけではなく、例えばB列C列A列の順に選択した後 B列を選択しなおすこともあります。 よろしくお願いします。
>581 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
583 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 20:16:48
>>579 >3文字取り出したデータを最初から用意しとくんだよ。
バカスww
>>583 何も間違ってないやん。
何が面白いのかわからない。
エクセルで出来る事は全部手作業で出来るから VLOOKUPも手作業の部分集合だよw
586 :
名無し変更議論中@詳しくは自治スレへ :2009/03/22(日) 21:26:05
>>585 別にLEFTを使うなとは言ってないんだぞ。LEFTを使うことはVLOOKUPを使っていると言える。
LEFTはVLOOKUPの部分集合だということは理解できたようだな。
部分集合って言葉使いたいだけだろ 間違ってるけどなw
>>565 VLOOKUPを実現したいだけなのにINDEX+MATCHを使うほうがよいという根拠がよくわからん。
キー項目が左に限定されるのはVLOOKUPの短所ではなく長所だと思っている。
覚え立ての言葉を使ってみたいんだよ。煽りも無知も回答者の部分集合だし。
>>582 どうもthx。
Targetに値が入るので、それを使えということですね。
なんだか部分集合という言葉に過敏なやつがいて笑えるな。
>>590 左限定で何故長所に?そりゃ本当に主キーを設定できるなら左端1行でいいだろうけど、
現実はそういうわけでもない、むしろ少ない方だろう
主キーが真ん中にある場合、左にわざわざ移動させたり、左の列に真ん中を参照させたりするケースもある
他にはvlookupもindex+matchも範囲選択するが、その範囲内全てをメモリに入れてしまう
でかくなればなるほどvlookupが遅くなる
古いパソコンだとこれが結構痛い。
アクセス使えって話はやめてくれよ。スレタイ嫁としか返せないから
エクセルの全ての関数はVLOOKUPの部分集合だから VLOOKUPとピボットテーブルだけ覚えておけば何でも出来るよ
>>594 適度に制限してやることはいいことだよ。
自由を与え過ぎるとバカが増える。
×なんだか部分集合という言葉に過敏なやつがいて笑えるな。 ○なんだか間違った言葉の使い方に過敏なやつがいて笑えるな。
>>595 正解に気付いたようだな。
しかしさすがに全ての関数は言い過ぎだ。VLOOKUPで表現できない関数もあるからな。
ちなみにVLOOKUPで表現できる関数ってどれとどれ?
ワークシートが無限にあって 0 0 1 1 2 2 3 0 4 1 5 2 みたいな表を作ればMOD関数がVLOOKUPで表現できるよな。 ってアホか
理論的には「関数」ってのはy=f(x)の形で入力に対する出力が一意に決まる演算のことだから VLOOKUPと同じことをやっていると言えなくもないが、それはサブセットとは言わんし 実装上の都合でほとんどの関数は置き換え不可能。 単なる机上の空論だ。とりあえず理系の大学生は卒業して就職するまで黙ってろ。
>>601 >VLOOKUPと同じことをやっていると言えなくもないが、それはサブセットとは言わんし
同じことをやっているならサブセットと言えるだろ。
データの分類項目を作りたいときは、分類マスター用意してそれを参照するのが常套手段じゃないの? 机上の空論ではないはずだが。
理論上の話は教室の中だけでやってろ
Excelの人は主キーってそんなイメージなんだな
【1 OSの種類 .】 Vista SP1 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 使わないほうが有難い 文字列が例えばA1からG1まで並んでいたとします。 それらをH1に1語として結合したいです。 単純にH1に =A1&B1&C1&D1&E1&F1&G1 としてやれば出来ることは知っています。 ただ、実際にやりたいことものでは結合したいセルの数がかなり多く、またその数もたびたび修正が入ります。 なので、ほにゃらら(A1:G1)みたいに最初と最後だけ指定すれば済むといった、柔軟な方法があれば教えて欲しいのですが、ありますでしょうか? よろしくお願いします。
>>607 VBA使わないと無理です。
あきらめてください。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Googleやヘルプでの検索キーワード 〜で区切られた数字と数字の間の連番を作り行を追加したいんです あいう 0001〜0003 えお ・・・ かきく 0060 けこ ・・・ さしす 0010〜0015 せそ ・・・ という感じに書かれているものを あいう 0001 えお ・・・ あいう 0002 えお ・・・ あいう 0003 えお ・・・ かきく 0060 けこ ・・・ ・・・ ・・・ と展開していきたいのですが どのようにしたらよいでしょうか? よろしくお願いします
611 :
574 :2009/03/23(月) 21:01:02
612 :
名無し変更議論中@詳しくは自治スレへ :2009/03/23(月) 21:49:06
>>611 ファイルを2つ同時に開くとそのVLOOKUPは値を参照するけど、
一つだとエラーになるね。
> 'C:\燃料使用量\
を見て思ったんだが、もしかして2008年燃料使用量.xlsを開いてないか?
INDIRECTで作った参照では、開いてないブックは参照出来ないよ。
開いてるなら「C:\燃料使用量\」を外せば問題ないはず。
流れ見てみると、回答者からしてそのこと知らないみたいだな。
>>5 にもちゃんと書いてあるのに。
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
> ▼数式・関数
> ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
>>612-613 いろいろとすみません。VBAじゃないとできないんですね。
VBAを勉強してみます。ありがとうございました。
615 :
名無し変更議論中@詳しくは自治スレへ :2009/03/23(月) 23:17:57
Vista で Ecell2007 を使用しています。 突然プリントアウトできなくなりました。 プリンターの調子は良くて、インターネット上の ページはプリントアウトできます。 何か設定をおかしくしたのかもとおもい、印刷範囲を 確認してみましたが、プレビュー画面でも印刷したい 範囲が正しく表示されています。 どなたか教えてください。
616 :
615 :2009/03/23(月) 23:44:33
VBA は使えません。 検索キーワードは エクセル プリントアウト
>>615 (1) シートやページの一部分だけが印刷されないのか全体がまったく印刷されないのか
(2) エラーは出ているか、エラーメッセージは何か
(3) 白紙が出てくるのか、プリンターがまったく動かないのか
(4) プリンターのメーカーと機種は
(5) プリンターは何台つながっているか。最近買い換え、買い増ししたか
>615 ここはExcelのスレですよ。
619 :
615 :2009/03/24(火) 01:21:20
>>617 ありがとうございます。
全部が印刷されません。
ですが、ネット上のページはできるんです。
エラーメッセージなども一切でません。
ただ、スルーと紙が印刷されずに出てきます。
メーカーはキャノンのBJS500 です。
一台だけつなげてます。
620 :
名無し変更議論中@詳しくは自治スレへ :2009/03/24(火) 01:27:58
質問です。 エクセル2003を使ってグラフを作成するマクロを作っているのですが マクロの記録で Charts.Add ActiveChart.ChartType = xlXYScatter ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("J4") ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R1C3:R300C3" ActiveChart.SeriesCollection(1).Values = "=Sheet1!R1C1:R300C1" ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" これを作成したあと、グラフの読み込む範囲が今300なのに対して ここの300を変数に格納した数値を利用して変化させたいのです。 "=Sheet1!R1C3:R300C3" ここにどのように変数を加えたらいいでしょうか。 宜しくお願いします。
特定の文書が印刷されないのか それともあらゆるExcel文書が印刷されないのかも
622 :
615 :2009/03/24(火) 01:31:35
>>621 多分あらゆるエクセルファイルが、だと思います。
同じbookの違うシートの印刷できません。
>>622 1つのブックの中に印刷できるシートとできないシートがあるってこと?
だとしたら印刷禁止されてるんでない?
624 :
615 :2009/03/24(火) 01:47:19
>>623 いえ、そのブック全てが印刷できなんです。
>>624 Excelを再起動して新規にブックを作ってデータを何か適当に入れて印刷してみ?
626 :
615 :2009/03/24(火) 01:51:31
>>625 コピーではなくて、適当に打つんですね。
試しにやってみます。
627 :
615 :2009/03/24(火) 01:53:23
>>625 だめでした。
他のブックでやっても印刷されません。
Excelをshift押しながら起動してみろ
>>628 起動したら終了
そして通常起動して印刷を試す
630 :
615 :2009/03/24(火) 01:58:18
631 :
615 :2009/03/24(火) 02:00:54
632 :
615 :2009/03/24(火) 02:02:44
すみません、せっかくですが駄目でした(┰_┰)
633 :
620 :2009/03/24(火) 02:06:18
他にスレを見つけたのでそちらで聞いてきます。 ありがとうございました。
まさか黒インクが無い、あるいはトラブルで黒だけ印刷されないって事はないよな ウェブページはカラーインクで印刷されてるとか
635 :
615 :2009/03/24(火) 02:09:06
黒インキはたっぷり入ってます。
>>635 試しにエクセル文書の文字の色を黒以外に適当に変えて印刷してみて
637 :
615 :2009/03/24(火) 02:18:51
638 :
615 :2009/03/24(火) 02:21:29
>>636 ありがとうございましたm(_ _)m
黒インクのタンクが悪かったみたいです。
試しに紺色で色を変えて印刷してみたら、印刷できました。
カートリッジが悪いみたいですね。
本当にありがとうございましたm(_ _)m
ズコー
640 :
615 :2009/03/24(火) 02:23:17
罫線の色も変えたいのですが、どうすればいいですか?
>>640 オフィスボタン→Excelのオプション→詳細設定→表示設定→枠線の色
または罫線を自分で追加する
642 :
615 :2009/03/24(火) 02:30:25
>>641 本当に本当にありがとうございましたm(_ _)mm(_ _)mm(_ _)mm(_ _)m
助かりました!
644 :
名無し変更議論中@詳しくは自治スレへ :2009/03/24(火) 15:24:06
【1 OSの種類 .】 Vista SP1
【2 Excelのバージョン 】 Excel2003
詳細は↓のアップローダーのファイルを見ていただきたいのですが、VLOOKUPを使って文字列にタイプ番号を振りたいのですが、
エラーが出たり、まったく違う文字列のタイプ番号を振ってくれたりとよく分かりません。
どうも文字列の配列に問題があるようです。が、何がどうダメなのかわからず、進めません。お願いします。
http://www.uploda.org/uporg2112462.xls.html
503
>>644 そういう場合はVLOOKUPは使わない。G3にこの式を入れてオートフィル。
=INDEX(C$3:C$5,MATCH(F3,B$3:B$5,0))
648 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 10:58:23
データ構成が複雑で大きなグラフを含むシートの印刷時、 線の不透明度使用・高画質、などの設定次第で、 印刷時間が数十倍になるのは、仕方ないものですか?
コウセイが漠然としすぎて分からん XPなら一度ファイルに印刷してから印刷すると早いかもしれない
650 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 15:08:45
教えてください 管理表に色をつけましたが、その色の数を数える関数を教えてください。
>>650 >>5 ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
▼数式・関数
・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
というわけで、色などの書式情報を条件とする関数は、ユーザー定義関数で作ってください。
そして
>>1 ★4にある必須情報を伏せているので、こちらも
>>3 ★2に従い具体的な作り方は伏せますので
自分で調べて自分で作ってください。
653 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 15:27:00
>>651 では、文字の色を識別する関数はありますか?
655 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 16:23:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロ 図 マクロで 6列18行のセルを選択すると、図の挿入画面を表示 図を挿入すると、指定の大きさに変えるというマクロを作っています。 図の挿入でキャンセルすると、エラーが出てしまうのですが、 エラー表示を出さず、キャンセルもできるようにしたいです。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Columns.Count = 6 And Target.Rows.Count = 18 Then Application.Dialogs(xlDialogInsertPicture).Show Selection.ShapeRange.LockAspectRatio = msoTrue Selection.ShapeRange.Height = 273.75 End If End Sub 何を加えればいいかご教授ください。
>>650 文字の色、セルの色、罫線の色、図形の色などはVBAを使わないと調べたり数えたりできない
>>655 キャンセルされたかどうか調べる部分だけ書くよ
たしかこんな感じで良かったと思う
If Application.Dialogs(xlDialogInsertPicture).Show Then
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 273.75
End If
2007だと普通にできるんだけどなあ
みんな2007以前は使わなきゃ解決だね!
ここは爺と割れしかいないから仕方ないか
661 :
655 :2009/03/25(水) 16:40:59
早い回答ありがとうございました おかげさまで、解決しました
>>660 割れは2000以前だろ
2002や2003から2007に乗り換えないのは
大幅なUI改悪に付き合いたくない奴
663 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 17:30:32
バカは自分の制限を勝手にExcelの制限にすんだなw
そうでもないか
雑談だけど、女の人ってやたらセルに色付けたがるよな 俺は本当に重要なポイントにだけ1色か2色付けるぐらいがせいぜいだろと思うんだが 規則性もなくその時その時のフィーリングで何色も使って塗り分けたりするんでウンザリする
↑ あるあるw
>>665 別に女男あんまり関係ないと思うぞ
趣味が悪い奴は大抵そういう傾向にある
そういう傾向の奴を趣味が悪いって思うだけだろ
669 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 19:52:09
シートの保護用パスワードって、設定した文字列に対して一意に認識しないよね? 例えば、「1234」で保護したシートが「9876」で解除できる。 「9876」で保護したシートが「1234」で解除できる、みたいな。 脆弱すぎないか?
んなバカな
671 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 19:58:34
>>670 と思うだろ?
「1103」「9984」で試してみ。
互換性あるから。
>>671 なんだこれ。2003でも出来たぞ
まぁ元々中身を見られないためじゃなく、誤って書き換えたりするのを防ぐためのものだけど・・
だけど・・
げ、ホントだ…びびった
でも
>>669 の組み合わせは出来ないよ
エクセル2000
674 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 20:35:40
DLしたエクセルの名簿(400名分)があります。 そのシートには1年・2年・3年の3年間の学年と出席番号、名前が入力できるようになっています。 マクロが組んであって、スピンボタン一つで各学年毎の出席番号順に並べ替えができるようになっています。 そこで、そのシートを崩さずに、別なシートに同じようなスピンボタンを使って、各学年各クラス毎の名簿を作ってみたいのです。 ボタンをクリックすると、2年1組の名前が出てきて、またクリックすると2組のが出てくるというようなものです。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ(微妙に) 【4 VBAでの回答の可否】 可
>>674 個人情報の部分は消したものをアップロードしてくれるとすぐに出来るんだが、難しいかな?
無理なら
まずシートごとコピーする
ALT+F11でウィンドウが出てくるので、そのウィンドウの左上にsheet1、sheet2・・などとシート名があると思うが、
そのスピンボタンがあるシートをダブルクリック
後はそれを編集すればいいスピンボタンの挙動も変わる
もしかするとシートごとコピーして、クラスや名前を他の学年のものに書き換えるだけでうまくいつてくれるかもしれないな
見なきゃなんともいえんけどな
あまり凝った作りにすると後任の先生が苦労するぞ・・・
>>674 マクロの記録で並べ替え・オートフィルタ
それをコマンドボタンに登録でもしてみるといい
そこまで出来ればスピンボタンぐらい簡単にさわれるようになる
>>669 Excelはパスワードをハッシュ化して保持し、解除時に入力されたものをハッシュ化した値が
保持されてるハッシュと一致すれば解除されるって仕組みだからね。
そして、入力可能なパスワードが
3766113167064113419656432196919240801425145699915138986499492248539464674362192501045445350167728202
5991386973138875074810350265293671223827650202935793353928987708427837894137043469967463773432450711
6115216846883999585290297593610853341737828048119530908693959734480879605211762752723189342838119966
5422453701514233158737411022237518066810078250905606017032802679519192932260361221117287195114648722
2820410109263092167280797070716301943769265419640699380301824
パターン以上あるのに対し、ハッシュパターンはこれより遙かに少ないので、
違うパスワードから同一のハッシュが生成され
>>671 みたいなことが起きる。
0〜9の数字が書かれたくじを、100人が引いたら、人数よりくじの種類の方が少ないのだから
100人全員が違う数字になることなどあり得ないのと同じ。
ほう
それでも数字4ケタでかぶるとかちとひどいような気も
681 :
名無し変更議論中@詳しくは自治スレへ :2009/03/25(水) 22:50:37
またジジイが大昔の知識で自作自演か 気持ちわりぃ
>>678 納得だけど、いたずらに行数取ってる
スリムな解説の方が感動した
質問です。 SUMの計算でセルに数字のほかに文字が入っていると計算できませんよね? (例えば、『123本』など) こういうセルを計算に使うにはどうしたらいいですか? 書式設定で単位として文字を付けるとcount ifで検索条件に『本』としたときにカウントされないので困っています。 他に単位をつける方法はないですか? excel2003です。
>>684 ワークシート関数だけでやるなら作業列を作って計算用と表示用(検索用)でセルを分けるとか、
数値と単位のセルを分けるぐらいしかない。
VBAを使えば書式を調べたり、数字の部分だけ足し算とか可能。
>>684 substituteで"本"を""に変換すれば計算可能
687 :
名無し変更議論中@詳しくは自治スレへ :2009/03/26(木) 11:02:55
>>686 ちょっと聞きたいんだけどさ、なんでそんなに詳しいんだ?
MOS持っていてもわからなかった。
どうやって勉強した?なんかすごいなぁと思って。
>>687 実務>資格
ってことじゃないかな
変則的な表ばっかり扱ってると自然に身につくよ
後はこのスレに常駐してるとほとんどの関数は覚える
>>686 素直に感動した
その発想は無かったって表現が適切か
なんかに応用出来そうだから覚えておく
THX :)
なんの流れだよwww
和んだ(;゚д゚)ァ
692 :
名無し変更議論中@詳しくは自治スレへ :2009/03/26(木) 13:37:09
【OSの種類】Windows XP Pro SP2 【Excelのバージョン】2007 【VBAが使えるか】コピペしか出来ません 【VBAでの回答の可否】お願いします 【検索キーワード】 いつも手作業で処理している内容を↓に順番に書き出しました この内容をVBAで自動化したいのですが、何方か書いて頂けますか? 1、 セルW1に「エラー」と記入する 2、 列Iもしくは列J・又は列I・J共に値が入っていて 列Aに値が入っていない行があれば、その行の列Wに「1」と記入 3、列Aに値が入っていて、列Iに値が入っていない行の、列Wに「1」を記入 4、列Aに値が入っていて列Dの値が「18」で列Jに値が入っていれば その行の列Wに「1」を記入。 5、列Aに値が入っていて列Dが「18」以外の値が入っていて 列Jに値が入っていない時その行の列Wに「1」を記入 6、 列Jの値を半角に変換し、セル中のブランクを取り除き、Jのセル内の文字数が 9桁以外であればその行の列Wに「1」を記入 7、列Wに「1」が記入されていない行を全て削除 8、列Wを削除 9、列Oを名前順に並び変え 以上、対象となるBOOKの1行目は名称が入っていますので、これらの作業をする範囲は2行目以降になります。
>>692 大体こんな感じと思う。試してみて
Sub Macro3()
Dim i As Long
Range("W1").Value = "エラー" '1
For i = 2 To 65535
If Cells(i, 9) <> "" And Cells(i, 10) <> "" And Cells(i, 1) = "" Then
Cells(i, 23).Value = 1 '2
End If
If Cells(i, 1) <> "" And Cells(i, 9) = "" Then '3
Cells(i, 23).Value = 1 '3
End If
If Len(StrConv(Trim(Cells(i, 10).Value), vbNarrow)) <> 9 Then '6
Cells(i, 23).Value = 1 '6
End If
If Cells(i, 23).Value <> 1 Then
Rows("i:i").Delete Shift:=xlUp
End If
Next
Columns("W:W").Select Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="=" Rows("2:65535").Select Selection.Delete Shift:=xlUp Selection.AutoFilter Columns("W:W").Select Selection.Delete Shift:=xlToLeft Columns("O:O").Select Selection.Sort Key1:=Range("O2"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal End Sub 4と5は自分でやってみて
695 :
名無し変更議論中@詳しくは自治スレへ :2009/03/26(木) 14:44:19
>>693 早速の回答ありがとうございます
4・5はVBAでは不可能ということですか?
試したところ
>Rows("i:i").Delete Shift:=xlUp
の所に→がで、実行時エラー1004とでます
Excel2002、VBA×です。 VLOOKUPで、指定する見出しが存在しないとき #N/Aとなりますが、 このままだとSUMで合計がだせません。 #N/Aだった場合にはゼロが入るようにしたいのですが どうすればよいでしょうか。
質問を重ねます、すみません。 その欄の式の結果が#N/Aのときにゼロ、そうでない場合は式の結果としたい場合、 IF関数で解決しようとして =if ( 式="#N/A" , 0 , 式 ) のようにしたいのですが、これではうまくいきません。 ↑ 式の結果が「#N/A」だったとき、を示す条件式の記述はどうすればよいでしょうか。
>>697 =if ( iserror(式) , 0 , 式 )
>>695 俺は693じゃないけど、4と5は簡単だからよく似たほかの部分を参考に自分でやってみろってことだと思う。
エラーの出た部分はこうじゃないかな。
Columns("i:i").Delete Shift:=xlLeft
でも俺はこっち↓のがいいと思う。
Columns("i:i").Clear
701 :
696 :2009/03/26(木) 16:15:07
>698・699 ありがとうありがとう。isnaも覚えました。これでかつる!
702 :
692 :2009/03/26(木) 16:32:12
>>693 >>700 無事実行されたみたいです。
4・5は自分で挑戦してみます、ありがとうございました
703 :
名無し変更議論中@詳しくは自治スレへ :2009/03/26(木) 16:43:33
複数列キーで表引きする方法はありますでしょうか? 例えば A列(都道府県),B列(市町村),C列(人口)が格納されたシートから2列の 検索値(都道府県,市町村)からC列の人口を取得する。 AとB列の値を連結した列を作り、VLOOKUP関数で取得できることは理解 していますが、関数のみで取得する方法がありましたら教えて下さい。
704 :
703 :2009/03/26(木) 17:01:27
excel2000 windowsXP です。
>>703 =SUMPRODUCT((A1:A100="大阪")*(B1:B100="西成区")*(C1:C100*1))
範囲や名前をテキトーに変えておくれ
706 :
名無し変更議論中@詳しくは自治スレへ :2009/03/26(木) 17:25:42
質問です。 iPhoneのEXCELについて次のように思っているのですが 正しいでしょうか。 (1)グラフが表示できない (2)図形(オートシェイプ)が表示できない (3)セル幅を調整できない (4)日本語データの編集ができない(表示だけ) よろしくお願いします。
>>705 ありがとうございます。
sumproduct関数は理解していないので今から勉強します。
709 :
703 :2009/03/26(木) 17:42:06
求めるC列が数値の場合はOKですが、文字列(例:有名人等)の場合に 取得する方法はありますでしょうか?
>>709 A列とB列から条件に合う物を見付けて、対応するC列を表示する
=INDEX(C1:C50,MATCH(2,MMULT((A1:B50={"東京都","港区"})*1,{1;1}),))
別解
作業列に=A1&B1って入れて、そこからINDEXとMATCHで検索。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel キー 履歴 変換候補 変換 excel自体の初歩的な質問になるのですが、 特定の列で書き込んだ文字列が次の行で候補として表示されてしまうためこれを非表示にしたいのです オプション変更から文章校正と基本設定等に目を通しましたがピンと来るものがありません 例 A B 1 あいう 2 あ"いう" "で囲んだ部分が以前打ち込んだ文字列が表示されている状態です ここで"あ"だけを確定したいところが"あいう"となってしまい、一度表示されてる候補を消すか確定後に削る必要がありこの手間が非常に腹立たしく不愉快でありストレスが溜まりこの機能を拒絶したいのです。 オートコレクトとはまた違うようですし、この機能は設定でどうこう出来る物ではないのでしょうか?
>>712 Excelのオプション→詳細設定→オートコンプリート
のことかな?
>>713 奇麗サッパリ表示されなくなりました。
作業によっては便利な機能だと思うので覚えておこうと思います
ありがとうございます。
よく見たらここはIDが出ない場所なのですね、失礼しました。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel if 関数 先輩方・・こんなの可能でしょうか。。 C列に次の規則で入力したいです。 イメージ図 A B C 1 b d b:d 2 c e,f c:e c:f ←スペース区切り B列には必ず数字が来ます。二つ以上の数字の場合は必ずカンマで区切られています。 C1は B1を参照したときに dがあるのでA1の値と:を足して b:d C2は B2を参照したときは e,fの二つの数字がカンマ区切りで入っているので C2セルには c:e c:f ←間にスペース と入れたいです。
>>716 Sub Test()
Dim r As Long, i As Long
Dim Ary() As String
For r = 1 To 2
Ary = Split(Cells(r, 2).Value, ",")
For i = 0 To UBound(Ary)
Ary(i) = Cells(r, 1).Value & ":" & Ary(i)
Next i
Cells(r, 3).Value = Join(Ary, " ")
Next r
End Sub
>>717 すいません。。全く理解できませんでした。
>>716 訂正させてください・・【4 VBAでの回答の可否】 不可
>>717 すいません、うまくできました!!
すぐわからないって言ってごめんなさいっ(`・ω・´)ゞ
若干追加させてください・・・ 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 なるべくなしでお願いします 【5 検索キーワード 】 excel if 関数 C列に次の規則で入力したいです。 イメージ図 A B C 1 b d b:d 2 c e,f c:e c:f ←スペース区切り 3 g 1-3 g:1 g:2 g:3 4 f 1-3,h f:1 f:2 f:3 f:h ///説明//// B列には必ず数字が来ます。 二つ以上の数字の場合は飛び飛びの数字の場合必ずカンマで区切られています(例1,3,5) つながっている数字の場合は - で表示されています(例1-3, 5-8)←対象は1 2 3 , 5 6 7 8 C1は B1に dがあるのでA1の値と:を足して b:d C2は B2に e,fの二つの数字がカンマ区切りで入っているのでC2セルには c:e c:f←間にスペース C3は B3に 1-3とあるので g:1 g:2 g:3 C4は B4に 1-3,hとあるので f:1 f:2 f:3 f:h すごくごめんなさい(´・ω・`)。。 1-3という表記を分解して 1,2,3と認識させるのにはVBAを使うのは必須になるのかな。
721 :
706 :2009/03/27(金) 07:29:19
722 :
692 :2009/03/27(金) 10:23:18
すみません、挑戦しましたがわかりませんでした 恐縮ですが、書いて頂けますでしょうか・
必ず数字を使うのに例を英語で書くのはやめてほしいし そもそもセルの区切りがわかりづらすぎる 必ず半角スペースを使うのなら紛らわしくならないようにとか工夫してほしい とにかく相手に理解してもらうことを考えてるように思えない ぶっちゃけ専ブラ使えだし使えないならやはり工夫すべき > 1-3という表記を分解して 1,2,3と認識させる 作業列とか使っていいなら簡単にできると思うが 何がしたいのかがほとんどわからないから返答したくない てきとうな返答したら「いやそうじゃなくて」とか言われてビキビキなるし 情報の後出し以前にまず誤解を生まない書き方しろと
724 :
名無し変更議論中@詳しくは自治スレへ :2009/03/27(金) 10:41:16
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 ほんの少し 【4 VBAでの回答の可否】 可 A列に1万行近く数値が入っています。 セルが空白なら0を代入するマクロを教えてもらえないでしょうか。
B列に =if(a1="",0,a1) のほうが簡単じゃね
>>720 .
VBAは必須ではないけど、数式のみでは作業セルいっぱい使うし制限もある。
>>5 にも有る通り、数式では「不定な数の結果を返す」ことが出来ないが
この場合Bの値の数が不定故に、結果も不定数返してスペース区切りで連結するわけだが
1個固定なら
C1=A1&":"&B1
2個固定なら
C2=A2&":"&LEFT(B2,D2-1)&" "&A2&":"&MID(B2,D2+1,LEN(B2))
C3=FIND(",",B2)
しかし1〜3個可変だと
C3=H3&" "&I3&" "&J3
D3=B3&","
E3=FIND(",",D3)
F3=FIND(",",D3,E3+1)
G3=FIND(",",D3,F3+1)
H3=IF(ISERROR(E3),"",$A$3&":"&LEFT(B3,E3-1))
I3=IF(ISERROR(F3),"",$A$3&":"&MID(D3,E3+1,F3-E3-1))
J3=IF(ISERROR(G3),"",$A$3&":"&MID(D3,F3+1,G3-F3-1))
なんて感じになるわけで、想定される最大数を決め打ちで組まなきゃならず
対応可能な最大数を大きくすれば、その分作業セルは膨れあがるが、かと言って足りなければ正しい結果が返らない。
1-3のような範囲表記の場合も、こんな感じで範囲数に応じた作業セルが必要になる。
更には、カンマ区切りと範囲表記の混じりに対応させると、必要な作業セル数は跳ね上がる。
VBAなら、カンマ区切りで100個の数字があろうと、1-200のように膨大な範囲だろうとコードは変わらない。
>>717 だってカンマ区切りで何個あっても、そのまま対応出来るからな。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ピボットテーブル A B 1 日付 個数 2 3/1 1 3 3/3 2 4 3/3 1 5 3/4 5 6 3/7 1 7 3/7 2 8 3/8 1 9 3/9 3 このような表で各日付ごとの合計を出したいのですが3/2、3/5、3/6などの 抜けてる日付の合計も0で出したいです。 後ろにダミーで日付を埋めれば出来ますが、これを埋めないで出来ますか?
ピボット厨さん出番ですよ
(;゚д゚)ァ
>>727 c1=2009/3/1
d1=COUNTIF(A:A,C1)
C1D1を選択して下にオートフィル
ピボットテーブルでの話じゃないの? というかそのやり方なら C1は=A2か=MIN(A:A)で、C2に=C1+1 そしてD列はCOUNTIFではなくSUMIFだな
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 マクロの記録ができる程度 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 改行 参照 A1:A7の範囲のセルがそれぞれB1:B7のセルを参照しています B列に文字を打ち込んだとき、改行があれば折り返して表示、 無ければ縮小して表示、に出来ますか? やりたいことは、罫線だけ引いてある伝票に、エクセルで数字だけ印刷したいのです 銀行の時だけ勘定科目を二行にしたいのです alt+enterをB列に入力しても、縮小して表示だと改行が「・」になってしまうので困っています。 よろしくお願いします。
>>732 Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("B1:B7"), Target) Is Nothing Then Exit Sub
With Target '対象がA列なら Target.Offset(, -1)
If InStr(1, .Value, vbLf) Then
.ShrinkToFit = False
.WrapText = True
Else
.WrapText = False
.ShrinkToFit = True
End If
End With
End Sub
>>723 レスありがとうございます。
大変申し訳ありませんでした。
わかりづらい質問でごめんなさい。
きちんと直します。
>>726 わかりやすいご説明ありがとうございます。
想定される最大数を決め打ちで組むとなると後で修正が難しくなりますね。
それ以前に膨大な式の量になることがわかりました。
この場合
>>717 さんに教えて頂いたVBAに対応できるように
1-3 という数字も1,2,3と置換して処理した方が良いように思いました。
>>723 さんのいう作業列を使えば
【1,3,4-6】のような表記も【1,3,4,5,6,】と変えられますかね。。。
736 :
名無し変更議論中@詳しくは自治スレへ :2009/03/27(金) 12:56:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 別シートに集計 sheet1 に入力欄 sheet2、3、4、に品番ごとの集計表を作ろうとおもってます イメージ sheet1 A B C D E 1 品番 品名 数量 単価 価格 2 1 みかん 2 100 200 3 3 りんご 1 110 110 4 3 りんご 3 110 330 5 2 いちご 1 200 200 6 1 みかん 3 100 300 sheet2 A B C D E 1 品番 品名 数量 単価 価格 2 1 みかん 2 100 200 3 1 みかん 3 100 300 4 計 500 sheet3 A B C D E 1 品番 品名 数量 単価 価格 2 2 いちご 1 200 200 3 計 200 ・・・ 入力欄に入力された時点で集計されていく物を作ろうと思っています。 VBAでもいいのですが集計表のシートを開いた時点で実行できるものがいいです。 長文になりすみませんでした。 どうかよろしくお願いいたします。
>>736 オプションで再計算が自動になっていれば
入力した時点で結果が別シートにも入ってるかと。
参照しにいく式は天才に任せた
シート1だけでオートフィルタじゃダメなんかな
他人(初心者)も使える集計表を とおもったのですが・・・ やっぱり難しいですかね。
難しくは無いけど無駄だなぁ…と。
741 :
727 :2009/03/27(金) 13:39:45
レスありがとうございます。 関数なら日付を列挙してSUMIFでできることはわかってますがピボットテーブルでやりたいんですけどできますか? 実際はデータが多いので何度もSUMIFはピボット厨に馬鹿にされそうなので。
742 :
名無し変更議論中@詳しくは自治スレへ :2009/03/27(金) 15:54:59
ネットで買ったことあるけど、 初めは不安でした、騙されるんじゃないかと 今は、このサイトが役だってます googleでPCソフト在庫処分、検索して
何かと思ったら宣伝かよ
しかも不正コピー品
すいません、数値をビット反転をさせたいです。 普通に'='の式で。 ビット幅は3ビット。もしくはその後ビット演算したいです。 希望動作としては↓な感じです。 入力 7→0 3→4 0→7 検索してもVBAしか見つからなかったもので。 宜しくお願いします。 【1 OSの種類 .】 WindowsXP Home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ビット反転
ctrl+「]」(かな入力だと「む」)キーを編集中に押すと、 アが入力されるのですがこれは何故でしょう? [だとヌになったり、「ろ」キーだとウが入力されてしまうのですが 特に不便とかそういうわけじゃありませんが、気になったもので・・・
747 :
724 :2009/03/27(金) 17:32:12
>725 ありがとうございます。 A列の値を参照したいために できればマクロのほうがいいのですが、
>>745 ワークシート関数にはビット演算そのものはないので工夫する必要がある。
一番スッキリするのはVBAで関数を作ってしまうことなんだけど。
とりあえず3ビット反転なら7から引けばいい。
=7-A1
下3ビットだけ反転なら8で割った余りを使う。
=A1+7-MOD(A1,8)*2
>>747 どこかに作業列を使って値を出して、A列にコピペしたら早いじゃん?
>>746 おまいさんだけぢゃね?
俺のでは再現できぬ。
751 :
749 :2009/03/27(金) 20:20:33
解決しました。どうもです。
>>750 そうですか〜ありがとうございます
キーボードに¢とかある妙なキーボードなんですが、これのせいかも?です
753 :
名無し変更議論中@詳しくは自治スレへ :2009/03/27(金) 22:56:59
754 :
名無し変更議論中@詳しくは自治スレへ :2009/03/27(金) 22:58:35
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 Excel2000 同居 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】否 【5 検索キーワード 】 エクセル "object" エクセルファイルをオープンすると objectというファイルが一緒に立ち上がります。。。 (エクセルのシートが二つ上がります) OKwaveにも同じ内容がありますが 原因と対策が分かりません。 誰かご教授くらさい
>>748 おお、本当になってる(゜Д゜;
ありがとうございます。
どうやってその考えに至ったのか、頭の使い方が知りたいですw
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 エクセル 表示形式 少数 数式の結果を表示するセルで、「5」の場合は「5」、「5.4444444…」は「5.5」という風に表示できないでしょうか? 例えば、表示形式の 「数値」で「少数点以下の桁数」を1にすると「5.4444444…」は「5.5」になりますが、 5の場合にも5.0となってしまうのが困っています。 「0.???」とすると、5が「5.」となってしまうし、検索しても見つからなかったのでよろしくお願いします。
=IF(A1=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.0"))
760 :
名無し変更議論中@詳しくは自治スレへ :2009/03/29(日) 16:06:52
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 エクセル 文字列 削除 A列のすべてに金額を出力しました。(A1 500万円 A2 325万円 ・・・ A100 365万円) そしてオートSUMでA列の総額を出そうとしたところ、0としか表示されません。 どうすればA列の総額を出すことができるでしょうか。 万円の部分を一括で削除できれば、それでもOKです よろしくお願いします
A列をまるごと選択→ 編集→置換 →検索する文字列:万円 →すべて置換
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 <-> Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 メモリ不足です メッセージ 非表示 Excel2007で作成した入力/集計ファイルを2003でも問題なく使えるかテストしたところ、 「メモリ不足です。完全に表示できません。」のメッセージが再描画のたびにポップアップしてしまいます。 このファイルをExcel2003でも取り扱うことがあるため困っています。 メッセージが表示されても、仕込んだ数式・条件付書式は動作しているようなので、 ポップアップさえなければ使えると思い、"Application.DisplayAlerts = False" を試しましたが 効果がありませんでした。 ボリュームダウン(数式を削る、シートを減らすなど)せず、これを回避することはできませんでしょうか。 作成時に2003環境がなく、作りきってから発覚したのが痛いです… [ファイル構成] ・入力シート * 12 各シートに約750セルに数式、約1500セルに条件付書式を設定 ・集計シート * 1 入力シートの入力値を集計するだけのシート
763 :
名無し変更議論中@詳しくは自治スレへ :2009/03/29(日) 17:59:34
765 :
762 :2009/03/29(日) 22:04:24
>>764 ありがとうございます。
自動計算の停止は思いつかなかったので試してみましたが、残念ながら…
自分でも更に調べてみましたが、メモリ不足についてはExcelの仕様みたいですね。
>最初にファイルを作成するときに2003で造ると
次はこれを試してみます。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】はい(すこし) 【4 VBAでの回答の可否】可 【5 検索キーワード 】today()、マクロ 業務日報で日々sheetをコピーして、日付を入力することが面倒になりました。 sheetの名前を日付表示にしています 090329 日報は基本的、前日のsheetをコピーして当日分を作っています。 そこで教えて欲しいのが、現在アクティブに割れているsheetをコピーすること sheet名をtoday関数等をつかって自動で入力させたいことです 簡単な内容かもしれませんが、ご教授ください。
>>767 我ながらダサいけど。
Sub Macro1()
ActiveSheet.Copy After:=ActiveSheet
ActiveSheet.Name = Format(Date, "yymmdd")
End Sub
770 :
767 :2009/03/29(日) 23:39:41
>>768 出来た。
2行で終わるとは思ってませんでした。
ありがとうございます。
自分はこんな感じで作ってどうやって展開するか悩んでいました。
Sheets("Sheet2").Select
Sheets("Sheet2").Copy Before:=Sheets(1)
・・・・
>>769 > 一つのセルに年月日を入力すると、黄色い部分に日付が反映されるようにしたいです。
> また、一番左(H)の列は常に日曜日になるようにしたいです。
矛盾してる
入力された年月日を基準にするなら、最左列が日曜になるかは年月日入力位置が正しいか否かによる
最左列が日曜になるようにしたいなら、年月のみの入力から作成すべき
あとは「VBAで出来るから自分でコード書いて」(
>>3 ★2参照)
ああ!すみません 一番右が日曜でした!!大変申し訳ございません・・・ もう少し調べてみます。申し訳ございません
>>769 眠いからかなりテキトー
H3=8-(WEEKDAY(DATE(B1+1988,C1,1),1))
G3=IF(SUM(H3,-1)*1>0,SUM(H3,-1),"")
F2方向へオートフイル
B6=DATE(B1+1988,C1,H3+1)
右へオートフィその下も
>>772 で条件が変わったし作り変え根気力もないので 寝
>>773 ありがとうございます。大変申し訳ございませんでした。
775 :
762 :2009/03/30(月) 00:57:06
762です。 Excel2003でプレーンなファイルを作成し、 そこに全てを手で移植することで問題が解消されました。 正直かなりの骨折り作業でしたが…とりあえずは問題解決できました。 おそらく、2007は書式関連のデータの持ち方が特殊?(条件付書式の順位変更ができたりするなど)だということと、 2003 <-> 2007互換させるためのデータ保存方法が完璧ではないのかなと思いました。 (これだけ下位互換できてるということで、既に凄いとは思いますが) ありがとうございました。
2007のファイルには余計なデータがわんさか入ってるからな それを2003で作り直すことによって余計なデータを消す シートで考えれば、処理の重い空白セルがあるとでも思えば分かりやすいかな
778 :
736 :2009/03/30(月) 14:12:55
もう諦めていたところに・・ ひたすらに感謝します。 大事に使わせていただきます。
すいません、質問です。 数字を頭ゼロ付きのまま、文字列結合したいです。 数字自体は、文字列にせず数字認識にさせて、 表示設定でゼロ付きになってます。 希望としてはこんな感じです。 A1 B1 → C1(結合先 No. 03 No.03 数字を文字列にしてしまえば楽なのですが、 数字としても処理したいもので。 【1 OSの種類 .】 WindowsXP Home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字列結合、ゼロ付き
>>780 A1に数字があるとする
数字を文字列として認識させたい場合は
=A1&""
='03
または書式設定で「文字列」など
数字を(書式設定などで)文字列として認識させたあと数字として扱いたい場合は=A1*1
ちなみに=A1&""*1
だと数字として認識される
お好きに
>>781 おお、出来ました。
有難うございます。
自分で探せないところにorzっす
【1 OSの種類 .】 Windows xp sp2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 限りなく、いいえ 【4 VBAでの回答の可否】 可(出来れば関数で) シート1に入力フォーム、シート2以降に各店のデータを入れたいと思います。 そこで質問ですが、入力フォームに日付を入れます。 その日付のデータをシート2以降のその日付に対応した行にいれたいのですが、 どうやれば良いのかわかりません。 シート2以降は、A列に日付、B列以降にデータが入ります。 (A列・日付、B列売り上げ等・・・) よろしくお願いします。
質問がわからん
>>784 エスパーさまが来たぜ!!
シート1は3/1、3/2、3/5・・など実際に営業した日だけ、とびとびになってるんだな?
そしてシート2はおそらく月別になってて、しかも日付が全て埋まってるわけだな?
そういう時はVLOOKUPだ!!
・・当ってるかな?当ってたらシート2以降はどの月に対応してるか教えてくれ
当ってなかったら
シート1・シート2以降のどこの列が何に対応してるか、日付は埋まってるかどうか
を教えてくれ
ぜんぜんエスパーになってないしw
うん、ごめん、そうなんだ。エスパー気取ってみたかったけど書いてる途中でしんどくなったんだ 月曜日からのみに行くのは良くないね
入力フォームっつってんだからVlookupはないなw
>>784 そういうのExcelは苦手なんだよ
VBAでつくるしかない
793 :
名無し変更議論中@詳しくは自治スレへ :2009/03/31(火) 07:53:41
EXCEL2003の「縦書きテキストボックス」についての質問です。 (1)ボックスの四辺をクリックすると網点の枠が表示され、 ボックスの中をクリックすると斜線の枠が表示されますが、 網点枠と斜線枠で"操作できる事"に違いがあるのでしょうか? (2)複数ボックスを列(行)単位で選択してコピー&ペースト出来る(=列単位 の選択でボックスが選択対象に入っている)のですが、 列(行)単位で選択して削除してもボックスは削除されません。 どうすれば削除できるのでしょうか? (3)ボックスを[コピー]→貼り付け先のセルを右クリック→[貼り付け] とした時、ボックスが貼り付けられる位置はどういうルールで決まる のでしょうか?(ボックス左上隅がセルの左上隅と一致する時と ズレる時があるのですが、違いは何でしょうか) (4)シート上の複数ボックスのテキスト文字を全て削除する簡単な方法が あれば教えて下さい(一つずつ削除するしかないのでしょうか) よろしくお願いします。
794 :
名無し変更議論中@詳しくは自治スレへ :2009/03/31(火) 09:42:38
【1 OSの種類 .】 WindowsXP Professional SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 「エクセル 太さ」など 罫線(オートシェイブでは無くて枠の方)の太さを任意の太さに変更したいです。 直線は4種類の太さからしか選べない仕様である事は承知しております。 しかしどうしても3種類の太さの罫線が必要な原稿なので細い方から3種類使うのですが、 3つ目の太さの罫線(太さ2pt?)では太すぎるのです。 オートシェイブを使わずに、1.5ptの太さの罫線をひく方法は、無いでしょうか? 私はVBAについては存じませんが、VBAを利用する事で1.5ptの罫線(枠)がひけるのならそれでも構いません。 もっと強引に、例えばバイナリエディタでexcelの実行ファイルをいじって 一番太い直線のプリセットを潰して太さ1.5ptの太さのプリセットを作るなどでも構いません。 この端末での出力に適えばとりあえずOKです。 又はエクセル形式のファイルには罫線の太さが数値で入っている仕様なようでしたら、 太さを任意に変更する事が可能なソフトなどを教えて頂ければと思います。 何卒宜しくお願い致します。
>>794 無理。
色を少し薄く(明るく)すれば錯角で細く見えるようになる。
>>793 ヘルプ見りゃ全部わかる
>>794 「仕様である事は承知しております」わかってんなら聞くな
797 :
名無し変更議論中@詳しくは自治スレへ :2009/03/31(火) 11:07:07
答える気が無いなら書き込むなよw
>>794 細いの2本か3本並べてグループ化、コピーして使うとかどう
後は図として用意し、拡大してみたりとか
後ろ塗りつぶされちゃうけど
>>794 一番細い破線は印刷すると細い直線に見えるプリンタもあるよ
800 :
名無し変更議論中@詳しくは自治スレへ :2009/03/31(火) 14:48:01
win xp エクセル 2002 vba使わずに出来る方法が良いです キーワード 罫線 書式の保護は解かるのですが フォントやパターンは変更できるようにして 罫線だけを変更出来ないようにするにはどうしたら良いですか?
テキストボックスでマクロの記録をしているのですが、msotrueとはなんでしょうか? ただのtrueとはまた違うと思うのですが、どこが違うのか良く分かりません。 またMSDNでmsotrueがどういった意味か調べたいのですが、他の語句の一部として出てきてしまいます。 msotrueという言葉自体を調べたい場合は、どのように調べれば効率が良いでしょうか?
802 :
793 :2009/03/31(火) 15:29:53
>>796 レスありがとうございます。
ヘルプ見ましたが、書いてある所が見つかりません。
どこに書いてあるのでしょうか?
>>801 ググれ
TrueはBoolean(VBAでは-1)、msoTrueは組み込み定数(-1)。
先頭行から、データの最後まで1行ずつ処理するマクロを作りたいんですけど、 ExcelでEOD判定ってどうやるんですか?
eod判定は知らないけど ・最終行のROWを取得。マクロの記録でA65535選択後ctrl+↑ ・fornextでカウンタをの最後を↑の行に。後はカウンタ変数をcells(i,1)みたいに使って処理
>>805 1) .Range("A65536").End(xlUp).Rowで指定列の最終入力行取得
2) Sheets.UsedRange.Rows.Countでシート使用範囲の行数を取得
3) Range("A1").CurrentRegion.Rows.Countで指定セルと連続した範囲の行数を取得
を使ってFor〜Nextで。
1)〜3)それぞれ仕様が違うので、ヘルプ&ぐぐった上で好きなのどうぞ。
808 :
805 :2009/04/01(水) 07:44:49
>>806 >>807 素早いご回答ありがとうございます。
いろいろ方法があるんですね。試してみます。
> 1) .Range("A65536").End(xlUp).Rowで指定列の最終入力行取得 バージョン情報無しの場合にこの回答すると「不適切」と言われる時代になってしまったな。 正しくは .Cells(Cells.Rows.Count, 1).End(xlUp).Row
ああ、2007対応が必要ですね。失礼しました。
811 :
名無し変更議論中@詳しくは自治スレへ :2009/04/01(水) 09:18:13
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 時間計算 / excel 時給計算 時給の勤怠表を作っています。 1. 9:00 〜 22:00 と入力した時点で 「9:00〜17:00」 「17:01〜22:00」 「8時間超」 の各勤務時間が出るようにしたいのですが 総勤務時間は出せるのですが入力した時間から上記時間帯分を取り出す方法がわかりません。 2. 1.と同じ入力で、総勤務時間が8時間を越えた部分だけ25%増しにしたいのですが、 =((総勤務時間*24)-8)*1.25 でいいのでしょうか? よろしくお願いします。
>>811 数学もとい算数の問題はスレ違い。
Excelのシリアル値の扱いが解らないと言うなら、その部分は教えるが
算数的な計算方法が解らない奴に、算数教えるスレじゃないのでね。
つーか、勤務とか書いてるけど、まさかそのレベルで会社に勤めてる社会人だとか言わないよね?
春休み中の小学生でしょ?おとうさんやおかあさんは教えてくれないの?
親がパソコン出来なくても、Excelと言わず文章問題にすれば、計算方法くらい教えて貰えるでしょ。
813 :
811 :2009/04/01(水) 10:21:09
すみません、2.は撤回します。質問も計算も間違えてました。 1.の時間帯の取り出し方を教えて下さい。お願いします。
IF関数で検索
>>813 その時間帯の中での開始と終了を算出して引き算すれば良い。
例えば「17:00〜22:00」の中での開始時刻は
=出勤時刻が17:00以前なら17:00、そうでなければ出勤時刻そのまま
こういう感じで、各時間帯内の開始時刻と終了時刻を算出すればあとは単純に「終了-開始」。
最初は作業セル使って式を組んだ方がいいだろうね。
ワークシートに配置したオプションボタンについて質問です 複数グループ作ることはできますか? オプションボタンを1-3と配置し、グループ化したあと4-6つ目を別グループとして配置したとします 4にチェックを入れる(valueをtrueにする)と、4以外の1-3,5と6のチェックが全て消えてしまいます 1-3と4-6独立させたいのですが、どのようにすればいいのでしょうか フォームに配置すれば解決できるのですが、ワークシート上で実現できるかどうか教えてください
>>812 なんでそんなに偉そうなの?
誰しも初心者の頃が合っただろうに
>>811 が小さい商店のバイトの可能性だってあるだろう
啓蒙(笑)なんてせずに淡々と答えてれば良いんだよ
>>811 A1に開始B1に終了C1に休憩D1に総労働時間
となってるとする
E1に17:00までF1がそれ以降G1が8h越え
E1=17/24-A1
F1=+D1-E1
G1=IF(8/24<D1,D1-(8/24),0)
>>812 おまいみたいなのが居ると、空気悪くなるからくんな!!!!!!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ソート カウント 業務でexcel形式の患者データベースを使用しています。 オートフィルタで患者人数をある程度絞った後、 出てきた行数をカウントしたいのですが、 どうすれば出来ますか? 関数を使おうと思ったのですが、ドラッグアンドドロップで範囲指定すると 表示されていない行まで選択されたりして非常に手間がかかって困ります。 簡潔な手順でこなせると非常に嬉しいです。
>>819 フィルタかける表の上に行を挿入して、SUBTOTAL関数
subtotal(103,範囲)じゃダメかい?
>>821 第一引数103は2003以降の機能。2000なら1から11まで。
>>816 は仕様上無理と思ってよろしいでしょうか?
別に無理じゃないけど
825 :
816 :2009/04/01(水) 21:58:22
分かりました!グループネームを帰ればいいんですね! ヒャッホーできたー
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 シート1で入力をし、シート2以降にそれを反映させたいと思います。 シート1に入力するのは、日付、パートさんの入店時間、退出時間、等です。 シート2以降は、パートさんの個人毎のシートです。 シート1は、 A 1 1/1 2 Aさん 3 10:00 4 15:00 シート2(Aさん)、 A B C ・・・ 1 1/1 10:00 15:00 2 1/2 3 1/3 以上のように、シート1のA1に日付、A2に人名を入力した場合、 シート2(Aさんのシート)のA列の日付に対応した入店時間等を入力するにはどうすれば良いのでしょうか? (例として、シート1に、 A 1 1/2 2 Aさん 3 11:00 4 18:00 と、入力した場合、シート2に、 A B C 2 1/2 11:00 18:00 このように反映されたいです。 宜しくお願い致します。
827 :
826 :2009/04/01(水) 22:19:52
行間が変になりました。 申し訳ないです。
AさんとA1の見分けがつかない
>>826 せめて三回分ぐらいは例として出した方がいい。
シート1も2も右に伸びるのか下に伸びるのか分からない。行間の有無も有るのか無いのか分からない
後、シート2のように入力して、シート1のように出力するようにするべき
シート2には左から名前、日付、入室、退室と入力し、
シート1はそれを元に出力するからぶっちゃけどんなスタイルでも何とかなる
今から造るならそうした方がいい
そうしないなら他の人にパス
>>829 シート1は入力フォームを使うと思うので、右や下には伸びないです。
こうしたらイイというのがあれば是非お願いします。
>>828 変えました。
シート1で入力をし、シート2以降にそれを反映させたいと思います。
シート1に入力するのは、日付、パートさんの入店時間、退出時間、等です。
シート2以降は、パートさんの個人毎のシートです。
シート1は、
A
1 1/1
2 人妻肉欲の一夜さん
3 10:00
4 15:00
シート2(人妻肉欲の一夜さん)、
A B C ・・・
1 1/1 10:00 15:00
2 1/2 11:00 18:00
3 1/3 9:00 12:00
以上のように、シート1のA1に日付、A2に人名を入力した場合、
シート2(人妻肉欲の一夜さんのシート)のA列の日付に対応した入店時間等を入力するにはどうすれば良いのでしょうか?
(例として、シート1に、
A
1 1/2
2 人妻肉欲の一夜さん
3 11:00
4 18:00
と、入力した場合、シート2に、
A B C
2 1/2 11:00 18:00
このように反映されたいです。
宜しくお願い致します。
何でわざわざややこしい事しようとするんだろう・・・
832 :
名無し変更議論中@詳しくは自治スレへ :2009/04/02(木) 05:59:51
ブックを開くとauto openでマクロが実行され、実行終了時にブックが閉じてしまう場合、 VBAのコードを見る方法を教えて下さい。
マクロのセキュリティレベルを上げてから そのブックを開く
834 :
832 :2009/04/02(木) 06:16:57
ありがとうございます。
>>830 シート1は入力フォームを使うと思うので、右や下には伸びないです。
これの意味が分かりません。
>>826 ,830
俺だったら入力にはユーザーフォームを使うし、個人別にシート作らず月や年など期間別でシートを分け
個人別の表示がしたい場合はフィルタを使うが、とりあえず要求仕様通りに作ってみた。
Sub Test()
Dim Sh As Worksheet
On Error GoTo SheetNothing
Set Sh = Worksheets(Range("A2").Value)
On Error GoTo 0
With Sh.Cells(Cells.Rows.Count, 1).End(xlUp)
.Offset(1, 0).Value = Range("A1").Value
.Offset(1, 1).Value = Range("A3").Value
.Offset(1, 2).Value = Range("A4").Value
End With
Exit Sub
SheetNothing:
MsgBox "Sheet:" & Range("A2").Value & " がありません"
End Sub
シート1のモジュールに上のコードを貼り、ボタンでも作って割り当てろ。
837 :
名無し変更議論中@詳しくは自治スレへ :2009/04/02(木) 12:24:43
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL 全シート 一括変更 工業用機械のレンタル業務をしております。 何月何日何時から何時までに、どの機械を、どの顧客に貸す予定か、この機械はどの顧客が使うか をエクセルでまとめて管理しています。 シート名が日付で、左に「機械1〜6」を並べ、上に「4:00〜翌4:00」を並べ、交差するセルに貸出顧客名と色をつけて貸出時間。 その下部に定期レンタル情報、機械1「佐藤工業」 機械2「」 機械3「鈴木興産、山田工業」 のように、現在顧客が定期的に借りたがってる機械が分かるようにしています。 そこで困っているのですが 4月1日には、機械1「佐藤工業」機械2「」でしたが 4月2日に、佐藤工業から「今までは機械1を借りていたが、これからは機械2を借りていきたい」 と言われたとき、4月2日以降の全てのシートの、機械1を「」機械2を「佐藤工業」に、一括で変えれる方法を探しています。 現在4月2日以降のシートの全てを手入力で変更しており、手間がかかっております。 私には難しいようなら4月1日以前も含めた全シートを変更しても大丈夫です (できるなら、この時期には機械1を〜に貸していたという情報を残しておきたいのですが・・・) よろしくお願いします
>>837 A1に入力されているとする
・A1をクリック
・シートタブの4月2日をクリック
・シフト押しながら4月10日をクリック
・4/2のA1に佐藤工業と入力
・ctrl押しながらenter
ちなみにシフトじゃなくctrlで選択すれば、4/2、4/5、4/10と続いてなくても選択できるよ
他には ・シートタブの4月2日をクリック ・シフト押しながら4月10日をクリック の状態でCTRL+Hで置換するという方法も お好きに
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel オートフィル SUM A列に週間ごとの仕入れ個数 B列に週間に仕入れ個数に対する売り上げた割合(%) が入力してあります。 そのデータが1年分くらいあるのですが、そこで 週ごとに、これまでに仕入れた総個数に対するそれまでの売り上げた総個数の割合をださなくてはいけません 通常でしたらどこかに、週ごとの仕入れ個数×売れた割合 で週ごとの売り上げ個数をエクセル表に出し そのデータを使い その週までの売り上げ個数/SUM(A1:A5) などで出すことは可能なのですが 今回はその売り上げ個数をエクセル表内どこにもださず、数式内で出して直接割合を出さないといけません 最初のいくつかを出してから、あとはオートフィルで終わらしたいのですがどのようすればできますでしょうか? よろしくお願いします。
>>840 A列全てに日付が入ってるなら
c7=if(weekday(a7)=1,sum(a1:a7),0)
みたいな感じで
日付が入ってないなら作業列を作ってvlookupで参照し、
日付を全て埋めた表を作り直してから上記の式を入れる
分からなかったら再度質問してね
他のアプリからUnicode(UTF-16)で出力されたCSVファイルを Excel2003や2007で開くと、カンマで区切られず、 A列にすべて表示されてしまうのですが、非対応なのでしょうか? テキストエディタなどでSJISに変換すると、ちゃんと区切られます。
>>842 テキストファイルウィザードや区切り位置指定ウィザードを使ってみて
844 :
837 :2009/04/03(金) 11:02:42
ありがとうございました^^
>>843 なるほど、このウィザードを使うと表示できました。ありがとうございます。
SJISのCSVは直接開けるのに、UnicodeのCSVはダメなんですね。
846 :
名無し変更議論中@詳しくは自治スレへ :2009/04/03(金) 11:59:23
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 A列で入力済みの最終行をコピーして その下のセル1〜56行まで貼り付ける その作業を、A,D,F,G,Hの列すべてで同作業を行うマクロを作っています For 行 = 1 To 56 Range("A3").End(xlDown).Select Selection.Copy Selection.Offset(行, 0).Select ActiveSheet.Paste Next 行 For 行 = 1 To 56 Range("D3").End(xlDown).Select Selection.Copy Selection.Offset(行, 0).Select ActiveSheet.Paste Next 行 ・・・ この文の繰返しよりもっとシンプルな方法があれば教えてください よろしくお願いします
>>846 Sub Macro1()
Dim 行 As Long
行 = Range("A3").End(xlDown).Row
Range("A" & 行 + 1 & ":A" & 行 + 57).Value = Range("a" & 行).Value
End Sub
列の要素は配列にでも入れるのが妥当だろうけど、これの繰り返しでいいと思う
あえてやるならvba 配列なんかでぐぐるといい
>>846 Sub Macro1()
Dim 行 As Long
Dim 列 As Variant
列 = Array("a", "d", "f", "g", "h")
Dim i As Long
For i = 0 To 4
行 = Range(列(i) & "3").End(xlDown).Row
Range(列(i) & 行).Copy
Range(列(i) & (行 + 1) & ":" & 列(i) & (行 + 57)).Value = Range(列(i) & 行).Value
Next
End Sub
配列作ってみた
849 :
名無し変更議論中@詳しくは自治スレへ :2009/04/03(金) 14:02:17
>>846 Sub test()
'A列
Range("A3").End(xlDown).Select
Range(Selection.Offset(1), Selection.Offset(56)).Value = Selection.Value
'D列
Range("D3").End(xlDown).Select
Range(Selection.Offset(1), Selection.Offset(56)).Value = Selection.Value
'FGH列
For i = 6 To 8
Cells(3, i).End(xlDown).Select
Range(Selection.Offset(1), Selection.Offset(56)).Value = Selection.Value
Next i
End Sub
850 :
>>846 :2009/04/03(金) 15:17:41
配列ぐぐっても答えが出ず 戻ってみるとすでに・・・ 皆様ありがとうございました。 素朴な疑問、何人くらい回答者様がいるんだろ?
大体常に3-5人ぐらいと思う 深夜は少ないけどそれでもたまに誰かいるみたいだね
852 :
840 :2009/04/03(金) 19:29:32
>>841 ありがとうございました
自己解決しました
教えてください。 Windows XPで、office2000のExcelです。 セルの罫線近くをWクリックすると、その方向の端っこまで ガーンと飛んでしまいます。 これを、飛ばないように(何もしないように)するには、どの設定をすれば 良いでしょうか?
仕様っす
>>854 選択セルの、だよ
選択セルの下の罫線をダブルクリックすると確かctrl+↓と同じ挙動だったと思う
人によってはウザイかもしれない
ダブルクリックしなければいい 何もしなければ何も起こらない
ダブルクリックで編集しようと思って枠をゃっちゃうんでしょ F2使えって話ね
>>853 です。
みなさん、ありがとうございました。納得しました。
質問の説明が甘くてすみませんでした。
すみません。もう一つ教えてください。
「折れ線グラフのデフォルト設定を変えたい!」についてです。
シート上にグラフを作成するとき、次のようにしています。
・グラフにしたいデータのセルを矩形で選択します。
・グラフボタンをクリック。グラフの種類の選択を始めとする一連の入力をして、
シート上にグラフができます。
そこで、質問です。
EXcelがデフォルトで設定している、折れ線グラフは、
・線が太い
・陰は要らない
・黄色は見にくいからダメ
・データの点(マーカー?)は、もっと小さく
と、いろいろと不平があります。
ですので、一旦グラフ作成してから、手動で直しています。
希望の設定が、どこかで設定出来るものなのでしょうか?
特に、同じ見栄えでグラフを複数作りたいときなどは、
タイトルや、横軸、縦軸の各名称など、全部同じなので、
何度もしなければならず、気が遠くなる作業です。
どうぞ宜しくお願いします。
>>859 グラフを選択してctrl押しながらマウス動かせばコピーできるよ
CTRL+C、CTRL+Vでもok
グラフのユーザー定義で設定できる気もするが、知らん
861 :
名無し変更議論中@詳しくは自治スレへ :2009/04/04(土) 13:57:31
一年間の日付、2009・4/1〜2010・3/31まで一気にコピー貼り付けってできますか?
複数のセルに同じ関数を一度に適用することはできますか? 100.111 100.115 100.119 現在、このようになっているのですが、全てのセルの小数点以下を rounddownで取り除きたいのです。
>>862 VBAならデータがA1:A3にあれば
With Range("A1:A3")
.Value = Application.RoundDown(.Cells,0)
End With
VBA無しなら=INT(A1)とでもして、コピー、形式を選択しては貼りつけ、値
で置き換えればいいんじゃね?
>>862-863 A1からA4にデータが入ってるとしたら
B1からB4を選択しB1をアクティブにした状態で
=ROUNDDOWN(A1,0)
と入力してCtrl+Enterで一気に入力できる。
選択した範囲に同じ値、同じ数式を入力するのがCtrl+Enterね。
>>861 質問がよくわからない。
貼付元に一年間の日付があるなら1列に対しては貼り付けられると思うけど
列は256しかないから1行に貼り付けることはできない。
ただ1年間のデータを作成したいなら
A1に2009/4/1を入力して選択した状態してフィルハンドルか、
A1に2009/4/1を入力して選択した状態。
編集(E)→フィル(I)→連続データの作成(S)で
列(C)、日付(D)、日(A)選択、増分値(S)は1、停止値(O)は2010/3/31とか。
2009/4/1じゃなくて2009・4/1にしたいなら上記方法でデータつくったあとで
=TEXT(A1,"yyyy・m/d")
>>865 ありがとうございます。一発で出来ました。助かりました。
869 :
名無し変更議論中@詳しくは自治スレへ :2009/04/04(土) 19:39:28
VBAの記述に関しての質問です。 どう書いたらいいのでしょうか、よろしくお願いします。 ActiveCell.Formula = "=IF(AND(O6<AE6-1,J6>=AE6),"1","")" 右辺の""の使い方が悪いため、現在エラーになっています。 関数としては=IF(AND(O6<AE6-1,J6>=AE6),"1","")で有効なのですが。
1ヶ月間の日付と曜日を自動的に表示させる表を作りたいです。 年と月を特定のセルに入れて、そこからDATE関数などを使うのはわかるのですが、 特定の曜日(例えば土日)の日だけを表示させないってことはできますか? 今月でいうなら、 1 水 2 木 3 金 6 月 7 火 のような感じで、不要な曜日の行を詰めることができればベストなのですが・・・。
>>870 A1=4/1
A1とA2のセルの書式設定 "d aaa"
A2=IF(WEEKDAY(A1)=6,A1+3,A1+1)
A2を下方向にオートフィル
>>871 あぁなるほど。
表示させてからいらない行を消すことを考えてましたが、
考えてみればifで最初から表示させなければいいだけですよね。
ありがとうございました。
>>869 記述の仕方がわからないときは、マクロを記録しながら
その関数を入力してみるといいよ。
ちなみに"〜"の中で"を使用したい場合は""って2回書く。
874 :
869 :2009/04/04(土) 20:41:02
サンクス。マクロの記録が取れるとハナから思っていなかった (;~o~;) orz 取ってみたら、次のとおりでした。 念のためですが、後段の分""")"はこれで正しいはずです。 ActiveCell.Formula = "=IF(AND(O5<AE5-1,J5>=AE5),""1"","""")"
質問です。 B列からZ列に点々と値が入力されているのですが その入力されているセルだけ抽出して A列に順番に持ってくるというのは出来ますでしょうか。 イメージはこのような形になります。 A1=あ A2=い A3=い B2=あ D=い E=う A B C D E 1 あ い 2 い あ 3 う う
すごくずれてしまいました。 すいません。 A1=あ A2=い A3=い B2=あ D=い E=う A B C D E あ い い あ う う
無理じゃない?
範囲A1:AC3000の全てのセルに対し、 左が"2"右が"8"だとそのセルを"5"にしようと思っています。最初にそのセルに入ってる数値は消えてもかまいません どのようにコードを書けばよいでしょうか?Foreact〜nextか配列にすればいいと言うことは分かりましたが、よく理解できません。 コードが無理ならヒントでいいので、 限られた範囲でforeachを使う方法を教えてください 実際は商品番号・原材料・仕入先と運送会社が入っていて、 会社合併により全ての商品番号がある規則に従い(2と8の間だと5、のように)変わるため このような処理が必要になります あと別件ですが、array関数で配列に値を格納するときなんですが、 A1-A5の値をarray関数の引数に一気に指定する方法はありますか? = Array(Cells(1, 1).Value,Cells(1, 2).Value・・ はしんどいです・・
>>875 入力されてる範囲がせまい場合限定だけど、
範囲選択、コピー
別シートに形式を選択して貼り付け、そのときに「行列を入れ替える」ってのがあるからそれを選択してはりつけ
その範囲がA1:J100にでもなったとする
一番右端の次の列、たとえばK1に
=COUNTA(A1:J1)
Kを0以外でオートフィルタ
コピーしてどこかに行列を入れ替えて貼り付け、完了
>>877 もう少し考えようよ
>>879 考えたけど無理やりすぎて泣けたので書かなかった
↓
いっそのこと想定される行数が100だったら
一つの作業列に
=a1
=a2
..
..
=a100
=b1
=b2
..
..
=b100
zまで繰り返し
オートフィルタで空白を除外すればおk
だめだ泣けるw
>>875 何をしたいのか例が悪すぎてよくわからない。
A3=いって書いてあるのに、表のA3に「う」が入ってるのはどういう法則?
D=い と E=う も意味不明。
文章を読む限りでは=CONCATENATE(B1,C1,D1,E1)でいいんじゃない?って気がするけど。
>>878 2,2,8,8って並んでた場合はどうするの?
2,5,5,8にするの?
array関数への値の格納にはFor Next使えばいいじゃん?
>>883 2、5、8
はそれぞれ仕入先、運送会社、売り上げ先を表しているつもりです。わかりにくくいすいません。
かぶっているところは現在ないので、気にしなくても大丈夫なのです。。
arrayありがとうございます。助かります。
>>878 一次元配列ならArray関数じゃなうくてもいいんじゃない?
a = WorksheetFunction.Transpose(Range("a1:a5"))でaは一次元配列になる。
その例では横方向になってるのでA1:E1の値を一次元配列にしたければ
a = WorksheetFunction.Index(Range("a1:e1").Value,0)だが、Joinとかで使う必要がなければ
a = Range("a1:a5").Valueと二次元配列でもいいんじゃない?
>>885 おおお!!ありがとうございます!!
知りませんでした!ありがとうございました!!
/ `丶、 / \ / / / 丶 / / l / / } ヽ ,' l .|l |⌒ / / | | ! ', | | |{ | l / /⌒| l | ! | | |」_{ _ { {{ / / | / | | ぎゃおー! j /⊃ _|⌒ヾ八从/j∠ j/ /j ,' 食ーべちゃうぞー♪ /xくヽ_ト._V }ゞ , v- _ '´ ̄’ハ/|/ / ,ヘ-、 / iヘJノ 人.( ノ ""イ.} l乂,.イ /゙)ヘし〉 {∧ |. ヽ> -r'-‐ '´ ハ ', / } ハJ l〉 ∧ .ハ! /  ̄`\ノ,! ハ| / ノ / / /レヘノ ヽ// __,.ノl / / / /. Y ` < /::::|/ / / //^ 〉 `丶ィ'´ / .ハ / /∧ ゙ l `,ヘ、 / /:::l\{ / ', V `>、 __/ . /:::::| `ー<_ ハ マ⌒Y i::::::::::;! ,'::::::::| `''''ー--', ', |:::::;: ' l::::::::::', ,. -―、} { '. |::/ |::::::::::::i ,. -‐、/ j ', |/ |:::::::::::::|/ / ∧ ′ ヽ:::::::::::| ,' ヽ , l ',:::::::;! i 、 / │ |:::/ | \ ノ/ | レ′ | | l
1 2 3 4 5 6 7 100.0% 73.3% 40.0% 32.6% 28.0% 25.6% エクセルで上記のような表がある場合に つぎの7の数値を求めてくれる(予測)してくれる関数はありますか?
891 :
875 :2009/04/05(日) 18:21:22
>>891 だから=a1&b1&c1&d1&・・でいいよ
横に長いならまた言って
indirectとrowで片付けれる
>>891 A列に取りだす順序は何か規則性があるの?適当でいいの?
文字は1列中に1セルにしか入って無いとかそういう規則はあるの?
>>892 横列の長さは最大で2000くらいあります。
行数は最大で256です。
>>893 A列に取り出していく順序は出来れば
B列の上から下まで
C列の上から下まで
と規則的な方が良いです。
>>894 エクセル2007?
ちなみに列ってのは横にABCと続いてるもの、行ってのは123って書いてる方だけど大丈夫だよね
>>891 1つの列に2箇所文字が入ってる場合はある?
あった場合はどういう法則?
だぶりゅー!
>>898 解釈間違ってたスマン。A列に集めるってことなのね
>>895 エクセル2007を使っています。
列は横列のA.B.C....と続くもので大丈夫です。
行は1.2.3...と続くもので大丈夫です。
エクセル2003だと66536行くらいが最大らしいですね。
>>896 途中で数字が入っていたらしく合計した値が出てきました・・
文字列のcounta?のようなものを検索した方がよいですかね。。
>>902 VBA使えるかどうか、頼む
無理なら俺はお手上げだ
>>902 それならやっぱり俺の
いっそのこと想定される行数が100だったら
一つの作業列に
=a1
=a2
..
..
=a100
=b1
=b2
..
..
=b100
zまで繰り返し
これを256にすればいいじゃまいかw
敷き詰めてあるならオートフィルタで空白不可視にしなくていいしなw
打ち込むやつはオートフィルでうまくやってくれるんじゃないか?あできなかったわw
誰かに任せたしw
>>903 >>904 マクロの式さえ貼っていただければ実行するだけなので出来ますが
自分で書くのは出来ません。マクロの記録というのするのが精一杯です。
>>905 これでいけそうですね
連続データがうまく作成できませんが。
>>906 オプション設定で数式を表示させれば連続データが作成できるよ。
最後に空白をオートフィルタで削除してコピーしなきゃなんないけど。
ちなみに何に使うの?
>>875 できたぞカスどもー(^q^)ノ
A1=INDIRECT("r"&MOD(ROW(),256)+1&"c"&2+INT(ROW()/256),0)&""
下にオートフィル、A列をコピー、値で貼り付け
後はオートフィルタで空白以外全てを選択すればいい
VBAのほうが早かったれす(^q^)
忘れてたがb1だけは調節してくれ あと一応65536辺りはしっかりみておいてくれ
>>906 じゃあこれでやって
aGyou = 1
For Retu = 2 To 2000
For Gyou = 1 To 256
If シート名.Cells(Gyou, Retu).Value <> "" Then
シート名.Cells(aGyou, 1).Value = シート名.Cells(Gyou, Retu).Value
aGyou = aGyou + 1
End If
Next i
Next j
aGyou = 1 For Retu = 2 To 2000 For Gyou = 1 To 256 If シート名.Cells(Gyou, Retu).Value <> "" Then シート名.Cells(aGyou, 1).Value = シート名.Cells(Gyou, Retu).Value aGyou = aGyou + 1 End If Next i Next j
あ、下の i と j はそれぞれGyouとRetuに変更してね
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 A.B.C列つなげて最後にD列の値を上から順番につなげていきたいと思っています。 E1=A1&B1&C1&D1 E2=A1&B1&C1&D2 ... E10=A1&B1&C1&D10 というようなイメージです。D列には10行くらい数字がきています。(10行というのは後で変えられると助かります。) ”1”の行が終わったら次は”2”の行で同じことを繰り返して またD10まで足したら次は’3’行で・・・というようにしたいです。 E10=A1&B1&C1&D10 の続き E11=A2&B2&C2&D1 E12=A2&B2&C2&D2 ... E21=A3&B3&C3&D1 よろしくお願いします。
>>888 FORECAST()という関数がある。
ただし、原理(回帰分析)を理解してから使うように。
>>915 =INDIRECT("a"&1+INT((ROW()-1)/10))&INDIRECT("b"&1+INT((ROW()-1)/10))&INDIRECT("c"&1+INT((ROW()-1)/10))&INDIRECT("d"&1+MOD(ROW()-1,10))
最後の10を変えれば変更も可能と思う
>>912 これで大丈夫ですか?
シート名のところにはsheet1 といれればよいのでしょうか
Sub test()
aGyou = 1
For Retu = 2 To 2000
For Gyou = 1 To 256
If シート名.Cells(Gyou, Retu).Value <> "" Then
シート名.Cells(aGyou, 1).Value = シート名.Cells(Gyou, Retu).Value
aGyou = aGyou + 1
End If
Next Gyou
Next Retu
End Sub
>>914 F1=10
A,B,C列分
=INDEX($A$1:$A$10,INT((ROW()-1)/$F$1)+1)
D列分
=INDEX($D$1:$D$10,MOD(ROW()-1,$F$1)+1)
あとは自分で繋げて
>>917 ActiveSheet.Cells(Gyou, Retu).Value <> "" Then
でいいかと
>>917 のでうまくできました!
皆さんの貴重なお時間裂いてしまってすいません。
本当にありがとうございました!!
>>921 シート名.Cells
をActiveSheet.Cellsに全て変えればいいよ
>>918 ありがとうございます
うまくつながりました
>>918 にひとつだけ追加してもよいでしょうか
=INDEX($C$1:$C$256,INT((ROW()-1)/$F$1)+1)
を65536行以上に対応させるには
,256 みたいなのをどこかに入れればよかったような記憶があるのですが(うろ覚え)
正しくはどう記述したらよいでしょうか
フィルしたら確かに7万くらいの行からエラーになるね 俺にはわからん
7万って存在するのか
2007なら存在するよ 104万行まで存在するよ
>>928 ほんとですか?
今まで、たまにエクセルで1/1000秒 積分していて
6秒しか計算出来なかったのに
104秒計算できる。2007導入を考えたくなった スレ違いでスマン
D列に300行くらい数値があり F1=256 G1=INDEX($D$1:$D$256,INT((ROW()-1)/$F$1)+1) ↑をオートフィルすると65537行目からエラーになってしまう。 むりぽ?
>>930 その程度のことなら6万逝ったら次列に移動する(6万*256列=1536万)とか
外部ファイルに結果を書き出す(ほぼ無限)とかすればいいだけじゃん。
>>933 実験で外部ファイルから数値を読み込んで、エクセルで計算していた。
6秒(6万行)ごとに各シートにまとめ、グラフを作っていた。
全体のグラフが見たい時は1/100秒で積分したりしていけど、手間が省けそう。
マジ助かった。
>>932 解決いたしました
>>545 の
=INDIRECT("d"&INT((ROW()-1)/256)+1)
を使ったところ65536行以上に対応できました。
>>935 おめでとう
2007が普及してきてから65536以上のネタ増えたなと実感
もうすぐ次スレだな
A列にあるデータの個数の合計を出すには 関数はどう書けばよいですか?
セル結合を一気に出来ないだろうか 行方向に4セル結合を 100行を簡単に、一気に とか(^^;)
普通に吹いたw
>>939 数値の個数
=COUNT(A:A)
空白以外のセルの個数
=COUNTA(A:A)
空白以外のセルでA1の値に合致するセルの個数
=COUNTIF(A:A,A1)
>>940 メニューバー→表示(V)→ツールバー(T)→ユーザー設定(C)
→コマンドタブ→分類(G)の書式→コマンド(D)の横方向に結合
をツールバーにドラッグして使用
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 1 あ 2 い 3 う 4 え と表があり、新しい表に[1]と打ち込んだら[あ]と、 [4]と打ち込んだら[え]と表示させるのはどうすればいいんでしょうか?
>>945 vlookup関数を使う
最初に別に表を作っておいてコピー、
947 :
945 :2009/04/06(月) 12:58:25
>>946 それです!vlookupです!ありがとうございました!
数式にエラーが出たときにfalseを返す関数はありますか? iserrorにiserrorを入れ子すれば実現はできるのですが、 もしあれば教えてください。
>>945 そういるルールだからです。
「ぬーやる」バーガーはしってますか?
>>948 入れ子?
=ISERROR(ISERROR( 式 )) は、どんな式でも絶対にFALSEになるんだけど。
普通はNOT(ISERROR( 式 )) か IF(ISERROR( 式 ),FALSE,TRUE) みたいにやる。
>>950 入れ子にしたときfalseとエラーを勘違いしてしまいました
NOTですね、ありがとうございます
>>945-946 A列が1からの連番ならVLOOKUPでわざわざ検索する必要はない。
D1に3と入力して"う"を求めるには
=INDEX(B:B,D1)で充分。
B列の後ろが未入力で0となるのが嫌なら
=INDEX(B:B,D1)&"" とすりゃよい。
ただしD1が未入力だったり0だったりすると"あ"になるのでその対策は必要かもね。
なおA列の連番はなくてもよい。
>>949 誤爆?
沖縄の食い物で一番うまいのは「ホーミ」だな。
あの貝はうまい。
2007用の65千行を超える場合のコードをテンプレにしてもらいまいか
>>954 テンプレ用としてまとめた物を提示してください
>>943 ありがとうございます
コマンド→書式→横方向に結合をドラッグどろっぷ
してできました
ツールバーにコマンド追加ですね。勉強になります
957 :
954 :2009/04/07(火) 00:30:54
ごめん、余計なことを書いたorz 意味もよくわからず、ただ、期待を述べただけでそ。 まとめたものが出来るぐらいなら・・・ うっうっうっーー ;;;
958 :
名無しさん@そうだ選挙にいこう :2009/04/07(火) 01:37:01
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel ファイル 開かない 今まで開けていたファイルが見れなくなりました。 現象としては、ファイル名.xls →ダブルクリック EXCEL起動 → ツールバー等は表示されるが、 画面にデータの入ったシートが出てこない。 対象のファイル以外のファイルは表示されるものも あるが、されないのもある。 他のPCでファイル共有して開いてみると、表示されるので データは壊れていないです。 過去に同じような症状があったような気がして、 そのときは、EXCEL自身がファイルを開く時に どこかにバックアップファイルを作り、ゴミとしてそのファイルが 残ったままになっているので、そのファイルを消すと、 表示できたような覚えがあるのですが、MICROSOFTのサイトや ググって見ても、見つけきれませんでした。 対応方法を教えてくださいませ。
とりあえず再インストール 面倒とか言わずに自分で出来ることくらいは試せ その上でまだ駄目ならまたおいで 再インストールが嫌とか言うなら永久にさようなら
960 :
958 :2009/04/07(火) 02:01:39
>>959 再インストールしました。。。。。。。。。
で、解決しました。
ツール→オプション→全般タブ→他のアプリケーションを無視のチェックOFF
でOKでした。
おかげで、MicroSoftアップデートのやり直し中です。。。
ていうか、なぜチェックがついたんだ?それが気になる。
961 :
名無しさん@そうだ選挙にいこう :2009/04/07(火) 11:45:26
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 関数 計算結果 反映 B1〜E1に同じ数式 B1セルで説明すると=IF((B2-A2)/B3=(C2-B2)/C3,"",B2) が入っています。 B1〜E1は非表示になると思ったのですが 下にように表示されてしまいます。 A B C D E F 1 10.06 10.12 10.15 2 10.03 10.06 10.09 10.12 10.15 10.18 3 2 2 2 2 2 うまく計算結果がでない理由はなんでしょうか? また、その対処方法を教えてください ちなみに、A2〜F2セルに10、12、14、16、18、20 などと入れた場合はちゃんと非表示になります。 みなさんよろしくお願いします。
962 :
名無しさん@そうだ選挙にいこう :2009/04/07(火) 12:15:23
>>961 ・・・・Excelの穴、0.015にならんのよ
B1
=IF(ROUND((B2-A2)/B3,3)=ROUND((C2-B2)/C3,3),"",B2)
963 :
961 :2009/04/07(火) 12:24:16
え 穴?? とにかく、ありがとうございました。 大変助かりました。
気になるなら 小数誤差 でぐぐると良い
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 文字列置換、ワイルドカード 下記のように氏名の間には半角スペースがあります。 佐々木 健太 澤 佳 山田 太郎 これを、苗字が3文字の氏名はそのままで、 苗字が1文字の氏名の前には半角スペースを6つ入れ、 苗字が2文字の氏名の前には半角スペースを3つ入れ、 結果としては下記のように氏名の間のスペースを揃えようとしています。 佐々木 健太 澤 佳 山田 太郎 プロポーショナルフォントではないことを前提とし、このような処理を行うには なんという関数を用いてどのように記述すれば宜しいでしょうか?
966 :
965 :2009/04/07(火) 17:04:25
書き込む際に行頭の半角スペースが無視されてしまいました。 結果として、とにかく必要としているのは氏名の間のスペースを揃えることです。
>>965 =IF(FIND(" ",A1)=4,A1,"")&IF(FIND(" ",A1)=3,SUBSTITUTE(A1," "," "),"")&IF(FIND(" ",A1)=2,SUBSTITUTE(A1," "," "),"")
REPT使えばもう少しスマートにはなるかなぁ
最初にスペース入ってるし区切って加工したほうが早そう
てか、4文字の名字の可能性は考慮しなくて大丈夫?
>>967-968 早速のご回答ありがとうございます。
現在書き込んでるPCにはExcelが入っていないので、
後ほど別のPCで実行させていただきます。
>>969 今のところリストに4文字の苗字がないので考慮しておりませんでしたが、
4文字の苗字があれば、今回お聞きしたことを応用して実行しようと考えております。
>>965 それだと揃わないよ。
MS Pゴシックの12ptの場合、全角文字は幅16ピクセル、半角スペースは5ピクセルだから、
スペース3つだと15ピクセルにしかならない。つまり1文字につき1ピクセルずつずれていく。
しかも、それを印刷するとさらにずれる。
きちんと揃えたいなら固定ピッチフォントを使うべし。
画面上でだけ揃えばいいなら全角スペース1個(11ピクセル)+半角スペース1個で
ちょうど16ピクセルになる。
=REPT(" ",(4-FIND(" ",A1))*3)&A1
973 :
967 :2009/04/07(火) 17:53:41
ああ、間違えた氏名の前ね、間と思ってたごめんなさい
>>972 が正解です
下の名前が揃ってればいいって事であれば 性と名を別の列に取りだす式書いた方が簡単かも
975 :
名無しさん@そうだ選挙にいこう :2009/04/07(火) 18:23:06
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 データの入力規則 リスト 二行 関連づけ 自力でいろいろ調べては見たのですが、どうしても答えがわからないので、ご教示お願いいたします。 [データの入力規則]を使用してリストから選択した際、 別枠に用意した表の参照範囲を二行、関連付けて、 同時に自動入力されるようにはできないものなのでしょうか? 例えば、A3にサロンパスを選択すると、自動的にB3に100が入力される、というようなテーブルを作成したいのです。 1 A B E F 2 商品名 値段 サロンパス 100 3 正露丸 500 4 タイガーバーム 1500 すいません。どうか、ご回答、お願いいたします。
VLOOKUPってしってる?
>>976 知りませんでした。
解決しました。こんな単純なことだったとは。
ありがとうございました。
gghg
【1 OSの種類 .】 WindowsXP Pro SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Private Sub Worksheet_Change(ByVal Target As Range) Selection.FormatConditions.Add Type:=xlExpression, Formula1 Selection.FormatConditions(1).Interior.ColorIndex <やりたいこと> 4つ以上の条件付書式に応じて「行全体」の書式を変更する。 <イメージ> ・D列:条件を入力する ・D列の条件に応じて、行全体の書式(セルの色)が変わる。 ・「=$D1="pink"」(のような感じを)を4つ以上設定したい。 .. A B C D 1 1 2 3 pink ←D1ではなく1行目全体をPINK 2 1 2 3 yellow ←D2ではなく2行目全体をYELLOW 3 1 2 3 blue ←D3ではなく3行目全体をBLUE 4 1 2 3 gray ←D4ではなく4行目全体をGRAY 5 1 2 3 pink ←D5ではなく5行目全体をPINK おながいします。
【1 OSの種類 .】 WindowsXP 3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 日付 以前ここで業務日報を作りました。 内容は アクティブなシートをコピーして、シートの名前に当日の日付を入れることです。 そこまでは上手くいきましたが、 次はコピーしたシートのセルH3に日付を 2009年4月7日 (火) の形式で記入をしたいです。 現在のVBAだと009年4月7日 火 となります。 しかし "aaa"→"(”aaa")" にしても上手くいきません。 ご教授ください VBA貼ります Sub Macro1() ActiveSheet.Copy After:=ActiveSheet ActiveSheet.Name = Format(Date, "yymmdd") ActiveSheet.Range("H3") = Format(Date, "yyyy""年""mm""月""dd""日""aaa") End Sub
>>980 ActiveSheet.Range("H3") = Format(Date, "yyyy年m月d日 (aaa)")
>>980 右辺をFormat(Date, "yyyy年mm月dd日 (aaa)")
またはFormat(Date, "yyyy""年""mm""月""dd""日"" (aaa)")
だが、普通にシリアル値入れて表示形式でそのように表示した方がいいと思う。
983 :
980 :2009/04/08(水) 00:33:20
>>981 >>982 ありがとうございます。VBA出来ました。
シリアル値を入れて表示形式(yyyy mm dd aaaa)
表示形式は出来そうですが、シリアル値の入れ方かたが分かりません。
また、しばらく調査してから質問させてください。
ありがとうございました。
>>979 Private Sub Worksheet_Change(ByVal Target As Range)
Dim myColor As Integer
If Target.Column = 5 Then
Select Case Target.Value
Case "pink"
myColor = 38
Case "yellow"
myColor = 6
Case "blue"
myColor = 5
Case "gray"
myColor = 48
End Select
Target.EntireRow.Interior.ColorIndex = myColor
End If
End Sub
>>984 If Target.Column = 5 Then
じゃなかった。D列だから
If Target.Column = 4 Then
>>983 シリアル値はDate関数の戻り値を入れるだけ。
With Range("H3")
.Value = Date
NumberFormatLocal = "yyyy年mm月dd日 (aaa)")
End With
988 :
987 :2009/04/08(水) 08:43:24
上は最後のかっこが余分だ、すまん
datevalue教えてやれよw
VBAについて質問です。 W20を変更したら、 j22:j28,l22:l28それぞれのセルの値に改行が入ってるかどうか調べ、 入っていたらそのセルのフォントサイズを8等に変更し、入ってなければフォントサイズ12等にする コードを書いたつもりなのですが、うまく動いてくれません。 何が入力されていてもifの分岐で何故か改行が入ってるほうへとコードが進んでしまいます。 j22:j28,l22:l28は別のセルを参照し、W20に数字を入力することで セルの参照先が変わるようになっています(INDIRECT関数) 手直ししていただける方、よろしくお願いします。 Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Intersect(Range("w20"), Target) Is Nothing Then Exit Sub With Range("j22:j28,l22:l28") If InStr(1, .Value, vbLf) Then .ShrinkToFit = False .WrapText = True .Font.Size = 8 Else .WrapText = False .ShrinkToFit = True .Font.Size = 12 End If End With End Sub
DateValueなんて必要ないのになんで教えなきゃならんの? With Range("H3") .Value = DateValue(Date) .NumberFormatLocal = "yyyy年mm月dd日 (aaa)" End With ってやるのか? 動くけどこんなことやったらアフォだな。
>>990 そのコードじゃOn Error Resume Next を外すと「型が一致しません」のエラーになるな。
If InStr(1, .Value, vbLf) Thenのところの.ValueはJ22:J28の値の配列だからね。
On Error Resume Next外してもきちんと動くコードを書かんといかん。
エラートラップ無しでエラー無視だけってどうよ?
単純にエラー無視だからそうなるだけの話だよね。 そもそもそのコードじゃエラートラップ出来ないけど。 絶対にエラーになるからね。
>>990 はFor Each使ったコードに書きなおさなきゃね。
996 :
990 :2009/04/08(水) 14:39:42
>>992-994 エラー完全無視は好ましくありませんが、
帳票を出す時にサイズや折り返して表示等書式を変えたいだけなので、
エラーは無視することにしています
997 :
990 :2009/04/08(水) 14:41:50
>>995 ありがとうございます、挑戦してみます。
あとスレ立てられませんでした、すいません。テンプレ↓
Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 80
http://pc11.2ch.net/test/read.cgi/bsoft/1235573810/
>>996 自分でコード点検できないなら、グダグダ言わずにエラー無視やめろ。
次スレ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。