5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 108

1 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 17:52:57.60
 
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

Excel VBA 質問スレ Part28
http://toro.2ch.net/test/read.cgi/tech/1359607536/

VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/

【質問不可】Excel総合相談所スレの雑談・議論スレ3
http://toro.2ch.net/test/read.cgi/bsoft/1354358619/

Access VBA 質問スレ Part1
http://toro.2ch.net/test/read.cgi/tech/1328536426/

VBプログラマ質問スレ(Ver.6.0 まで) part62
http://toro.2ch.net/test/read.cgi/tech/1360914852/

▼━前スレ━━━━━━━━━━━━━

Excel総合相談所 107
http://toro.2ch.net/test/read.cgi/bsoft/1357252928/

2 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 17:53:30.36
 
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。

3 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 17:54:28.70
 
★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 ★1.マルチをしてしまったら…
 A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
   それが嫌なら初めからマルチなんてしないように。>>2にマルチ禁止と書いてあり、
   マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。

 ★2.>>1★4に従わず、必要な情報を出さないと…
 A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
   VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
   適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
   これはきちんとルールに従って質問、依頼した人のみの特権です。

 ★3.情報・条件を後出しすると…
 A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
   >>1★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
   長文になってもいいので詳細かつ明確かつ具体的に書きましょう。


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

4 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 17:55:04.14
 
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼環境・書式
  ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007以降では16'384列、1'048'579行扱える)
  ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA)
  ・ 行の高さを0.25きざみ以下の単位で指定する
  ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト)
  ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける)
  ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
  ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合)
  ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など
  ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
  ・ 罫線幅の自由指定
  ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA)
  ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整)

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA)
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)

5 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 17:55:43.14
 
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルに結果を返す (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 値の書き換え、値の保持 (VBA)
  ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
  ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
  ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)

 ▼VBA
  ・ ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
  ・ VBのコントロール配列と同じような操作をしたい
   (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)

 ▼ユーザーフォーム
  ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||

6 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 17:56:16.40
 
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2010についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007以降ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。

7 :ぴころ ◆lHG3Yzo0a6 :2013/03/09(土) 21:35:56.67
新スレおめ☆(^▽^)

8 :名無しさん@そうだ選挙にいこう:2013/03/09(土) 22:05:33.52
いちょつ

9 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 00:09:01.41
>>912

http://www.amazon.co.jp/o/ASIN/B0076ECI5I/ln890k79lcim-22

kore?

10 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 00:47:16.47
アフィリンク貼んな

11 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 02:05:41.35
>>10
こういうのは黙って通報し、

ものすごい勢いで広告・宣伝を報告するスレ 226
http://qb5.2ch.net/test/read.cgi/sec2chd/1360943806/

レス削除

bsoft:ビジネスsoft[レス削除]
http://qb5.2ch.net/test/read.cgi/saku/1338026287/

12 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 06:33:07.59
>>6
指摘が必要かもしれないような内容のテンプレ貼るのってなんなの?

13 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 08:13:14.07
100%完璧ではなくても、利点の方が大きいからじゃね?

14 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 09:21:43.63
公務員使えねぇ
http://togetter.com/li/469017

15 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 15:02:51.92
【1 OSの種類         .】 Windows 8
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0))*24)
のままでは小数点として表示されますが、
(8:50、18:40=9.833333333)
9.50(9時間50分)というふうに表示されるにはどうすればいよいですか?

16 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 15:11:36.26
自分で24掛けてんじゃん

17 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 15:16:02.51
modで小数点部分出して0.6掛けるだけでしょ

18 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 15:20:45.57
>>15
派遣会社?

19 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 15:23:11.76
その表示に意味があるとは思えない
まさに>>14

20 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 22:54:07.64
>>14みたいなのって、小さい会社に行ったらどこでもそういう状況だよね。
零細企業だとVLOOKUP使ったら神扱いされてVBA使ったらもはやエクセルじゃない
物を使っていると認識される。

21 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 22:54:41.83
>>20
給料安くてもそんな会社で働きたいわ

22 :名無しさん@そうだ選挙にいこう:2013/03/10(日) 23:36:11.76
>>20
実際体験した。大体>>14みたいな状況だった。
事務系は俺が頑張って一般的なレベルまで修正したけど、結局会社は潰れた。
会社は営業あってこそなんだよな。
総務系を改善しても知れている。
お前らも、心あたりがあるなら営業さんを助けてあげてくれな。

23 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 00:17:08.29
ヒーローになる夢を見るのは勝手だけど、実際は「ちょっと便利になったね」程度で終わるよ
Excelの使い方が変わった程度で会社の売り上げ倍増とか、現実にはありえないから

とくに零細だと、一緒にゴルフして問屋の社長さんと仲良くなった方が売り上げアップとか、そんな世界だから
パソコンの得意な理系が絶望して3ヶ月で辞める理由はたいていこれ

ま、意外と零細に限らない話だけど

24 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 00:18:24.17
カイゼンしたあとには結局単純作業しか残らない
ぶなしいたけ

25 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 00:43:29.68
他部署助けてあげなよ・・・

26 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 13:02:26.64
【1 OSの種類         .】 WindowsXP・Windows7
【2 Excelのバージョン   】 Excel2003・Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ピボットテーブルの印刷設定について質問です。


「各印刷ページにアイテムのラベルを繰り返す(2003)」
「各印刷ページに行ラベルを繰り返す」(2010)
にチェックONでもK列以降が印字されないのですが
これを表示する方法や回避策は無いでしょうか。

通常、2ページ目以降の先頭行は
前ページのアイテムと同じであればそれが表示されると思いますが
J列までは表示され、K列以降は表示されないのです。


表示できない場合
その仕様について明言しているサイトや参考になるサイトがありましたら教えて頂けると助かります。


尚、Excel2010については「従来のピボットテーブル レイアウトを使用する」が
ONです。

27 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 14:14:09.47
【1 OSの種類         .】 Windows7, 8
【2 Excelのバージョン   】 Excel2010, 2013
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
キャノンのフォントギャラリー FG丸ゴシックCa-L などがエクセルで選択できません。リストボックスに出てこない。
こんな症状の人はいますか? ワードでは問題なく表示・選択できます。

28 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 15:02:06.58
非対応フォントは、選択すると不都合出るから初めから除外されてるよ
桁揃えを優先するテキストエディタでプロポーショナルフォントが使えないのをはじめに
ソフトによって使えるフォントの種類ってのは限られてることがある

エクセルは罫線ワープロ的に使う人が多いとは言え、あくまで計算ソフトだから印刷や表現の自由度は低い
うちでもワードとエクセルのフォント選択ボックスのフォント数を比べると、ワードの方が80も多いので
どれが無いかまでは面倒で見てないけど、ワードで使えてエクセルで使えないフォントってのは結構あるようだ

29 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 18:28:58.68
PCの入れ替えでOffice2003から2007に切り替わった時の反発(文句)が凄かったな
視覚的に大幅に変わったので使い方を覚えるのが大変だと
正直、Office系(特にExcel)のソフトは機能の20%も使っていない会社が半分以上あると思う

業務簡略化⇒人員削減、他の仕事が増える

こんな考えの人も多いね

30 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 19:08:24.21
> 機能の20%も使っていない会社
これ、実は真逆で2パターンあるんだよね
レベルが低い故に使い方が解らなくて20%も使ってないパターンと
レベルが高い故に、中途半端なExcelのプログラム(マクロ)機能やデータベース的機能では事足りず
専門ソフトに流れてExcelを使わなくなるパターン

俺も一時期は、Excelに関係ないプログラム書くのもVBA、データベースもExcelとピボット、文書作るのもワークシートと
Excelをとことんまで使い切っていたことがあったけど、VB6Proを買い、C#を始め、Accessの使い方覚えて
ワープロ、DTPソフトを使いこなせるようになった今、俺はおそらくExcelの機能の20%も使ってない

31 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 19:13:53.22
VB6とか今じゃ糞の役にもたたんなw

32 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 19:29:17.13
だからC#に移ったわけだ

33 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 22:14:28.68
素直にC言語+WIN32API使えば無料で配布も簡単なのに。

34 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 22:27:03.00
で?

35 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 23:03:01.34
>>31
超役に立ってるぜ

いや、メインや不特定多数相手の配布用、ましてや商用がVB6オンリーじゃ話にならないけど
「スクリプトで書こうかな?でもちょっとしたGUIも欲しいし」なんて場面ではVB6様大活躍
今となっては力不足感は否めないが、WSHやバッチよりは遙かに色々出来るわけで、要は適材適所

通ぶってバカにするより、利点が活きる場で上手く使ってやるのが吉

36 :名無しさん@そうだ選挙にいこう:2013/03/11(月) 23:21:39.36
うざ

37 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 00:47:24.03
反論できない自分への反論ほどウザいというか都合の悪いものは無い

38 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 01:04:01.31
>>35
同じ感覚の奴いたw

パッケージ作ってるのでもなきゃ
工数的にVB6は未だに外せないよ


増してExcel全盛な中小企業内SEだったらVBAは主力だったりする

39 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 01:08:18.68
vb.netあんのにvb6とかアホか
vb6の過去の産物があって、それの保守とかならまだわかるけど
新規でvb6はねえわ

40 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 01:18:22.53
ちょっと苦しいね

41 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 11:21:45.92
自分語りいらないから

42 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 15:14:49.46
A列とB列が一致する行をチェックする関数ってどなたか知りませんか?
たとえば下記のような場合に
1行目と2行目のD列に重複のチェックを表示したいのです。
※Excelは2000です。

  A    B    C   D
1 うま 50 100円  
2 いぬ 50 200円
3 うま 50 300円  
4 うま 30 300円

43 :42:2013/03/12(火) 15:16:45.69
>>42
1行目と3行目でした

44 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 15:59:56.58
>>42-43
E1列に
=A1&B1
って入れて下にフィルコピーして
D2に
=COUNTIF($E$1:E1,E2)>0
と入れて下にフィルコピー

重複のところでTRUEが返るから
あとは表示形式なりIF関数なりで好きなチェック記号でも表示させれば良い
E列の表示が邪魔なら列非表示にしてもOK

他にも色々な方法有るけど、そういうのは適材適所の見極めが
自分で出来るようになってからで十分なので、まずは作業列使ってでも
より簡単な式で結果出せる方法を覚えると良い

45 :42:2013/03/12(火) 16:58:57.27
>>44
ありがとうございます!
うまくいきました。

46 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 20:36:30.35
テンプレ修正しないか?
とりあえず案
>>1からこれを削除。EXCEL VBAスレあればいいだろう。
VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
VBプログラマ質問スレ(Ver.6.0 まで) part62
http://toro.2ch.net/test/read.cgi/tech/1360914852/
Access VBA 質問スレ Part1
http://toro.2ch.net/test/read.cgi/tech/1328536426/
>>4
(Excel2007以降では16'384列、1'048'579行扱える)
→(Excel2007以降では16,384列、1,048,579行扱える)

他にももっと削除できると思ったらそうでもなかった。

47 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 20:39:14.60
次スレ立てる間際に指摘するか、自分で立てなければ
今言っても無意味

48 :名無しさん@そうだ選挙にいこう:2013/03/12(火) 21:57:58.48
そっか、残念

49 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 08:41:25.04
【1 OSの種類         .】 WindowsXP・Windows7
【2 Excelのバージョン   】 Excel2007・Excel2010
【3 VBAが使えるか    .】 少々はい
【4 VBAでの回答の可否】 可

A1セルに文字列で20130306095430974211という文字を入れてるのですが、
頭から8桁を採ると20130306となり、2013年3月6日というのを示唆するのですが、
これをA2セルに和暦で和暦表示をしたいのですが何か方法がありましたらお願いします。
(計算関数用に一度 別セルを使用してもOKです)
宜しくお願いします。

50 :49:2013/03/13(水) 08:48:08.09
連投すみません 表記がおかしいですね。和暦で和暦表示・・・(´・ω・`)

A1セルの文字列を頭から8桁採ってそれをA2セルに日付表記(和暦)できるようにする方法になりますです。

因みに9桁から14桁は時間(00時00分00秒)を示してるのですが
これも別セルで表記可能でしょうか・・

A1セルに文字列:20130306095430974211
A2セルに平成25年3月6日9時54分30秒

51 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 09:47:14.74
>>49-50
LEFT、MID、RIGHTで文字を切り出して整形したら
DATEVALUE、TIMEVALUEでシリアル値に変換し
表示形式かTEXT関数で和暦にしたらいいさ

52 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 09:57:51.27
>>51 どもです、ありがとうございます。
関数で例を表記していただけないでしょうか
かなり複雑になりますでしょうか?

53 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 10:09:41.61
月なら
=MID(A1,5,2)
で、5文字目から2文字の「03」になる

そういう感じで切り出して
=DATEVALUE(年&"/"&月&"/"&日)
って感じに整形してDATEVALUEに渡せばシリアル値を返す

あとは表示形式で和暦だろうとなんだろうと好きなように表示させればいい


これ以上は聞くなよ
>>52の時点で、あれだけ教えたんだから後は自分で調べろと叩かれても
不思議は無いところをサービスしてるんだから

つーか、>>51で解らない奴がVBA少々使えるってマジか?
マクロじゃなくてあえてVBAって表記されてるのは、マクロの記録や実行ではなく
VBA構文でコードを書くことが出来るかって質問なんだが、その上で「少々はい」なの?

54 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 10:13:03.86
>>49
セルの書式設定→表示形式→日付→和暦
セルの関数式
=CONCATENATE(LEFT(A1,4),"/",MID(A1,5,2),"/",MID(A1,7,2))*1

>>50
やっつけ関数式
=CONCATENATE("平成",LEFT(A1,4)-1988,"年",IF(MID(A1,5,1)="0",MID(A1,6,1),MID(A1,5,2)),"月",IF(MID(A1,7,1)="0",MID(A1,8,1)
,MID(A1,7,2)),"日",IF(MID(A1,9,1)="0",MID(A1,10,1),MID(A1,9,2)),"時",MID(A1,11,2),"分",MID(A1,13,2),"秒")

※ ↑途中都合で改行していますがコピペする場合繋げてください。
(不細工な式だからコピペしないかもしれないけど)

55 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 10:17:31.81
考えさせる教育ではなく
答えを詰め込む教育の結果が
今の使えない奴ばかりの社会を構築したんだよな

56 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 11:11:25.99
サーセン

では上に挙げた回答例以外で回答してくださーい

57 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 11:31:51.21
>>51>>53に書かれているようにやったら
41339.41253 と値が出てくる
後は表示形式をユーザー定義で
ggge"年"m"月"d"日 "h"時"m"分"ss"秒"
にすればええやん

58 :49 ◆upmIvMVKO6 :2013/03/13(水) 11:33:47.36
>>54 わっすごいw一発でなりますた(`・ω・´)
どうもありがとう御座います。たいへん助かりました。勉強になりますた。

>55 m9^Д^)

59 :49:2013/03/13(水) 11:41:46.93
さらにすみません、
A1セルに入れた20桁(文字列)なのですが、
見やすいように20130306095430974211を
4桁区切りでスペースを入れたい場合はどうしたらいいでしょうか?
20130306095430974211
2013 0306 0954 3097 4211
ユーザ定義で0000 0000〜 や#### ####〜を指定しても値が変わっていまいます。
(下4桁あたりが0000になってしまう)
VBAなどでないとできないでしょうか?
重ねて宜しくお願い致します。

60 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 11:44:52.55
成り行き見てた他人が49騙って煽って面白がってるだけだろうけど
これ、本物だったらヤバすぎ

頭悪い上に、人間性まで腐ってるとか、どうしようもないもんな

61 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 11:54:23.17
ここIDでないのか、

=TEXT(A1,"#### #### #### #### ####")とかでもダメだね
下5桁が0になる
どうやるんだろう。

62 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 12:15:08.98
Excelは15桁精度だからね
1234567890123456789は
1234567890123450000となり
0.1234567890123456789も
0.123456789012345となる

63 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 12:57:19.92
>>59
ヒント>>54の上の式

64 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 13:35:48.93
15桁精度らしいので2つに分けてみた
=TEXT(LEFT(A1,8),"0000! 0000")&" "&TEXT(RIGHT(A1,12),"0000! 0000! 0000")

65 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 13:41:07.29
なんで不適切な方法をそこまで強行するの?

66 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 14:51:49.58
>64 のやり方でOKみたい 15桁精度ということは一京からは対応できないわけだな。
HDDのバイト単位の計算はだめなのかw。

67 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 15:04:24.93
っつか元データに問題が有るだろ;

68 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 17:32:07.12
計測器の吐くデータとか磁気テープに固定長で記録されたデータなんてこんなもんだよ

69 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 17:52:20.28
うちでは測定器の吐くデータを、取り込みプログラムで加工してExcelに渡してるけどね

70 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 18:39:27.72
プッ(AAry

71 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 18:50:02.34
悔し紛れはわざわざ書く必要ないのに

72 :名無しさん@そうだ選挙にいこう:2013/03/13(水) 20:39:37.75
なんというか、見えてる世界が狭い奴がいるな

73 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 00:04:21.57
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
join関数のような関数ってありますか?
join("-",1,2,3)
とすると、1-2-3という文字列を返して欲しいのです。

74 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 00:15:31.56
vba使えるなら使ったら良いやん

75 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 07:27:39.20
>>73
VBAのJoin関数のようなワークシート関数ってことか?

文字列を繋ぐだけならCONCATENATE関数があるが
連結文字を指定したり、配列を渡せるものは無い

でもVBA使えるなら、VBAで直接処理するのが嫌でも
アドインでユーザー定義関数を作ればいいだけだな

76 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 12:49:53.21
関数の2段重ねというか入れ子がさっぱりわからんのだが何かコツみたいなことはあるのか?

77 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 13:29:27.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

本来のExcelの使い方とは違いますが、下記サイトのように
写真をオートシェイプでトレースしたいのですが、手作業では
かなり大変です。
VBAを使って楽に作業できないでしょうか?

illustratorなど別ソフトではなく、Officeでの写真トレースが目的です。

http://www.geocities.jp/chiquilin_site/data/061212_autoshape3.html
http://www.geocities.jp/chiquilin_site/data/080502_autoshape4.html

78 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 13:31:36.24
>>76
内側の関数の戻り値を外側の関数が引数としてるだけ

79 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 14:34:46.15
>>77
楽にって、どの辺を自動化したいのか知らないが、
パーツ分け部分を自動化したいとかなら、それ出来たら
金取れるソフトが出来上がっちゃう話なので、
そんなに気軽に実現できるものではない

まあVBAで自動化することによる省力化と
それを実現できるVBAスキルを身につける労力とを
天秤に掛けて決めればいいさ

気軽に出来ないなら、勉強してまで実現しようと思わないというなら
諦めればいいし、諦めたくなければ頑張って勉強すればいいし、
その選択は君に任せるよ

80 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 20:22:07.94
株で儲ける→△

物を安く買う→◎
 具体例:amazon

情報収集:アマゾンレビュー



パソコン
http://www.amazon.co.jp/o/ASIN/B007J77ZIC/n890k79lcim-22

Microsoft Office 並行輸入品=海外正規版
http://amazon.co.jp/o/ASIN/B0076ECI5I/n890k79lcim-22

デジカメ
http://www.amazon.co.jp/o/ASIN/B007RKTT5I/n890k79lcim-22

マウス/
http://www.amazon.co.jp/o/ASIN/B00AAQRNQ8/n890k79lcim-22

81 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 21:24:39.66
エクセル2007で、フォントを同一セル内で様々な大きさにしたくて、わざわざ別枠でカメラ機能で貼り付けました。画面上はいい仕上がりですが、印刷すると文字が巨大化します。何が問題なんでしょう。

82 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 22:04:02.24
>>81
セル内で文字をドラッグで選択してから文字サイズ変えたら同一セル内でも違う大きさの文字に出来るけど。

83 :名無しさん@そうだ選挙にいこう:2013/03/14(木) 22:11:03.81
>>81
WYSIWYGじゃないからあたりまえでは

84 :名無しさん@そうだ選挙にいこう:2013/03/15(金) 04:02:36.30
エクセルをぶっきらぼうに教えてくれる動画・・・ってないすよね・・・

つまり、よくあるエクセル教室みたいな動画って、
どうやら説明くどくて観る気がしないんです。

そうじゃなくて、たんたんとマウスカーソルをさっささっさと動かしてって、
説明は「こーするとこーなって、こーすればこーなるわけです」程度が逆にいいんです。
友達に教えるみたいに。

というか、そんな動画無いと思いますから先に言いますが、誰か作ってみては?
たぶん再生数稼げますよ。
みんなも↑ゆうふうに思っているはずだから。
たぶん金払って買う動画全滅できますw

失礼しました。

85 :名無しさん@そうだ選挙にいこう:2013/03/15(金) 06:17:01.21
>>84
youtubeで「エクセル 関数」で検索して「4分以内」でフィルターかけて1000件以上ヒットするけど。

あなたに必要なのは淡々と説明する動画じゃなくて、自分に必要な情報を相手から持ってきてくれるという環境ちゃうか?
友達相手で淡々と説明できるのは質疑応答がその場で出来るからだと思うけど。動画みたいな一方的な情報で淡々と
説明されて理解できるレベルなら画像と文章だけで十分。

86 :名無しさん@そうだ選挙にいこう:2013/03/15(金) 19:12:53.42
自宅のパソコンにエクセル2010が入ってます。
私は何をすればいいですか?

87 :名無しさん@そうだ選挙にいこう:2013/03/15(金) 19:42:20.12
>>86
まずパンツを脱ぎます

88 :名無しさん@そうだ選挙にいこう:2013/03/15(金) 20:42:16.09
ggrks

89 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 00:06:52.01
>>86
チャーハン作ってくれ

90 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 02:13:58.47
>>85
お願いですから主観を極力排除してもう一度読み直して直さないでもいいですw

91 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 09:10:00.91
>>84
残念!

 1〜2分でさっさと教えてくれる動画あるよ。

92 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 16:05:48.09
じゃあお前らはエクセル完全にできる100%としたらどれぐらいできるんだ

93 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 16:23:42.76
あなた人生100%楽しんでますか?

94 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 16:28:43.42
VBA以外なら50%(ヘルプ見ながらなら90%以上)

VBAのExcel関連機能なら30%(ヘルプ見ながらなら80%以上)
VBAの構文規則や組み込み関数等ならほぼ100%
VBAで外部ライブラリ(COMなりWinAPIなり)を使う話になると
分母がほぼ∞なので、ほぼ0%

95 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 16:29:50.21
EXCEL関数いくつあると思ってんねん
重要度で言えばIF使えるだけで5割いくかもな

96 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 17:09:38.29
>>92
たまにいるよねこういう人。パソコンの機能100%のうちどんぐらいとか。
100%、全部の機能がどういう事かがわからない素人ほどこういう考え方する。

97 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 19:06:39.71
>>90
何が言いたいのか全くわからんのだが。

98 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 20:49:51.20
>>92
業務で必要な関数やマクロさえ知っていれば十分だろ
漢字でいうなら五万も十万も覚える必要無いのと一緒

99 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 21:19:18.88
VBAでゲーム作る人もいればオートシェイプでガンダム書く人もいるしなー
どれだけ極めれば100%なんかなー?

100 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 21:52:31.51
配列数式や少数誤差、正規化を会得し、更にVBAでクラスを作ることもできて
エクセルに関してそこそこ自信があったけど
条件付き書式で斜めの罫線が引けないことを知らなかった。
私の自信はこなごなに砕け散りました。

101 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:03:53.15
EXCELより他でやったほうが楽なことまでEXCELでやるのは

102 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:07:45.41
以外とテキスト関数とか貧弱なんだよね

103 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:32:30.92
関数曖昧だけど参考書でマクロいっちゃっていっぱいいっぱい
気付いたら.speakで歌わせたり下品な言葉しゃべらせたりしてた

104 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:40:47.91
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

任意のフォルダ内にあるbook(拡張子がxlsのファイル)から特定の文字列が含まれるセルがあります。
そこから列は10列分、行は入力されている最後の行までのデータをまとめる形で取得したいのですが上手くいきません。
(Array関数で抽出しようにも、3列目〜8列目の文字列が検索で一番最初にヒットしないことがあります)
1列目〜2列目は入力データ的に一番最初にヒットするので、そこで抽出したセルから列は10列、行は入力されている最後までのデータを
取得するようにするにはどうしたら良いのでしょうか?
複数のPCで使用することを想定しているので、ダイアログが出てきてフォルダを選択し、フォルダ内のbookのデータを取得するマクロだと嬉しいです。


生年月日  氏名       郵便番号  都道府県  区市町村 ・・・(他、合計8項目)
昭64.03.16 エクセル太郎  123-4567  東京都    八丈町
平25.03.16 エクセル宇宙  123-4567  東京都    八丈町
                   ・
                   ・
大10.03.16 ワード源次郎  234-5678  北海道    国後島

こんな感じでデータがありますが、生年月日、氏名、郵便番号、都道府県、区市町村が入力されているセルの場所がbookによって違います。
また、生年月日と氏名はどのbookでも検索すると一番最初にヒットしますが、郵便番号、都道府県、市区町村がbookのよっては2番目とか3番目にヒットしてしまいます。
(取得したいsheet名はsheet1で統一されています)

105 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:47:14.01
昭64.03.16

106 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:55:09.91
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

エクセルを複数立ち上げたときにウィンドウを連動させずに
横に並べて見たりするようにってできないんでしょうか?

107 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 22:58:23.77
>>104
Array関数とは配列を作る関数ですよ。

>・・・したいのですがうまくいきません。
どの時点でうまくいってないのか他人には全くわかりません。VBAで躓いてるならコード晒してください。何レス使っても構いません(テンプレ参照)

>入力データ的に一番最初ニヒットする
>データを取得する
全て曖昧すぎます。
検索方法だけでもFind、Vlookup、ADO、ForとIfでの繰り返しなど方法は多様です。

108 :104:2013/03/16(土) 22:58:24.00
>>105
とりあえず今日の日付にしてみただけですw

109 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 23:26:46.26
2010で確定申告の作業中にファイルの上書きをしてしまいました...

Aってファイルがもともとあった
→Bを作成、保存する時にAという名前で保存
→もとあったAが上書きされて死亡

この場合Aを上書きする前の状態に戻すことは可能でしょうか?
ちなみに『上書き保存時にバックアップを作成するようにする』機能はオフになっていました...

110 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 23:27:33.11
無理

111 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 23:37:05.04
バックアップ機能ONだったとしてもバックアップされるのはBだからどっちにしろ死亡ですわ。

112 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 23:51:17.21
そういえば確定申告マシーン(皆藤愛子などが出てる奴)なんか買わなくてもエクセルと
税の知識があれば事足りるんか?

113 :109:2013/03/16(土) 23:57:06.34
>>110
>>111
そうですか...ありがとうございます
頑張ってやり直します

114 :名無しさん@そうだ選挙にいこう:2013/03/16(土) 23:58:02.75
>>112
昔は手書きでやってたんだし青色申告も出来るけど死ぬほどめんどくさいぞ

115 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 00:45:32.94
マクロについて質問です。
excelのシートに入力されているID番号参照して
任意のフォルダに入った、ID番号を含む名前の(画像などの)ファイルを
シートの別行に入力されている属性を参照して
属性別のフォルダに仕分けする、もしくは属性名をファイル名に追加する、
といった一連の動作をexcelのマクロで自動化することは可能でしょうか?

よろしくお願いします。

116 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 00:52:40.79
>>115
可能ですよ
聞く前にやってみた方が早いよ

117 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 00:56:54.03
>>116
ありがとうございます。
マクロについてどこまで可能かどうか分からないので
お聞きしました。調べてやってみます。

118 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 03:02:08.55
>>106
オプションの「他のアプリケーションを無視する」 にチェックを入れるか外す

119 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 07:35:17.18
>>118
それにチェック入れてエクセルファイルを起動しようとすると
「プログラムにコマンドを送信している時に、エラーが発生しました。」となって起動できません」

120 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 10:38:13.53
>>119
初めて聞いたエラーだな。
http://support.microsoft.com/kb/211494/ja
この手順に従ってみて。

121 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 13:38:19.18
>>120
ありがとうございます
Fix it 50392を入れようとすると
「ご使用のオペレーティングシステムまたはアプリケーションのバージョンには
このMicrosoft fix itは適用されません」となってインストール出来ません
おそらくWin8だからですね
諦めたほうが良いでしょうか

122 :名無しさん@そうだ選挙にいこう:2013/03/17(日) 14:11:26.94
>>121
うーん、困ったね。
エクセルとhttp://oooug.jp/を使うとか
(openofficeは無料のエクセル互換ソフト)

あとは思い浮かばない。

123 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 17:26:12.62
Win7にExcel 2013 を入れてみたんですが、ジャンプリストからファイルを選択して起動しようとすると、
常にウィンドウが最大化で起動します。ウィンドウ状態で起動するようにできないんでしょうか?

124 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:19:17.54
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

RAND関数ってセルが更新されるごとに、値が変化しますよね
そこで、ある条件に達するまで、自動で更新するようなシステムって出来ますでしょうか?
例えばA5の値が1になるまで、自動更新するといったようなシステムです

125 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:29:29.01
できますん

126 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:36:27.79
>>125
是非教えてください

127 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:38:58.70
124の内容だけでは無理

128 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:43:15.34
何をどう自動更新するのか書けよ;

129 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:45:18.17
do while n*rnd()=1:loopの部類だな

130 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:46:15.47
うまく説明できなくてすみません。

ある条件に達するまで、F9キーを押した時みたいにRANDを変化させ続けるようなものを探してます

131 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:48:31.64
>>130
VBA ループ で検索しろ

132 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 22:59:51.15
条件に達するまでループが続く様な恐ろしいモノを教える訳にはいかない

133 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:01:44.49
nが条件、int()も忘れずに

134 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:08:26.05
randを変化させ続けてどうするの?
初心者は下手に手段を考えるより、最終的な目的を書いて その手段を教えてもらうのがいい

135 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:12:34.22
もっと実用型にすれば、
do while n*rnd()=1
 :
if … then exit do
 :
loop
かな

136 :124:2013/03/18(月) 23:21:44.51
randを変化させていろいろ計算させて、最終的にあるセルの値を1にすることが目的です。

137 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:23:40.49
うん、きみには無理

138 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:24:50.18
すごい目的だなw

139 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:29:42.36
>>136
>いろいろ計算させて

大事な所端折っちゃったw

バカなあなたとちがってパソコンのCPUはとっても高速に計算してくれるので
途中経過をすっ飛ばしたら、いきなり1を入力するのと見分けがつかないですよ

140 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:33:23.52
馬の鹿が弱者を攻めまくる図w

141 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:37:43.09
ひょっとして「いろいろ」計算した結果が1になるような特定の値を知りたいってだけじゃね?

142 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:44:23.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 基礎なら
【4 VBAでの回答の可否】 否

書式の表示で質問です。
ウェブクエリで競馬のタイムを読み込んでるんですが、表示で少し困ってます。
書式設定はユーザー定義の「m:ss.0」で、1:44.3など1分以上のタイムはしっかり表示されるのですが、
1分切るとweb上では「59.1」と表示されるので、Excelだと「24:00.0」と表示が上手くいきません。
説明下手ですが、どうか解決方法ないでしょうか

143 :名無しさん@そうだ選挙にいこう:2013/03/18(月) 23:47:52.56
>>136 昔のExcelにはソルバーってのがあった いまはしらん

144 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 00:08:58.80
1:44.3はシリアル値、59.1はただの数値と認識されてるんだろ
たとえば1以上の場合はいったんText化した数値に"0:"を付加&Valueでシリアル値化するのは?

145 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 00:21:12.19
.と:でsplitしてフロートにした方がいいんじゃないのか

146 :142:2013/03/19(火) 00:22:37.89
「0:59.1」で表示されるようにしたいんですよね

147 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 00:28:29.67
timeがウェブから引っぱって来たテキストとして

if instr(time, ":")=0 then
time = "0:" & time
end if

でいいのでは

148 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 00:33:04.69
VBAは使わない方向でお願いします

149 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 00:37:55.27
=if(iserror(find(A1,":")),":"&A1,A1)
うまくいくかしらんけど

150 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 00:51:08.35
>>149
試してみましたが、1分以上のタイムがおかしくなります

151 :124:2013/03/19(火) 00:56:28.29
Sub ()

For i = 1 To 20

If Cells(25, 1).Value = 1 Then
Exit For
Else: SendKeys "{F9}"
End If
Next
End Sub

ループにすると止まるので、20回ほどでやってみたのですが、値が1になっても終わりません
どうすればよいでしょうか

152 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 02:20:24.43
>>151
×ループにすると止まる
○ループにすると終わらない
確かRANDは1未満の数じゃなかったか
それに出現する数字のパターンも決まっているはず。65536とおりだっけ?忘れたけ

やるなら、rand関数(ワークシート関数)をrnd(vbaの関数)にして、やると良い
Sub a()
Dim a
For i = 1 To 2000000
a = Int(Rnd() * 100)
If a = 1 Then
Exit For
Else
b = b + 1
End If

Next
MsgBox (b)
End Sub

これで、1%の試行が何回目に出たかって感じ
改良するならbの出てくる行を削除してくれ

153 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 08:06:50.99
>>142
書式"m:ss.0"作業列に
=IF($A1<1,$A1,VALUE("0:"&TEXT($A1,"00.0")))

154 :124:2013/03/19(火) 08:32:42.30
>>152
Elseのとこに sendkeys"{f9}"を入れて正しく動かすにはどうすればいいですか?
指定回数試行後に1になると止まるのですが、指定回数中に1になっても無視して続行してしまいます。

155 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 08:36:43.72
>>124
【データ】→【What-If分析】→【ゴールシーク】

156 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 09:41:26.73
ゴールシークとも違うだろ

A5を1にして計算させれば最終目的は達成するんだから
それまでのrand計算が全く無意味

100歩譲って、宝くじに当選するまでループ買いするようなデータが欲しいとしたら
ループ回数をrandで決めてからループさせればよいだけのこと

157 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 09:55:14.28
本当にこういったことがしたいのか
Sub xxx()
Do While Range("A5").Value <> 1
Calculate
Loop
End Sub

158 :124:2013/03/19(火) 10:16:14.29
>>157
解決しました
ありがとうございました

159 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 10:29:01.45
なにがしたいんだ〜??

160 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 11:02:57.95
私達のような下等生物が、神の意志を理解することは出来ないのです。
そう、できることだけをすればいい…
一言で言うと考えるだけ無駄

161 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 19:18:37.08
誘導されて来ました。よろしくお願いします。

A列に、「テニス」「野球」「ゴルフ」
B列に、「サッカー」「テニス」「ゴルフ」「スキー」

というデータがあり、

C列に、=IF(COUNTIF($A$1:$A$3,B1)=0,B1,"")
という計算式を入れてます。

A列になくて、B列にある競技をC列に表示させる式のつもりなのですが、上手く動作しません。
ここでは、サッカーと、スキーだけをC列に表示させたいです。



C1のセルに=IF(COUNTIF($A$1:$A$3,B1)=0,B1,"")
C2のセルに=IF(COUNTIF($A$1:$A$3,B2)=0,B2,"")
C3のセルに=IF(COUNTIF($A$1:$A$3,B3)=0,B3,"")
C4のセルに=IF(COUNTIF($A$1:$A$3,B4)=0,B4,"")
というデータが入っているのですが、なぜかC1〜C4すべてのセルにC1の値が入ってしまいます・・・
ここでは、「サッカー」が全てのセルに入るという感じです。


ちゃんと、C1にサッカー、C2に空白、C3に空白、C4にスキーが入るようになりませんでしょうか?

162 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 19:37:14.27
うーん、期待通りに動くと思うけど…
どこかに配列数式がまぎれ込んでるとか

163 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 19:53:16.54
>>162
すみません!全部「サッカー」が入ってた状態のまま終了して、エクセル再起動したら
きちんとした値が入っていました。

そこそこ長くエクセル触ってるけど初めての現象です・・・

164 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 19:56:23.70
今もう一度試したのですが、自動で計算されるのでなく、セーブしたタイミングで計算式が反映されました。
自分変な設定いじってますでしょうか?

165 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 20:44:42.88
>>164
・他のシートにおいても、数式や元の値を変えても計算結果がすぐに変わらない
・パソコン再起動して、エクセル新規で開いて、
同じシートを一から作って(メモ帳)それでも同じ症状が出る

なら、自動再計算をオフ(手動)にしているのかもしれない
ttp://pc.nikkeibp.co.jp/article/NPC/20070626/275844/

他のシートでは問題ない、症状が出た後いつの間にか直ったみたい、
というのなら今作ったシートが壊れただけかも。

166 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 20:48:30.45
>>165
ありがとうございます!ピンポイントでした。手動になってました。
ちなみに全くいじった記憶ないので、壊れたってやつですね。初めての現象でした。

167 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 20:53:55.02
壊れたってなんだよ
ただのバグ
「勝手に手動計算」でぐぐってみ

168 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 21:03:56.05
なんだよって思うでしょ?
こわれるんだよ
ファイル送られたのが開けないやら編集できないやら
画面表示がむっちゃくちゃになってでてきたやら今まで出くわしてるから
そういう症状の一環かなとおもっただけさ(´・ω・`)

169 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 21:38:17.14
そんなこたーわかっとるわい。
再計算手動に関しては既出のバグだからファイルの破損とは別問題だって。

170 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 22:04:22.23
うんこの投げ合いやめろやカス

171 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 22:11:52.25
投げ合いじゃねーよ。うんこ投げてんのは片方だろ。
既出のバグをファイル破損として考えるのはおかしいだろ。でっかいウンコなげやがって糞>>170

172 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 22:21:18.81
うんこ:硬くて黒いイメージ、ツンと来る臭い
うんち:やわらかくて茶色いイメージ、芳醇な臭い

大体こんな感じ。

173 :名無しさん@そうだ選挙にいこう:2013/03/19(火) 22:28:07.97
おしっこならかけられてもいいかなって

174 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 13:11:38.82
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 否
例えばa1にタバコという字があるとする。それをVBAでカタカナからひらがなに書き換えようとする
その場合
sub test
dim a as string
a=strconv ("タバコ" ,vbHiragana)
a=valueだっけ?答えをお願いします

175 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 13:26:24.65
> 【4 VBAでの回答の可否】 否
どうせえっちゅうねん

176 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 13:27:57.59
a1.value = aだろ
valueなんて変数宣言されてないし
aにたばこ入ってんのにvalue上書きしてどうすんだよ

177 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 13:31:29.01
Dim 変換前 As String
Dim 変換後 As String

変換前 = Range("A1").Value
変換後 = StrConv(変換前, vbHiragana)
Range("A1").Value = 変換後


短くするなら

Range("A1").Value = StrConv(Range("A1").Value, vbHiragana)

178 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 15:54:12.98
>>177
ロンゲストに書くのなら?

179 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 16:25:01.66
ロンゲストなんて言葉を見たのは、中学の英語の授業以来だわw

180 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 18:21:43.03
>>178
こんなもんでいいか?

Sub Longest()
  Const 対象セルアドレス = "A1"
  Const 一文字目 = 1
  Const 切出し文字数 = 1
  Const カナ文字コード初端 = 12449
  Const カナ文字コード終端 = 12534
  Const 文字種違反エラーメッセージ = "全角カタカナ以外の文字が含まれています"
  Const エラーメッセージタイトル = "Error"
  
  Dim 変換前 As String
  Dim 変換後 As String
  Dim 文字位置 As Long
  Dim 文字 As String
  Dim 確認メッセージ As String
  
  変換前 = Range(対象セルアドレス).Value
  
  If 変換前 = Empty Then
    MsgBox "A1に値がありません", vbOKOnly, エラーメッセージタイトル
    Exit Sub
  End If

181 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 18:22:31.49
  For 文字位置 = 一文字目 To Len(変換前)
    文字 = Mid(変換前, 文字位置, 切出し文字数)
    
    If AscW(文字) < カナ文字コード初端 Then
      MsgBox 文字種違反エラーメッセージ, vbOKOnly, エラーメッセージタイトル
      Exit Sub
    End If
    If AscW(文字) > カナ文字コード終端 Then
      MsgBox 文字種違反エラーメッセージ, vbOKOnly, エラーメッセージタイトル
      Exit Sub
    End If
  Next
  
  変換後 = StrConv(変換前, vbHiragana)
  
  確認メッセージ = _
    "「" & 変換前 & "」" & vbCrLf & _
    "を" & vbCrLf & _
    "「" & 変換後 & "」" & vbCrLf & _
    "に変換します。" & vbCrLf & _
     vbCrLf & _
    "よろしいですか?"
  
  If MsgBox(確認メッセージ, vbOKCancel, "確認") = vbCancel Then
    MsgBox "キャンセルされました", vbOKOnly, "キャンセル"
    Exit Sub
  End If
  
  Range(対象セルアドレス).Value = 変換後
  
  MsgBox "変換しました", vbOKOnly, "変換完了"
End Sub

182 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 21:59:24.54
ステートメント1行につきコメントを10行ずつぐらい書けばロンゲストと言えるレベルになるんでないかな

183 :名無しさん@そうだ選挙にいこう:2013/03/20(水) 22:01:44.01
長く書こうと思えばいくらでも長く出来るからなあ

184 :名無しさん@そうだ選挙にいこう:2013/03/21(木) 00:42:33.81
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ユーザーフォームのリストボックスで Enabled =False としても淡色表示されません
解決策を教えてください
ちなみに Enabled は実行時任意に切り替えます

185 :名無しさん@そうだ選挙にいこう:2013/03/21(木) 07:55:24.21
そもそもEnabled = Falseは淡色表示しろって命令じゃないし

Enabledはイベント反応するかしないかという設定であり
コントロールによってはそれが視覚的に解るように
無効化されてる時に淡色表示されるものもあるってだけの話

本来の機能(イベント反応の有無)が動作しないならおかしいが
無効化時の淡色表示はオマケ機能で、全てのコントロールに備わっているわけではないので
オマケ機能の無いものでもそれをやりたければ、自前でやればいいだけの話

186 :名無しさん@そうだ選挙にいこう:2013/03/21(木) 11:19:26.55
>>184
色はいちいち自分で変えないとだめ

Private Sub 有効()
  ListBox1.Enabled = True
  ListBox1.BackColor = &HFFFFFF
End Sub

Private Sub 無効()
  ListBox1.Enabled = False
  ListBox1.BackColor = &HCCCCCC
End Sub

187 :184:2013/03/21(木) 21:25:40.72
>>185-186
すみません解決しました

色を変えるのはまっさきにやっていたのですが
描画し直すようで選択行の見た目が失われてしまいコレが解決できず
色違いの二つのリストボックスを切り替えていたのですが、、、

もう一度挙動を確認していたら選択行を一度ずらせばよいことがわかりました

板を汚して申し訳ありません

188 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 07:13:52.44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可

フォルダ名が「読み込み用フォルダ」に入っている複数のbook(book名はさまざま)から
データを読み込んでコピペするマクロの組み方を教えてください

・フォルダ名は「読み込み用フォルダ」
・book名はさまざま(1234.xls、abcd.xls、あおいえお.xlsなど)
・sheet名は「sheet1」
・読み込みたいデータ(セルの範囲)はセル内に「読み込み開始原点」という文字列が入力されているセルを含めて7列分と
 行は文字や数値が入力されている最後の行まで
・これらを「読み込み用フォルダ」内に入っているbook名「データ集計君」のsheet名「3月度集計」に積み重ねる(積み下げる?)ようにコピペ

といった感じでお願いします
若しくは、読み込むフォルダを使用者が選ぶようにしたいです

189 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 10:29:29.73
>>188
で、やりたいことは解ったが、VBA多少使えるなら、何処まで作って何で躓いてるのかを書いてくれないと

因みに、特定フォルダ内のブックを順次処理していくならDir巻数とDo...Loop
「データ集計君」も同じフォルダに入ってるならIf...Thenで除外
範囲取得は左上はFindメソッドで、右下はUsedRangeやEndプロパティから取得すれば良し
データのコピペ積み下げの起点も、UsedRangeかEndプロパティから取得できる
読込フォルダの任意選択は「Browse For Folder VBA」でググれ

それ以外で解らないところあるなら、作ったところまでのコード貼るかブックうpして再質問どうぞ

190 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 16:47:43.66
【1 OSの種類.】 WindowsXP
【2 Excelのバージョン】 Excel2007
【3 VBAが使えるか.】いいえ
【4 VBAでの回答の可否】 否
助けてください。
データの入力規則で「1.05で割り切れる数字のみ許可」するにはどうしたらよいでしょうか?
要は外税と内税を判別できるようにしたいのです。
なにとぞよろしくお願いします。

191 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 17:50:19.06
> 「1.05で割り切れる数字のみ許可」
は出来るけど、それでは
> 外税と内税を判別
は出来ないぞ

消費税計算は端数切り捨てだってことを忘れるなよ

192 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 17:52:11.24
金額だけじゃ無理だね

193 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 17:52:48.80
まあ税抜き価格が、端数が出ない20円単位という限定条件下でなら可能だけど

194 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 18:07:00.64
>>191
税務署に払う時は切り捨てだけど、店で払う消費税は四捨五入だったり切り上げだったり色々
切り上げれば店がどんどん儲かる仕組み

195 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 18:11:02.03
windowsXp
Excel2003


=INT((33.8-INT(33.8))*75)で答えが60になると思うのですが
59になってしまいます
どうしてせしょうか?

196 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 18:22:35.51
内部的に59.999999999??くらいになってるんだろうな、多分

197 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 19:40:14.20
>>191,>>192
コメありがとうございますm(_ _)m
完璧にはできないんですね。
>>193さん、よければその方法を教えてもらえないでしょうか?
よろしくお願いします。

198 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 19:41:11.01
>>193
無理
420円の場合どうなるよ

199 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 19:54:58.70
考えなくてもわかる 1.05で割り切れる外税の価格はないとでも思ってるのか

200 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 20:21:16.83
>>194
店でも、切上げどころか、四捨五入も違法だけど?

許されるのは、税抜き99円、税込103円の商品2つで
206円ではなく207円貰う方式
99*2=198円
198*0.05=9.9円→切捨て9円
198+9=207円

こういう合算はOKだけど
単品にしても合計にしても、端数は切捨てしか認められない

もちろん、違法だろうと認められなかろうと、
のうのうとそれをやってる店もあるにはあるけどね

201 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 20:39:05.74
>>200
知識自慢も結構だけど実際にそういう店が存在する以上は
それに対応しとかないと計算が合わなくなるんでね

202 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 20:52:37.72
┐(´ー`)┌

203 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 21:45:21.58
切捨てだろうが四捨五入だろうが、1円程度の誤差にゴタゴタ言うなや貧乏人ども!

204 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 21:51:40.72
一番お金持ってる銀行が一番1円にうるさいんだよ

205 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 21:58:24.97
期間中は仮受・仮払消費税で仕訳して、期末に受取・支払消費税に振り替えてるのが現状。
たった1円でも合わすのが書類、、。 orz
スレ違いですた。

206 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:03:12.70
銀行のプログラムを書き換えて 円未満の端数を自分の口座に集めて大儲けするショートショートがあった

207 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:11:02.47
なにその攻殻機動隊

208 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:14:20.06
攻殻より前からあったネタだけどね
最初はどこか知らん

209 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:22:32.04
一番古いかは知らんけど星新一がそのネタ書いてる

210 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:29:26.14
俺が読んだのは小松左京

211 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:36:57.14
うざ

212 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:41:30.14
>>194>>200
課税標準額の算定は切り捨て
日常的な消費税の計算はなんでもいい(切り捨て切り上げ四捨五入五捨六入)。
>>203
誤差というより、法律の話だからね。
税務調査でしょーもないことで指摘受けるのは鬱陶しいんだよ、ものすごくね。

213 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 22:43:32.19
>>206
それはドイツだっけな。実際にあった話しらしい。
それがバレたのは口座の残高があまりに大きかったとか・・・資料が出てこない

214 :名無しさん@そうだ選挙にいこう:2013/03/22(金) 23:13:00.75
>>212
残念、ハズレ

215 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 02:39:30.96
ttp://www.mof.go.jp/tax_policy/tax_reform/outline/fy2004/sougakuhyoji/a_001.htm#7

> 端数をどのように処理 (切捨て、切上げ、四捨五入など)して「税込価格」を設定するかは、
> それぞれの事業者のご判断によることとなります。

端数は自由にしていいって財務省様が言ってるんだけどなあ

逆に、四捨五入が違法である根拠を示してくれないか? >>200あたり

216 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 06:57:07.23
消費税じゃないけど、財務省に問い合わせしてまで確認した通りのことやってたら
追徴課税くらった俺が来ましたよ。

217 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 07:55:54.14
そりゃ財務省に聞いてもな。税務署に聞かないと。

218 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 08:10:20.58
そうなんだよね
財務省は税務署の上だけど、見解が違うことあるし
現場では税務署に従わないとな

219 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 08:16:01.05
 
はい、ここでのこの話題は終了

以後はこちらへ

【質問不可】Excel総合相談所スレの雑談・議論スレ3
http://toro.2ch.net/test/read.cgi/bsoft/1354358619/

移動せずにここでこれ以上消費税端数の話する奴は、悔しさ炸裂の負け犬と認定する
 

220 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 09:56:34.76
一瞬、間違って他のスレを開いたかと思っちゃった。

221 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 18:42:10.63
で、質問してもいいですか?

222 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 18:46:19.95
だめっ

223 :221:2013/03/23(土) 18:48:38.51
じゃ、出直します・・・

224 :221:2013/03/23(土) 22:43:38.25
あのー、質問してもいいですか?

225 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 22:49:08.99
きかせてみい

226 :221:2013/03/23(土) 23:11:01.48
はーい

Excel10を使ってて、新規のブックを保存するときのフォルダが
C:\Program Files\Microsoft Office\Office14\XLSTARTになってます。
これを別のフォルダに指定できますか?

227 :名無しさん@そうだ選挙にいこう:2013/03/23(土) 23:32:42.69
>>226
ファイル→オプション→保存→既定のファイルの場所

228 :221:2013/03/23(土) 23:47:05.58
>>227
既定のファイルの場所(I):D\Excel にしてるけど、XLSTARTなんですよ・・・

229 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 01:19:05.88
>>221
テンプレートとか独自マクロとか、あるいはアドインみたいな、
ようはExcelを起動するときに必ず読み込むような類のものが働いて、
XLSTARTから何か読み込んでるあるいはそちらに書きかえられてるとかない?

230 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 04:53:24.83
>>228
その設定で間違いないので、>>229に思い当たるところが無く
Windows再起動してExcel起ち上げ直してもダメならMSにバグ報告どうぞ

231 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 06:06:31.99
>>226
ファイル名を指定して保存でフォルダ選べない?

232 :221:2013/03/24(日) 09:57:20.77
>>229-230
テンプレートは使ってないです。
マクロは、C:\Documents and Settings\momoka\Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLS があります。
アドインは、\Office14\Library\Analysis\ANALY32.XLL、\Office14\Library\Analysis\ATPVBAEN.XLAM の2つです。
どれも影響しないような・・・

>>231
選べますが、再起動するとXLSTARTに戻ります。

233 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 10:32:16.51
>>232
そもそもOfficeをインスコした直後は(マイ)ドキュメントが初期フォルダなんだから、
何かしら設定を変える要因があるはず

俺もまずはマクロかアドインを疑う
その2つを一時的に別フォルダに移動して確認してみてほしい

234 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:30:05.68
初歩的な質問ですいません(´・ω・)

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

日付に関する質問です
2013年1月1日を 201311 と数字のまま入力して2013/01/01と表示させたいのですが
セルの表示形式でユーザー定義をどのように定義すれば可能でしょうか?
yyyy/mm/ddだとエクセルの数値管理で2451/となってしまいます
####"/"##"/"##でも0000"/"00"/"00でもダメです
2013/1/1ではなく一桁の時は0をつけたいのです
恐ろしく初歩的だと思うのですがググっても見つかりませんでした
どなたか救いの手をお願いします('A`)

235 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:32:24.76
>>234 俺なら 1/1と入力する。書式は一番上

236 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:33:45.08
>>234
2013111
だと、
2013/1/11

2013/11/1
かわからない。無理。

237 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:34:04.76
訂正 1/1で yyyy/mm/dd

238 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:36:28.62
無理だよ 2,013年1月1日なら せめて20130101と入力しないと

239 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:37:55.24
>>238
年に三桁区切りのカンマはつけなくていいよ
それは会計の時の表記方法

240 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:38:12.24
>>236
ですよね
テンパっててアレでしたが冷静に考えてみると当たり前ですね('A`)

>>237
当年のはそれでいけますね

やはり面倒でも0を打つべきか(´・ω・)
ありがとうございました

241 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:39:16.64
変換したら勝手にコンマつく入力ソフトもあるから

242 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:39:56.13
なぜスラッシュを打たないのか;

243 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 13:46:39.59
>>241
そんな時はF10で変換するといいよ。windowsの場合ね。
他は良く知らない。
でないと指摘されてカッコ悪い思いをすることになる。
>>242
最初に作業量を減らしておけば
作業の効率化だけじゃなく、入力ミスの軽減にもつながる。

244 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 14:10:02.18
>>239 IMEが勝手に変換しただけー

245 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 17:17:46.76
41275って入れればいいよ

246 :名無しさん@そうだ選挙にいこう:2013/03/24(日) 21:49:18.31
>>221>>232
その症状に遭遇したことはないからなんともいえんけど、
PERSONAL.XLS関連で

>マクロの自動記録で保存先を[個人用マクロブック]に指定すると作成されます。
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_personal.html

ってあったからこの辺過去にいじった覚えはない?作成先を変更したとか。
アドインのその2つはたしかに関係はないと思う。
あるいはマイドキュメントをExcelとは関係なく、手動でどっか別のとこに
移動させたのが影響したとか…ないか。

どうしようもなかったら再インストールか修復インストール(設定の初期化)あたりの方向へ。
これがもし会社ので自分であまりいじれないなら、
会社のエンジニアに聞いたほうがいいんだけどw

247 :名無しさん@そうだ選挙にいこう:2013/03/26(火) 15:23:35.42
office2013にしたんだけどエクセル不安定すぎませんか?
家のPCでも職場のPCでも両方フリーズしまくります。
セル内に日本語入力しようとした瞬間落ちることが多いような気がする
ちなみに家はofficeIME、職場はgoogle日本語入力、OSはどちらもwin7。
仕事にならないんで2010使ってるけど、
ファイルクリックすると2013が立ち上がるからめんどい。

248 :名無しさん@そうだ選挙にいこう:2013/03/26(火) 16:14:11.58
メーカーに相談や報告すべき事と
掲示板で質問すべき事の区別が付かない人が最近増えたなぁ、っと

249 :名無しさん@そうだ選挙にいこう:2013/03/26(火) 19:42:52.60
メーカーとは?
ちなみに、マイクロソフトはメーカーではありません。

250 :名無しさん@そうだ選挙にいこう:2013/03/26(火) 19:46:20.27
エクセル仕様バグのメモ(Hishidama's Excel bug Memo): http://www.ne.jp/asahi/hishidama/home/tech/excel/sbug.html
ひどい話です!: http://aoki2.si.gunma-u.ac.jp/Hanasi/excel/

251 :名無しさん@そうだ選挙にいこう:2013/03/26(火) 20:29:06.34
>>249
m9(^Д^)プギャー

252 :名無しさん@そうだ選挙にいこう:2013/03/26(火) 20:29:14.34
>>249
そーいうのは、どうでもいいわ。

253 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 00:20:50.65
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

>>248の「メーカー」とは何を指してますか?

254 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 01:00:27.82
>>253
マイクロソフトでは無いでしょうか

255 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 01:47:30.71
マイクロソフトはソフトウェア会社なのでメーカーではありません。

256 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 03:56:58.63
そんな言葉遊びの悔し紛れ的難癖付けは要らない

257 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 05:22:07.70
つーか、言葉遊びにもなってない

本人は痛いところを突いたつもりなのかもしれないけど
makerとは
製造者だけではなく
製作者をも指す用語なので
物質的な物を製造しなくても
何かを製作していればメーカーなんですよ
ソフトウェア以外では創作なんかもmakeだしね
有名所では、ムービーメーカーなんかも物質以外のものを作る時にmakerが使われる例だ

中学くらいだと、makeは小さい「物」を作り、buildは大きい「物」を作る時に使うとか教えるから
「大きさの概念のある物質的な物」を作る時にしか使わない単語だと勘違いしてる人も居るようだが
それは一面だけであって、どちらも物質的なもの以外にも使われる単語だからな

揚げ足取ったつもりが、的外れすぎて恥の上塗りした形になったな

258 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 06:54:33.31
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

日付表示の位置揃えですが、0や複数セル(他セル)やVBAを使わずに、
日付を入力したセルそのものにyyyy/m/d形式で位置揃えをしたい。

■2013/10/10 (位置基準)
○2013/. 3/. 5 これがやりたい (コンマは2ch上での位置揃えに使っただけなので無視して下さい)
×2013/03/05 0を使うのはNG
×2013/ 3/ 5  スペースだとPフォントで位置が揃わないし、VBAか別セル使わないと
          月や日が1桁か否かで自動切り替えも出来ないようなのでNG
×2013/3/5   位置が揃わないので当然NG

0を表示するようにした上で逐一0を背景と同色にすれば見た目は揃うし、VBA使えばそれの自動化も出来ますが
入力に伴って逐一何らかの作業が必要になるものやVBA使う方法、年月日をそれぞれ別セルに表示して、
列幅調整で繋がってるように見せかけるなど以外の方法でお願いします。

回答して頂いてから後出しで駄目出しするのも失礼なので、なるべく細かく書こうとアレ駄目コレ駄目とちょっと小難しくなりましたが、
とにかく、VBA無しで、入力したセルそのものに、入力したらすぐに位置揃えされた日付が表示されればOKです。

宜しくお願いします。

259 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 08:54:58.05
無理じゃね
先頭にアポストロフィ付けて入力すればいんじゃね

260 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 12:01:11.61

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

どなたか心優しい方お教えください。
左から「目標台数・実績・目標台数との差・達成率・順位」という表を作ってあります。
この表をから別枠で5位 との台数差を表示させるにはどうすればよいでしょうか?
ちなみに目標台数と実績を入力すればその他の項目は更新されるようになっております。

よろしくお願いします。

261 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 12:11:11.65
>>260
=実績-INDEX(実績範囲,MATCH(5,順位範囲,FALSE))

262 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 12:34:06.80
>>261
ありがとうございます。
ただ、説明不足でした。

目標台数はそれぞればらばらで、順位は達成率で付けてあります。
その上で「達成率で5位以内に入るには現状であと何台足りないか」を求めたいのですがどうもうまくいきません。

説明が下手で申し訳ありませんがよろしくお願いします。

263 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 12:47:54.71
>>261
261さんのを基にしてできました!
ありがとうございました!

264 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 18:29:31.04
>makerとは
>製造者だけではなく
>製作者をも指す用語なので
>物質的な物を製造しなくても
>何かを製作していればメーカーなんですよ
>ソフトウェア以外では創作なんかもmakeだしね

これらが正しければ、商法を改正しなければなりませんねw

265 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 18:53:02.38
あのさ、法律上の用語定義って特殊なの知らないの?
弁護士すら得意分野以外はあんちょこ無いと混乱するくらいにね

法律上でこう使われてるからそれが正しいとか、どんだけもの知らないんだって話になるぞw

266 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 19:21:20.03
で、マイクロソフトはメーカーなの?

267 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 19:22:12.60
ソフトウェアメーカーだけどあの流れではMSを出すのは明らかにおかしい

268 :257:2013/03/27(水) 19:50:00.40
>>266
メーカーだよ
商社もメーカー、農家もメーカー、公務員だってメーカーだ

269 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 19:57:10.06
中学生が授業で習ったことを誰かに話したくて
さも尤もらしく書いたってとこだなw

春だね〜

270 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 20:15:16.24
ほんと>>265みたいに恥の上塗りする奴が現れると春を感じる

271 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 20:25:58.97
自演したり他人に成りすましたり、悔しさ炸裂だなw

272 :252:2013/03/27(水) 20:43:27.40
ほんとどうでもいいわ。日常会話での日本語なんていい加減なもんだろ。
メーカーに相談すべきことと掲示板に・・・の二択ならだれでもここでいうメーカー=マイクロソフトな事ぐらいわかるだろ。
「メーカー」という言葉の正しい意味なんて誰も求めてねーよ。外来語なんていい加減な使われかたしてるの多いだろ。

273 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 21:05:39.68
>>258
結論から言えば無理だった。そちらで書いてるような方法しかない。
>月や日が1桁か否かで自動切り替えも出来ないようなので
書式設定ではこれができん。

書式設定でユーザー定義
月1桁 日1桁の場合 yyyy/_0m/_0d
月1桁 日2桁の場合 yyyy/_0m/d
月2桁 日2桁の場合 yyyy/m/d
これをVBAででも関数ででも?振り分けて適用させる、俺のちっこい脳みそではここまでだ…。

ttp://www.relief.jp/itnote/archives/001825.php
ttp://www.geocities.jp/chiquilin_site/data/080725_date_format.html

274 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 21:09:06.29
>>273追記

月2桁 日1桁の場合 yyyy/m/_0d

抜けてたスマソ

275 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 21:42:42.53
なら条件付き書式でいいじゃん

276 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 21:53:58.48
>>275
あれいじったけどフォント、色、罫線、背景色ぐらいしか変えられない
条件にしたがって文字の色を変えるとかそういう用途の奴

277 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 22:07:42.33
>>276
http://www11.plala.or.jp/koma_Excel/contents8/mame8105/mame810501.html

新しいエクセルだといけたような

278 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 23:19:44.25
>>277
そうかできるのか
じゃあ>>253にアップデートしたらいいよ!ってレスすればいい

279 :名無しさん@そうだ選挙にいこう:2013/03/27(水) 23:20:27.97
レス番まちがえた>>258だった

280 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 00:16:02.30
での」2007以降はUI改悪というデメリットがついて回るから
安易にアップデートを勧めるわけにもいかないんだよな

281 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 00:52:09.88
2007はしらんけど2010なら乗り換えるべき

282 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 01:17:37.79
いまだに2003を使ってるやつって、マトモな食事すら取れない貧乏人かよwww

283 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 01:40:41.05
2013だと複数ファイルを開くと別ウィンドウで開くのやだな

284 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 02:55:06.51
>>282
ヒント:リボン 使いにくい@Google

285 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 06:05:01.97
新しいモノに慣れようとしない、古いモノが好きな人間って多いもんな。俺は真逆だが。
多少不便しても新しいモノが好き。大抵すぐ慣れるし。

286 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 06:12:57.57
エクセルの文字入力でカタカナだけが文字間隔が異常に
空いてしまい困ってます。なんでこうなっちゃたのか。。。?

287 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 08:05:32.40
>>286
http://toro.2ch.net/test/read.cgi/bsoft/1354358619/80-81

288 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 12:34:07.95
すいません
どなたかお時間ありましたら教えてください。

A列 B列 C列
ABC   123DFG
BCD 2345ABC
CDE 3456BCD
DFG 45678CDF

上記のような状態で
B列にA列の文字列を含む
C列のセルを隣のB列に表示する方法はありますでしょうか?
つまり下記のようにしたいのです。

A列 B列 C列
ABC 2345ABC 123DFG
BCD 3456BCD 2345ABC
CDE 45678CDF 3456BCD
DFG 123DFG 45678CDF

289 :288:2013/03/28(木) 12:38:58.71
A列  B列  C列
ABC     123DFG
BCD     2345ABC
CDE     3456BCD
DFG     45678CDF

↓こうしたい

A列    B列      C列
ABC   2345ABC   123DFG
BCD   3456BCD   2345ABC
CDE   45678CDF   3456BCD
DFG   123DFG    45678CDF

290 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 13:33:34.70
B1に「=C2」以下コピーでいいんじゃね?

291 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 13:41:19.41
>>290
多分A列の文字を含む文字列をC列から抽出してB列に出すということだとおもうが、45678CDFがちょっと違うしなぁ

292 :288:2013/03/28(木) 13:52:48.16
>>291
すいませんタイプミスです45678CDEです

293 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 13:53:00.06
>>291
さすがにそこは入力ミスじゃないの
抽出する方法難しくなりすぎる

294 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 13:56:56.27
A列のCDEがCDFの間違い、じゃないのか・・・うーん

295 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 14:11:03.34
>>288
   A     B    C
1| A列   B列   C列
2|           該当無し
3| ABC       123DFG
4| BCD       2345ABC
5| CDE       3456BCD
6| DFG       45678CDF

って感じにしたら、2行目を非表示にして、B3に
=INDEX($C$2:$C$6,MIN(IF(ISERROR(FIND(A3,$C$2:$C$6)),"",ROW($C$2:$C$6)-1)))
って入力したらCtrl+Shift+Enterで確定
式が { } で囲われたらOKで、あとは下方向にフィルコピー

タイプミスのところをそのままなら、B列は
 2345ABC
 3456BCD
 該当無し
 123DFG
となり、タイプミス直せば
 2345ABC
 3456BCD
 45678CDE
 123DFG
となるはず

でもその例のように「A列 : C列の末尾3文字」が一致する規則性があるなら
D列にRIGHT関数で末尾3文字切り出して、INDEX&MATCHでやった方がいいと思うけど

296 :288:2013/03/28(木) 14:37:41.26
>>295
ありがとうございます!
やりたいことができました

297 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 19:40:50.65
2行目の文字位置によって、2列のセルに色をつけるマクロを書いてますが、
行き詰っています・・・

下記のrxは、5、7、9、11、13、15、17、19・・・と2つ置きに増やしていきます。
このとき、rxに対してciの値を0〜5に置き換えたいのですが、
どんな式にすればいいでしょうか?

 rx  ci
  5   0
  7   1
  9   2
 11  3
 13  4
 15  5
 17  0
 19  1
  ・   ・
  ・   ・
  ・   ・

Sub 着色()
Dim c(5) As Long, rx As Long, ci As Long
 c(0) = 16764159
 c(1) = 10092543
 c(2) = 16777164
 c(3) = 13421823
 c(4) = 13434828
 c(5) = 16772300
 rx = Range("XFD2").End(xlToLeft).Column
 ci = ???
 Columns(rx).Resize(, 2).Offset(, 2).Interior.Color = c(ci)
End Sub

298 :名無しさん@そうだ選挙にいこう:2013/03/28(木) 20:26:31.90
>>297
rxの値を利用してciを出せってことでいいんだよね?

ci = (rx - 5) / 2 mod 6

ではどう?

299 :297:2013/03/28(木) 20:57:57.45
>>298
うまくいきました。
ありがとうございます。

300 :297:2013/03/28(木) 21:01:08.49
x Dim c(5)
o Dim c(6)

301 :297:2013/03/28(木) 23:34:10.64
すんません、297ですが別の質問です。

下記のrxが、5、7、9、11、13、15、17、19・・・と2つ置きに増えていくとき、
kiの値を5つ置きのアルファベットに換えるには、どうすればいいですか?

 rx  ki
  5   E
  7   J
  9   O
 11  T
 13  Y
 15  AD
 17  AI
 19  AN
  ・   ・
  ・   ・
  ・   ・

302 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 02:04:20.71
>>301
https://friendpaste.com/4AnRk0kR6gEaWlXn6f7GcH
こんなんで変換できるかもしれない

303 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 14:28:41.94
A列
a+aa
b+aaa
C+aaaa
d

すごく初歩的っぽい質問で恐縮なんですが
上記のようになっていて+から後ろを削除してB列に表示し
+が無いセルはそのままB列に表示したいのですがどうすればできるでしょうか?
ネットですぐに出てくる=LEFT(A1,FIND("+",A1)-1)だと
B列の4行目のdのところがVALUE!になってしまい困っています。

304 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 14:55:22.99
+が無いなら足せばいい
=LEFT(A1,FIND("+",A1&"+")-1)

305 :303:2013/03/29(金) 15:56:33.34
>>304
ありがとうございます
できました

306 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 16:45:51.78
  A  B
1 ○  1
2     2
3     3
4     4
5 ○  1
6     2

というように、A列に特定の文字列が出現した時に
B列のカウントアップをリセットするにはどうすれば良いでしょうか

307 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 16:49:09.51
B1=1
B2=IF(A2="○",1,B1+1)

308 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 16:56:39.94
>>306
B2へ
=IF(A2="〇",1,B1+1)
それ以降コピペで

309 :308:2013/03/29(金) 17:01:22.77
やっぱりPCじゃないと遅レスになっちゃうなorz

310 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 17:38:06.62
>>307-308
即レスありがとうございます。十分早いよ!

311 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 17:46:14.74
3月   4月   5月
AA    EE    .I I
BB    FF    JJ
CC   .GG   KK
DD    HH   .LL

こういう表にしたいけど、DDからEEなど連続したデータが別の列へ折り返す形の時って
非表示にした列や、別のシートにデータ自体を保持させるのがセオリーですか?
他にスマートなやり方などはありますか?

312 :301:2013/03/29(金) 19:57:58.83
>>302
ありがとうございます。
中身はよく分かりませんが、1〜5000の数字をアルファベットに
置き換えてたので、rxの値からkiの値を出す式を考えました。

Functionのiをkiに変え、

ki = (rx - 5) * 2.5 + 5
MsgBox convert(ki)

これでいけるかな?と思ったのに、
┌──────────────
│コンパイルエラー
│ByRef 引数の型が一致しません
└──────────────
というメッセージが出てしまいます。
ググってみましたが、よくわかりません・・・ orz

313 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 20:03:08.13
>>311
セオリーが云々かんぬんいうなら連続したデータを
他のシートで再利用するかとかそういうところも考えて作ればいいが
とりあえず書きこみ文にはそこまで内容がないのでわからん。

自分だけが使うファイルなら、自分がやりやすいように作ればいいのでは。

314 :301:2013/03/29(金) 20:06:31.02
それから、302のサイトだと/の向きが逆になってる記号があり、
コピペすると\になります。

num = (i - 1) \ 26

これは、どういう意味でしょうか?

315 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 20:13:32.61
>>301
>>312の内容は飛ばして>>301に対してレス。

これの一番上にでてるRange(X & "1").Column使う奴を
応用したらいける…か?

http://okwave.jp/qa/q2319487.html

316 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 20:22:19.81
>>314
整数商

317 :301:2013/03/29(金) 20:42:12.66
>>315-316
ありがとうございます。
すみません、明日早く出掛けるので
またあとで来ます。

318 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 21:31:03.10
>>301
ごめん>>315は間違いだった。読み飛ばしてくれ。

あくまでkiがExcelの列番号としてのアルファベットと同じか
同じ並びをしたものを扱ってるという前提でだけど、
こっちもいいんじゃないの。
http://www.relief.jp/itnote/archives/003478.php

ここのコードに
Sub test()
Dim a As Long
a = 3
MsgBox (ColNum2Txt(a))
End Sub

追加で結果確認は出来た。

>>312は…どこの何を変えたか間違いなく変えたのか
わからなかったけども、どっかで型間違えてるんでしょ。
string型にlong型ぶちこんだとかで。

319 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 21:36:09.44
追記。「Excel vba column アルファベット」でググッた。

320 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 22:49:56.34
>>313
レスありがとう。手動で入力した物を扱うのであればいいんですが
関数で自動入力させている場合にDDからEEにデータを持っていくにはどうしたら良いのかなと
例えば>>311のような月別の表で
A列「日付」C列「日数」F列「該当文字列」を入力し、文字列があった場合日数を1に戻す場合

 =IF(F3="該当文字列",1,IF(C33="",IF(C32="",IF(C31="",C30+1,"C31+1"),C32+1),C33+1))

これで日付が31日までない場合を回避して、翌月へ日数を渡しています
大変長ったらしく分かりにくいため、もうちょっとシンプルに管理する方法はないかと思った次第です

321 :名無しさん@そうだ選挙にいこう:2013/03/29(金) 23:55:49.44
>>320
例の中で、3月中にDDの出現する位置はランダムなの?毎月末固定?最高値?月の日数そのまま?それとも?
それを指定範囲の中で検索する関数を作って、あるいは直接参照でもいいので表の一番下に置く。

例にのるなら、3月の表の中でDDを検索して表示する関数をC35なりC40なりに置いとく。
手間が惜しくないなら直接C35にDDの値を書きこんでもいいし、「=C10」とか書いてもいい。
毎回書かなきゃならなくなるけど。
4月の表の冒頭ではそこを参照する、それで最後の日がずれてもいける。
月が変わっても行番号固定だから計算式の流用もできるはず。

こういうのではだめ?

322 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 00:12:14.80
>>320
追加。

>A列「日付」C列「日数」F列「該当文字列」を入力し、文字列があった場合日数を1に戻す場合

該当文字列が1個でもあったら、必ず次の月は1から始まるのか、あった日の次の日から
1になるのかその月の中では5ぐらいまでは進むのか、該当文字列が複数あったらどうなるのか、とか
そういう条件もよくわからんかった。
そこをうまく関数に落とし込んで、3月の表の一番最後に4月への引継ぎとなる値を表示させれば
いいんじゃないのと思った。

323 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 01:09:30.34
>>321-322
>>321の例だと最後の数値だけをどこかに保持するという事ですね
やりたいことは要するにこんな感じです
ttp://www.dotup.org/uploda/www.dotup.org4084185.jpg

頂いたヒントを元に
 =IF(M3="文字列",1,INDIRECT("C"&MATCH(MAX(C:C),C:C))+1)
という形で少し分かりやすいものに出来ました。長さはほとんど変わりませんがw
なかなかスマートにするのは難しいですね
ありがとうございました。

324 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 02:17:10.37
>>323
いやいやスマートじゃないですかー

325 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 20:59:59.44
行を挿入したときに、セルに書いてある式も同じように
挿入してほしいんだけど どう設定したらいいの?

326 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 21:05:46.25
コピー

327 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 21:14:25.17
テーブルつかえば 行挿入で自動的に式も入る

328 :名無しさん@そうだ選挙にいこう:2013/03/30(土) 21:14:36.86
>>325
テーブルなら数式は自動で入るけどね。

329 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 00:26:52.83
excel2013で複数ファイルを開く時に同じウィンドウで開く方法ないかな?

330 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 08:01:47.29
ないんだよねこれが。
アップデートに期待するしかない。

331 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 10:27:36.49
win8のアップデートとセットでないと無理そう
大不評で開発トップが飛ばされたから可能性はゼロじゃないかも、くらいのレベルだけど

332 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 12:42:34.38
Excel2010について質問させてください
入力用シートと出力用シートがあり、
出力用シートの各セルは入力用シートの各セルに対する参照になっています
この度、出力用シートの一部を別ブックに切り出す必要が生じたんですが
別ブックにコピーされた出力用シートの各セルは元ブックの入力用シートへの
参照になっています
元ブックが削除されると別ブックの各セルは#REFとなります
別ブック作成時に参照から実値に変換する方法を教えて下さい
よろしくお願いします

333 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 12:46:42.62
>>332
値コピー

334 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 12:47:08.38
入力シートも一緒にコピーするか
そもそも新ブックに値を貼り付ければいい

335 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 13:21:16.20
【1 OSの種類         .】 Windows 8
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Eには日付が入り、Dにはその日付より何日後という数値を入れたいですが、
セルDを =E+14 とした場合、
例 Eが1月1日の場合、Dは1月15日となる
なんですが、
Eが空白の場合は0と表示したいです。

336 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 13:52:00.07
>>335
d1=if(e1="",0,e1+14)

337 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 13:55:07.33
>>335
=IF(E="",0,E+14)

338 :332:2013/03/31(日) 13:58:17.70
>>333,334
シートをコピーしてから各セルの値コピーでできました
ありがとうございます

339 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 14:01:58.55
値貼り付けならあるけど値コピーってあった?

340 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 14:15:07.95
>>339 おまえアスペってよくいわれるだろ

341 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 14:57:24.87
いま初めてですがその根拠は何ですか?

342 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 15:00:12.23
字面どおりにしか読めない奴っているんだなぁ

343 :333:2013/03/31(日) 15:04:03.45
>>339
スマン、値コピーじゃなくて値の貼り付けだったわ

344 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 15:44:51.08
>>340
ネット弁慶とか言われる前にやめとけ

345 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 17:03:11.37
よほど効いたのか しつこい

346 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 19:53:14.69
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

条件付き書式でA1またはB1と同じ値を入力すると文字を赤くする、という動作がしたいんです。
セルの値が等しいで別々にやればできるのは分かっているのですが、まとめてやる方法はないんでしょうか?

347 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 19:57:47.33
>>346
OR(1つ目の条件、二つ目の条件)でいいんじゃね?

348 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 20:02:14.29
=OR(C1=A1,C1=B1)

349 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 20:19:57.17
>>347-348
=OR($A$1,$B$1) としていたのですが、うまくいきませんでした。
348さんの式だとC1だけに適応されませんか? 結構広い範囲に適応させたいんですが・・・

350 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 20:29:39.22
あ、解決しました。なるほど、こうやるのか……。
お二方友、ありがとうございました。

351 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 22:18:35.46
>>329です。

>>330-331
ありがとうございます。
マジで使いにくいよexcel2013

352 :名無しさん@そうだ選挙にいこう:2013/03/31(日) 22:36:36.17
2013って常に「他のアプリケーションを無視する」にチェックが入った状態なんですか?

353 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 00:31:21.32
それとは別で、Win8のUIポリシーにも関連して1ブック1ウィンドウになった。変更はできない。
マクロ使って、裏で作業用ブック開いておくとか無理になった(visibleいじるとかすればいけないことはないけど)。

http://office.microsoft.com/ja-jp/excel-help/HA102809308.aspx

354 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 15:11:13.39
20253
55872
15756

この数字に一括3000プラスとして

23253
58872
18756

のように変えたい場合どうすればいいのでしょうか?

355 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 15:37:19.50
>>354
=A1+3000
みたいなセルを作って一括選択でペーストして
計算結果をコピーして値をペースト

356 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 16:06:52.08
どっかのセルに3000って入力したらコピーして
形式選択貼り付けで加算した方が手順少なくて楽だよ

3000を入力するのは、加算対象セルの数に関係なく1セルだけでOKだし

357 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 16:15:18.95
>>356
ふおおおお
加算貼り付けなんて初めて知った
なんだこれ便利すぎる

358 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 17:19:58.19
こういうことやる時は激しく便利なんだけど
こういうことをやる事がそう多くないのが悲しいところなんだよね
加算貼り付けは、出来る子なのに出番が少ない

359 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 18:54:30.83
値の正負を反転するのに-1を乗算貼付けするのはよく使う

360 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 20:09:28.41
>>355-356
ありがとうございました!
本当に便利ですね!

できました。

361 :名無しさん@そうだ選挙にいこう:2013/04/01(月) 20:52:35.25
計算しながら貼り付けは、セルを1個消費するのがなんだかスマートじゃないんだよなあ
使い終わったら消す作業が空しい

362 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 14:47:34.29
シート1に、

 A   B   C 
日付 曜日 件数

のデータがあります。

シート2に曜日ごとの集計をとるため

 A   B   C 
曜日 件数 割合

があります。

件数を自動で表示させる為の、計算式を教えて頂けますでしょうか。
お願い致します。

363 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 14:57:06.59
>>362
件数はCOUNTIF
割合は件数/SUM(件数範囲)

364 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 15:03:55.59
weekdayとsumifとかの話じゃねーの

365 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 15:08:58.63
>>363
COUNTIFだと項目の数自体を数える事にならないか?
件数が10とか5とかでの値でその数字をまとめたいのかと思ったが

>>362
上の想定でいいなら
シート2の件数の所に =SUMIF(Sheet1!B2:B31,"月",Sheet1!C2:C31)
割合の所に =B2/SUM(B2:B8)
といった具合。もちろん割合が百分率なら*100な。
曜日も文字列じゃなく数値で扱った方が何かと楽だが。

366 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 15:10:08.12
↑ありがとうございます。

COUNTIFの数式が知りたいのです。

再度、お願い致します。

367 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 15:19:32.49
>>366
上の>>362の場合COUNTIFは必要無いでしょう

368 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 15:28:16.07
みなさんありがとうございます。

365さんのやり方で作れました!

お世話になりました!

369 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 15:52:03.89
ちなみにシート2で曜日を縦並びに集計する場合、範囲指定に$(セルの固定)が式に必要
なんだが、余計なお世話ですね

370 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 17:52:46.05
【1 OSの種類         .】 Windows7 Pro 64bit
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

表示形式でユーザー定義「####"Mbps"」表記にしているところを
(1)入力された数値が1000を超えていたら一桁のGbps表記にする
(2)入力された数値が一桁であればGbps表記にする
それぞれ可能でしょうか。また可能であればその方法をお教え下さい。

371 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 18:01:24.28
2010なら条件式いけるんだっけ?

[>=1000]#,"Gbps";-0;0"Mbps"

372 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 18:12:51.63
>>371
ありがとうございます。その方法でいけました

373 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 18:18:05.26
それだと1桁の場合にGbpsにならんのでは?

×[>=1000]#,"Gbps";-0;0"Mbps"
○[>=1000]#,"Gbps";[<10]0"Gbps";0"Mbps"

因みに表示形式の条件式は2000でも使えるし、確か97でも使える

374 :名無しさん@そうだ選挙にいこう:2013/04/02(火) 18:24:01.04
>>373
ありがとうございます。条件を並べようと思ったらうまく行かなかったので助かりました
古いバージョンに持っていくことがあるので、新しい方の条件付き書式を使わなくて済むのは助かります

375 :301:2013/04/02(火) 19:39:59.53
>>318
レスが遅れてすみません。
318のリンク先と、318の方法でうまくいきました。
ありがとうございました。

376 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 08:51:11.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ミリ秒のテキストデータがあるのですがそれをhh:mm:ssの時間表記に変更する方法はありますでしょうか?
例) 123456789ミリ秒→

377 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 09:05:08.96
読み込む方法がわからんの?
あと、数値だけじゃなくて、「ミリ秒」ってのもテキストに含まれてるの?
数値だけなら普通に読み込んで、1000かければ済むと思うけど。

378 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 09:06:19.66
1000かけたら何になるんだよw

379 :376:2013/04/03(水) 09:23:05.85
単純に数値のみのテキストデータです

380 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 09:33:43.63
ああ、そっか。1000かけてもいかんかw
A1にミリ秒だったら、B1に、=A1/24/60/60/1000とかでシリアル値にして表示形式で行けんじゃない?

381 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 13:38:11.40
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ほんのり
【4 VBAでの回答の可否】 可
vbaにて、01を数字として認識させる方法ってありますか?
日付を付けたシートを順に選択したいのですが、日付が01,02となっているので、そこの0をどうやって出すか悩んでます

For Loop = 1 to 31
シート(Loop)選択

みたいな流れを01とかでできないですか?

382 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 14:32:41.22
Format

383 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 15:13:42.94
>>381
Format(Loop, "00")

384 :名無しさん@そうだ選挙にいこう:2013/04/03(水) 19:22:07.42
予約語は変数として使えんのけ?

385 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 00:01:29.74
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 すこし
【4 VBAでの回答の可否】 可

シート名が1-60のシートのc9〜F20までとI3〜L24を注文一覧のシートにまとめて貼り付けたいです。


For i = 1 To 60
Sheets(i).Activate
Range(Cells(9, 3), Cells(20, 6)).Copy
Sheets("注文一覧").Activate
Range(Cells(34 * i - 30, 2), Cells(34 * i - 18, 5)).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets(i).Activate
Range(Cells(3, 9), Cells(24, 12)).Copy
Sheets("注文一覧").Activate
Range(Cells(34 * i - 17, 2), Cells(34 * i - 3, 5)).Select
Selection.PasteSpecial Paste:=xlPasteValues

Next


と作りましたが、他のシートを参照してしまいうまくいきません。
よろしくお願いします。

386 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 01:00:51.90
>>385
たぶんだけど、シート名とシート番号がずれてるんじゃない?

Sheets(i).Activate

Sheets(i & "").Activate

とすれば、シート名が数字だけでもきちんと選択できる

あと、いちいちActivateしなくてもこうやれば一発でコピーできる

For i = 1 To 60
  Sheets(i & "").Range("C9:F20").Copy Sheets("注文一覧").Range(Cells(34 * i - 30, 2), Cells(34 * i - 18, 5))
  Sheets(i & "").Range("I3:L24").Copy Sheets("注文一覧").Range(Cells(34 * i - 17, 2), Cells(34 * i - 3, 5))
Next

387 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 01:03:41.24
>>384
無理どす

388 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 10:46:28.80
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

クグッたのですが分からなかったので質問させて下さい。
SUMIFとSUBTOTALを同時に使いたいのですがどのようになりますか?

※日付・単品・数量・売り上げの項目があり日付を絞り、期間内の単品ごとの合計を調べたいです。

宜しくお願いします。

389 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 11:01:24.72
>>388
複数条件で絞り込みたい時、Excel2007以降ならSUMIFSという便利な関数がある

390 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 11:27:53.59
>>389
ご返答ありがとうございます。
自分もSUMIFSは考えたのですが、その場合日付指定が単月になりますよね?
自分の説明不足でしたが、日付は複数(例えば2〜3ヶ月分とか)で絞りたいので使えないです。

391 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 12:24:06.37
作業列にフラグたててSUMIFつかえば

392 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 12:25:12.81
ピボットテーブルで

393 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 12:43:57.16
>>391
フラグですか?すみませんやり方教えて頂けますか?我流でエクセル勉強したので基本的なの操作抜けてるかもです。

394 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 13:19:04.71
そこでSUMPRODUCTですよ

395 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 19:18:28.41
>>388
項目名だけ書かれてもどういうデータか分からない。
2,3行でいいから具体的なデータを示して。

396 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 21:14:24.67
>>395
すみません今外なので家に帰ったら書き込みします。

397 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 23:13:51.43
>>395
388です。簡単ですがデータ書いてみました。可能でしょうか?

(sheet1)
   A     B     C     D
1 年・月   商品名  売上数  売上額 
2 12.01   バナナ    5     1,000
3 12.01   苺       2     2,000
4 12.02   みかん    2     1,000
5 12.03   バナナ    2     400
6 12.04   苺       1     1000
7 12.04   梨       5     2,000
8 12.04   苺       2     2,000
9 12.05   梨       5     2,000
10 12.05  バナナ     3     600
11 12.06   みかん    2     1,000
12 12.06   苺       3     3,000

※年・月、商品名はかなり多いです。

これを別シートに例えば3月〜5月の複数の単品の合計数量を簡単に出せないかと・・・
(フィルタで任意の月を表示させたら別シートの単品の合計も自動で変動させるとか)

(sheet2)
苺          1       
バナナ        5
梨          10

※フィルタで(sheet1)の12.03〜12.05を指定(フィルタじゃなくてもいいのですが複数の月の合計をとりたいです)

   

398 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 23:37:27.07
A列の年月を元にE列に四半期等の区切りを入れて、それをsumifsすれば良いだけでは

399 :名無しさん@そうだ選挙にいこう:2013/04/04(木) 23:39:12.02
=YEAR(A1)&"-"&CHOOSE(MONTH(A1),4,4,4,1,1,1,2,2,2,3,3,3)
E列はこんなんでいいんだろ

400 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:00:41.82
>>399
早速の返答ありがとうございます。助かりました、こういうやりかたもあるんですね。
他返答頂いた方もありがとうございました。m(__)m

401 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:14:17.12
なんで簡単便利なピボットテーブルって周知されないのかな?
名前が悪い

超集計 凄集計 集計X とかにすればよかったんだよ

402 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:28:55.80
だっていちいち更新すんの面倒なんだもん

403 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:30:56.86
>>397
作業列使うけど、、たとえば
E1:=0 E2:=SUBTOTAL(3,$A$2:$A2)
F2:=E1<>E2
G2:=SUMIFS($C:$C,$B:$B,$B2,$F:$F,TRUE)
としてそれぞれ下にコピー。
これでフィルタかけた項目のみの売上数が出る
ついでに
H2:=$D2*$C2
I2:=SUMIFS($H:$H,$B:$B,$B2,$F:$F,TRUE)
としてそれぞれ下にコピーとすればフィルタかけた項目の売上集計がでる。
もう少しスマートに出来るかもしれないけど、subtotalの制限が多くてよく分からなかった

404 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:36:02.83
売上額を単価と勘違いした;後半部分は気にしないでくれ

405 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:36:41.00
>>401
ピボットテーブルは、正規化されたデータを集計するには簡単便利だけど
普段からデータベースを扱わない人にとっては、ピボットテーブルではなくデータの正規化が敷居高

あと更に先行くと、ピボットって意外とかゆいところに手が届かなくてVBAで集計することも多くなる
ピボットじゃどうにもならないってわけじゃなくても、VBA覚えると「ピボットでも最低限は出来るけど、
VBAならもっと凝れて、見やすく解りやすい結果を出せるのに」なんてことが頭をよぎると
じゃあVBAでやるかって方向になることが多い

集計用の汎用クラスを個人用マクロブックなりアドインなりに入れておけば
VBAでの集計も簡単便利で自由度無限だからな

もちろん、VBAで集計できるレベルに達しても、ピボットで不足無い場合はピボット使うけどね

406 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 00:38:27.77
集計用の汎用クラスってどんな感じなんでしょう?

407 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 06:00:29.15
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003&2000
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 可


番号 型番  品名   種類   サイズ
1   ABC  豚バラ   肉     500
2   BCD  豚ひれ         250
3   EFG  牛スジ          100
4   HIJ  牛ひれ          350
5   アイウ 玉ねぎ   野菜   300
6   エオ  じゃが芋        700
7   カキク 人参          200
8   abc   バター  調味料   50
9   cde  カリー粉         10
10  123  福神漬   付合せ  50
11  456  らっきょう        50

408 :407:2013/04/05(金) 06:01:02.62
>>406のような感じのリストがあって、種類の空欄は上のセルを参照(コピペ)するマクロを作成しました。

Private Sub CommandButton1_Click()
For i = 5 To 204
If Cells(i, "D") = "" Then
Cells(i - 1, "D").Copy Cells(i, "D")
End If
Next i
End Sub


種類はD列にあって、1〜4行目には他の項目が記入されているので、
「1 ABC 豚バラ 肉 500」の「肉」はD5から始まります。
内容にもよりますが、10行〜200行まで使用するので200行分の空欄をコピペするつもりのマクロです。

問題は200行未満の場合でも、200行まで空欄にコピペするので無駄に時間が掛かってしまいます。
>>406の場合だと11行までで種類のコピペを止めるマクロはどのように組んだらよいのでしょうか?
番号(A5)は決まっているので200行まで番号が振ってあり、型番と品名は空欄がありません。
種類も、型番ないし品名の入力されている最後の行までコピペをする感じになるとは思いますが、
私のスキルでは方法が思いつきません。ご教授願います。

409 :407:2013/04/05(金) 06:06:59.65
間違えました>>407のリストです

番号 型番  品名   種類   サイズ
1   ABC  豚バラ   肉     500
2   BCD  豚ひれ   肉     250
3   EFG  牛スジ   肉     100
4   HIJ  牛ひれ    肉     350
5   アイウ 玉ねぎ   野菜   300
6   エオ  じゃが芋  野菜   700
7   カキク 人参    野菜   200
8   abc   バター  調味料   50
9   cde  カリー粉  調味料   10
10  123  福神漬   付合せ  50
11  456  らっきょう  付合せ  50
12              付合せ
13              付合せ
        ・
        ・
        ・
199             付合せ
200             付合せ

こんな感じに無駄にコピペされます(マクロ的には当然なんですが・・・)
付合せをコピペするのは番号11まで(D15まで)にしたいのです。

410 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 06:42:26.27
>>409
Ifで種類が空白のとき、に
なおかつ横の品名が空白でないとき、
というIf文を追加

411 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 09:26:38.55
>>409
ループする回数を固定しないで、
型番か品名の終端行を求めて、そこまでのループにする。
終端は例えばこんな感じで求める

Dim rw As Long
rw = Cells(5,"B").End(xldown).Row

412 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 10:59:12.33
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】否
例えば1991年3月1日の曜日を知りたいとする
その場合
sub test
dim a as date
a="1991/3/1"
msgbox(weekday(a)=vbsunday
でいいんだっけ?詳しいやり方がわからないのでお願いします

413 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 11:13:02.15
>>412
VBAの回答が否ということなので書式設定でyyy/m/dの後にaaaと付け足せば曜日が表示
されます

414 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 11:42:22.96
>>412
Sub test()
  Dim a As Date
  a = "2013/4/5"
  MsgBox (WeekdayName(Weekday(a)))
End Sub

415 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 14:04:23.35
>>403

質問者ですが返答ありがとうございます。
まだ実行はしてませんが使わせてもらいます!

416 :409:2013/04/05(金) 17:28:18.51
>>410
>>411
どちらのアプローチ方法でも私の求めていることを出来るってのは分かりますが、
マクロ化する方法が分かりません。まんまコードを貼って貰えると助かります

関数でもマクロでもですが、やりたい作業があったらエクセルで出来るかググるなりして
ヒットしたものを何となく使っていたので、本当の意味ではエクセルを理解していないのかもしれません
これを機に本格的に勉強したいと思っていますが、エクセルを使うのは一般事務レベルなので
関数の全ては当然としてせいぜい10〜20種類も覚えて活用・応用できれば十分とも考えています
何か、お勧めの勉強方法があったらアドバイスお願いします

417 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 17:46:51.24
>>416
オススメの勉強方法は、何か出来ないことにぶちあたったら
「まんまコードを貼って」なんて言わずに、自力で解決の糸口を探ること

それが一番の勉強で、必要に迫られて調べて実戦したことは
スキルアップのためにとかで勉強したことより遙かにしっかりと身につく

418 :410:2013/04/05(金) 18:58:07.18
>>416
関数はその方法で必要にかられてから探して丸ごと使うでもいいよ。そう難しいもんじゃないから
それで十分覚えれる。

VBAは一応プログラミング言語だからそれなりに基礎から覚えないとそういうちょっとした改造だって出来ないよ。
HelloWorld!から手順を追って勉強した方がいい。
基礎からやらないなら丸投げして作ってもらうしかない。

419 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 18:59:00.63
もし擦れ違いでしたら誘導お願いします。
初心者質問で申し訳ないのですが、
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類          .】 WindowsXP
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

現在セル一つ分に黄色を塗っているのですが、そこを含む複数のセルを青色にしたら
黄色が消えてしまうので、黄色を上に持ってきたいのですが 可能でしょうか?
一つ分のセルの色は二色使っていて、それが複数あります。その中の全部に背景色というのでしょうか?
そんな感じで塗って、一つ分のセルの色をもし削除しても 背景色の青が出てくるようにしたいのです。
なんだか説明が下手ですみません。
ネットで調べても分からず 昨日から徹夜で作業してます。どなたかご教授頂けないでしょうか?

420 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 19:00:23.64
htmlじゃないんだから

421 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 19:11:25.70
>>419
それを徹夜で作業するって、実際はどういう形でどういう数の黄色セルがあるの?
例えば何かが入力されてるとか、何か条件あるでしょ。

先に全部青ぬってそのあと黄色にしたいセルを簡単に選択する方法考えた方がいいと思う。

422 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 19:26:34.58
>>421
レスありがとうございます。

> 先に全部青ぬってそのあと黄色にしたいセルを簡単に選択する方法考えた方がいいと思う。

そうなんです。そうすれば良かったんですが、初心者なりに会社の予定表を作っていて、そこに予定としてセルに
いろいろなところに色としてスケジュールしていたんですが、 背景を帯状に交互に塗ればもっと見易いと思い
最後に背景帯として塗る作業になってしまい、また 1からやり直すより フォトショップのようにレイヤーみたいに
色の順序を変える事って出来ないかなぁ?と思った次第でした。
何かいい方法ないでしょうか?

423 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 19:29:28.15
初心者免罪符にすんなよ。くっそウザいわ。
条件あるかないか聞いてんだから答えろ。

424 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 19:29:56.38
>>422
条件付き書式って知ってる?

425 :421:2013/04/05(金) 19:30:07.18
>>422
レイヤーみたいな考え方は無理。
そういう用途なら「条件付き書式」でググって勉強したらいいと思う。

426 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 19:53:42.42
検索・置換に書式(セルの色)も指定できる
青色にしたい色のない範囲を洗濯して(黄色を含んでよい)、色のない書式のセルを
青い書式のセルに置換すればよい

427 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 20:19:50.56
シート全体を青に塗りつぶしておけばいいんじゃない

428 :名無しさん@そうだ選挙にいこう:2013/04/05(金) 20:34:02.15
>>419
色の順序と言う概念はない。あえて言えばテキストボックスとか
図形、画像でセルを覆い隠したらそれにあたるが、
これは>>419の内容には合わない。

あとおせっかいだけど、そういうのは、現状でなんとか使えてて
業務に支障がないようならとりあえずそのまま使っとく。
そんで月末でもいつでも、手が空いたときに業務に差しさわりのない範囲で見直す。
不必要な事までこだわりすぎなんだと思う。

あと個人的には、白ベースで最小限の手間で
把握が出来るくらいのにしたほうがいいと思う。
ただの予定表であって何らかの成果物ではないのだから…

429 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 00:09:26.99
>>424-425
条件付き書式はセルの色より優先されるぞ
>>419
何通りか解を
・1からやり直す(多分>>419さんの力量だとこれが一番早い)
・VBA覚える
・シート2のセルの数値で色が変わるようにする。
=(Sheet2!$A$1=1)
=(Sheet2!$A$1=2)
=(Sheet2!$A$1=3)
…といった感じで条件付き書式を設定
・どうせできるものも大したものじゃないから、背景色なんて塗らなくてオッケー。色を全部消す。

430 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 05:57:43.81
>>429
条件付き書式のまともな使い方知らないの丸出しな回答だな。

今の内容でシート2とかマジでアホの考えだわ。

431 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 07:00:13.47
>>419です。
みなさん 親切に返答レスありがとうございます。
まだ なかなか手につかずすべて試す事が出来てませんがコツコツ
やります。 もし 引っかかるようで調べても分からないとき
また ご教授頂けると幸いです。
それと 素人すぎてしまい 不快にさせてしまった方にはお詫び申し上げます。

432 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 07:10:38.68
>>430
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
条件付き書式のまともな使い方を教えて下さい、よろしくおねがいします!

433 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 07:36:18.09
>>432
予定表ならセルの内容に対して条件付き書式設定するだけやろ。

つーかシート2で色塗りたい場所にわざわざ数字いれてなおメインシートに条件付き書式設定するって何?手動で塗るより手間かかるがな。

434 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 18:03:44.03
>>432
使い方がわからないなら使わない方が無難

435 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 21:03:58.77
>>336 有難うございます。
>>337 上手くいかなかったです。 #NAME?と出ました。

436 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 21:21:54.12
>>435
なぜエラーがでるのか検証してみた?
実は>>337>>336と同じである
違いは>>336ではセルの指定がされているのに対し>>337は質問者と同様の概念の域で
回答を出しているのでただコピペしてもエラーが出るのは当たり前である
もっと脳ミソを使いましょう

437 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 21:24:10.93
脳ミソ食べくらべw

438 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 22:02:51.56
>>335>>435
本屋でExcelの参考書買ってきましょう
Excel2010の奴かどうか確認して、
軽く立ち読みしてわかりやすい奴がいいよ
薄っぺらい安い奴で十分だから

439 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:04:03.12
Excel初心者ですが
.他のアプリへbookの数値を直接インポートすると
パーセンテージの箇所がことごとくすべて小数点の数値になってしまうのですが(36.3636363636364・・みたいな・・・)
書式で変換した見かけ上のパーセンテージではなくリアルにパーセンテージ表示に変換する関数はないのでしょうか?

440 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:12:19.08
他のアプリww

441 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:13:06.12
100で割るだけじゃん

442 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:14:50.22
また初心者アピールかクソうぜえ。
初心者だろうがベテランだろうがわかんねーもんはわかんねーでいいんだよ。
僕は悪くないんですけどーみたいなクソ根性チラチラ見せんな屑。

443 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:15:54.31
>>439
text関数かな
別に関数じゃなくても、
=round(3/100,2)&"%"
って感じでもいいと思うけど
>>440
まぁ、アプリケーションの略だろう。
そんなに笑うことじゃないと思うよ。

444 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:20:43.05
>>443
これですね!ありがとうございます!
ググって色々見ていたら
先頭の4文字を抽出する関数をみつけて危うくそっちを使う所でした・・w

445 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:22:23.84
>>439
見かけ上じゃなくリアルなパーセンテージなら
36.3636363636364・・みたいな・・・
でいいんじゃないのか?それともその逆?
実際のデータと、書式と、求める結果を書かないと。

446 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:23:32.78
3636%なんだろう

447 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:25:32.30
ほんとに丸めてしまっていいのか;

448 :439:2013/04/06(土) 23:26:41.61
>>445
そうですね
37.7777777777778

37.78%
にしたいと言う話でした。すみません、、

449 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:33:32.22
他のアプリがなにか知らんが、>>443の方法だと元データが失われるからな。

450 :名無しさん@そうだ選挙にいこう:2013/04/06(土) 23:52:58.02
>>449
>>446
>>447
>>443
仕組みはイマイチまだわかってませんが

=ROUND(C13*100,2)
で無事解決できました。パーセンテージ表示がずらりと並んでいる表なのですが
他のアプリ上で小数点以下の数値があふれて大変な事になっている状態を何とかしたいという話でした。
ありがとうございます。

451 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 00:08:12.62
>>444
left関数かな。それはしんどいね。できれば数値は数値のまま扱ったほうが良いね。
殆どの場合、text関数は最後に使います。
>>442
どうしてそんなに汚い言葉を使うのかな、少し気になります。
・相手にダメージを与えたいなら、丁寧に間違った回答を早く教えるのがベストです。私は昔、さんざんやってきました。
・単にストレスを発散したいなら、スポーツがオススメです。それはあなたの健康にもつながることでしょう。
・勝利したいなら、宝くじを買いましょう。はっきり申し上げますと、あなたは、大抵のことでは勝てません。とりあえずこのスレでは無理です。後発のまともな回答を見て、つらい思いをするだけです、いえ、してきたでしょう。運に任せ、宝くじをあて、人生に勝利しましょう。
・その他、猿が偶然キーボードをタイプしてできた文章などでしたら、研究員の方、ご一報下さい。

452 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 00:26:49.77
>>451
上級者ズラしてアホ回答した人がイライラしてるんだと思うよ。

453 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 00:29:25.72
>>452
若いというのは羨ましい。
私も昔はそうだったとおもいますが、最近は全くなくなりました。

454 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 03:34:13.39
ズラしてどうすんだ
面だよツラ

455 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 06:26:16.13
【1 OSの種類         .】 WindowsXPsp3
【2 Excelのバージョン   】 Excel 2002
オートフィルで、連続数字を入力できなくなってしまった。
具体的には、オートフィルした直後に十字状態のカーソルの右下に出るはずのオートフィルオプションが出なくなってしまった。
したがって、「1」と入れたセルをオートフィル状態でドラッグすると、「1」「1」「1」「1」・・とはなるが「1」「2」「3」「4」・・とはできなくなった。
ただし、まっさらの新しいエクセルファイル上でやると、問題なく出てくる。
どこをどういじれば出てくるのか、誰か教えてくれ。

456 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 06:43:51.69
「1」の場合は「1, 1, 1, 1」で正常だよ
オートフィルは増分を検出するか、ユーザー設定リストに該当がある場合以外は
同じものの繰り返しをするのが基本仕様だから

なので「1」なら増分無いので「1, 1, 1, 1」、「1, 2」なら増分+1なので「1, 2, 3, 4」となり、
「月」はユーザー設定リストに該当があるので、1セルだけでも「月, 火, 水, 木」となる

因みにCtrlキー押しながらだと、数値1セルの場合は+1で、「1」が「1, 2, 3, 4」、「0.5」が「0.5, 1.5, 2.5, 3.5」
複数セルの場合は増分があろうとユーザー設定リストに該当があろうと
選択した範囲での繰り返しで、「1, 2」なら「1, 2, 1, 2」、「月, 火」なら「月, 火, 月, 火」になる

457 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 07:46:27.50
>>455
エクセル 2002 オートフィル
でググれば解決法が載っている所がありますよ。

458 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 15:55:39.94
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

シート内のSUM関数の数を数えたいのです
シート内には他の関数や数式と数値も入っています
その中でSUM関数のみ何個あるか表示したいのです

検索してもわかりません、よろしくお願いします

459 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 16:55:12.41
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可


項目(1項1目、1項2目、・・・)を大きい項目(5款)で下図のようにまとめるのってどうやったらできますか?
5款の領域が┏みたいな形になるようにまとめたいのですが


┏━━━━━━┓
┃ 5款       ┃
┃   ┏━━━┫
┃    ┃1項1目┃
┃   ┃1項2目┃
┃   ┃1項3目┃
┗━━┻━━━┛

460 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 17:10:18.94
>>459
見た目の問題?
セルの結合で┏の形にするのは無理。

罫線だけその形に引くぐらいしかできんと思う。

461 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 17:14:30.87
>>460

職場の前任の引き継ぎの紙の資料でこういう形になってたんですが、
やはり罫線で見た目こんな感じになってたんですね。

ありがとうございますm(__)m

462 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 17:15:04.54
>>458
Cellsに対してFor Eachループ回して
Formulaプロパティに"SUM("が含まれるかチェックして
カウンタを+1してけばいいんじゃね?

463 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 20:27:26.27
>>458
セルの数だけなら「sum(」で検索すれば出てきたけど、
1セルに何個sumがあっても1とカウントされてしまう
これじゃダメなら>>462しか無いと思う

464 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 20:35:35.68
>>459
結論は出ちゃってるけど、
見た目の問題と割り切って、強引にやるなら

・5款のセルを大きめに作って、1項の部分を横書きテキストボックスで5款のセルの上に置く
(5款は横位置を右、縦位置を上に)
・セルの結合と罫線を駆使する
・5款のセルを大きめに作って、印刷に関係ないセルで1項の内容を書く
→範囲選択・コピー→右クリックで貼り付け→「リンクされた図」を選択
これでセルの内容を受け継いだ図がでてくる

465 :458:2013/04/07(日) 21:35:12.61
>>462>>463
レスありです
462の方法で何とかやってみます

466 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 21:49:48.89
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 否
たとえば”トウキョウトッキョキョカキョク”に含まれる"キ”の数を数えるには
sub test
dim a as string
a=len("トウキョウトッキョキョカキョク",instr("トウキョウトッキョキョカキョク”、
”キ”)-1)でいいんでしょうか
詳しくお願いします。

467 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:05:42.11
>>466
=LEN(A1)-LEN(SUBSTITUTE(A1,"キ",""))

468 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:10:12.51
>>467
VBAで答えてください

469 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:11:06.20
466です追伸 msgbox(a)
VBAで答えてください

470 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:12:10.88
>>466
VBAに関する質問なのに

【4 VBAでの回答の可否】 否

ってどういう事やねん

471 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:12:29.68
>>466=>>412=礼をしない人?

472 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:14:29.16
>>466
誤り

文字列中に含まれる特定単語の数を数える 関数は
vbaではないっぽいので
自分でプログラム組め
ググッたら普通にみつかるぞ
勉強中なら考え方含めて勉強しろ

473 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:44:55.34
SUBSTITUTE → Replace

474 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 22:51:32.72
>>466
こんな感じ
Sub test()
Dim a, b, c
b = "aあいあいああ"
c = "い"
a = Len(b) - Len(Replace(b, c, ""))
MsgBox a
End Sub
>>471
それがどうしたの?礼を求めて回答してるの?

475 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 23:19:28.13
正規表現みたいなのなかったけな?使い捨てならこんなん?

ubound(split("トウキョウトッキョキョカキョク","キ"))

476 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 23:29:00.98
こういうの嫌いじゃない

477 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 23:35:36.49
あかまきがみあおまきがみきまきがみ
となりのきゃくはよくかきくうきゃくだ

早口言葉は き がおおいよね。

478 :名無しさん@そうだ選挙にいこう:2013/04/07(日) 23:56:29.01
>>475
こういうの見ると感動してしまう。

479 :名無しさん@そうだ選挙にいこう:2013/04/08(月) 00:17:01.78
日本製のOSおしえれ。

480 :名無しさん@そうだ選挙にいこう:2013/04/08(月) 00:17:37.84
誤爆や↑ 小さい事気にすんな

481 :名無しさん@そうだ選挙にいこう:2013/04/08(月) 00:21:49.06
>>465
Find と FindNext の組み合わせで出来た

Dim formulaStr As String
Dim searchRange As Range
Dim resultObj As Object
Dim count As Long
Dim firstAddress As String

formulaStr = "SUM"
Set searchRange = ActiveSheet.Cells
count = 0

Set resultObj = searchRange.Find( What:=formulaStr, LookIn:=xlFormulas, LookAt:=xlPart)

If Not resultObj Is Nothing Then
firstAddress = resultObj.Address

Do While Not resultObj Is Nothing
count = count + 1
Set resultObj = searchRange.FindNext(resultObj)
If firstAddress = resultObj.Address Then
Exit Do
End If
Loop

Else
count = 0
End If

MsgBox "result:" & count

482 :455:2013/04/08(月) 11:59:13.03
>>457他トン。
記録に残す意味で、経過を報告。
貼り付けボタンオプションのチェックの有無では、解決できなかった。
できないシート上のすべてのセルの数式と値のクリアをしても、解決できなかった。
複数のシートを使っていたので、すべてのシートを選択したうえですべてのセルの数式と値のクリアをしたら、解決した。

編集→フィルから作業できることが分かったので、これ以上追及しない。
こんな初歩的なことに答えてくれて、ありがとう。

483 :名無しさん@そうだ選挙にいこう:2013/04/08(月) 22:37:06.40
Dの文字に条件付き書式で色がつくように設定してます。
でも 印刷の際にはその文字と色の表示だけを消して、それらに関する計算式だけは残したいのです。
分かりにくい質問で申し訳ありませんが、数式は残して、文字と色を表示しないように出来ないでしょうか?

484 :名無しさん@そうだ選挙にいこう:2013/04/08(月) 22:53:25.47
Wordなら隠し文字って書式があるんだけどね Excelにはないね

485 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 01:47:07.58
E列に印刷用の作業列を追加して、そこに条件を書いとけばいんじゃね

486 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 09:51:27.67
レスありがとうございます。
行や列の追加をしてしまうと 印刷範囲からはみ出てしまい 一枚に印刷できなくなるんですよねぇ。
それで、計算式は残して、色と文字だけ表示できないような設定で 枠は残したまま 空白になるような設定
ってないでしょうか? 素人質問ですみません。

487 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 09:54:58.92
無いからそのシートリンク貼り付けした印刷用のシート作って、D列だけ消して。

488 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 11:35:55.84
通常72ピクセルあるセル幅を印刷の時D列だけ0ピクセルに閉じて印刷すればよくね?

489 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 16:02:37.17
>>486
たとえば、印刷対象の列範囲がA〜G列だったと仮定する。
(485さんが書いたように)作業列を上記範囲外であるH列に設定する。
普通に印刷しようとすると、A〜H列になってしまうが、印刷範囲を
A〜G列に設定しておけば前と使い方は変わらない。
印刷範囲の設定は、2003以前と2007以降で違うので割愛

490 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 18:46:38.08
列 非表示 終わり

491 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 21:05:05.55
【1 OSの種類       】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 知らない
【4 VBAでの回答の可否】 わかんない

行の高さって、デフォが13.5でしょ?
フツーの罫線だと13.5のままなのに、太い罫線にすると14.25になっちゃうので困ってますo
どーにか行の高さを同じよーにしたいので、アイデア出してくだちいo

492 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 21:29:36.10
太い罫線を使わない

493 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 21:52:15.85
Excelを使わない

494 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 21:58:00.20
まず服を脱ぐ

495 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 22:02:05.21
人間を止める

496 :名無しさん@そうだ選挙にいこう:2013/04/09(火) 22:23:17.89
全部選択して14.25にする
ちょうど5mmになるらしい

497 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 06:06:43.53
ピクセルの値とミリは必ずしも連動はしないかと
たぶんちょっとだけ大きかったり小さかったりするよ

>>491
罫線書いた後行を全部選択して右クリック→行の高さに13.5を入力
あとそのoは。に変えたほうがいいよ

498 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 07:42:15.42
【1 OSの種類       】 Win XP Pro(Win XP)
【2 Excelのバージョン   】 Excel2003(2000)
【3 VBAが使えるか    】ちょっぴり
【4 VBAでの回答の可否】 内容にもよります


IF、COUNTIF、OR、AND、VLOOKUPといった主だった関数と条件書式を使ったBOOKを作成しましたが、
データを入力していない状態でのファイルサイズが1000KB近くになりました
作成したPC(XP ProでCore2のメモリ2G)だと問題なく開きますが、使用するPC(Pen4のメモリ512M)だと
開くのに多少時間が掛かってしまいます
このBOOKはデータに間違いが無いかをチェックするものなのですが、
開くのが遅いという理由で使って貰えないと意味が無いので、軽くしたいと思います
15列500行に関数と条件書式を入力から1000KBになるのかな?と思うのですが、
列は仕方ないにしても行の方は、希に500行まで入力するケースがありますが殆どの場合は100行以内です
この関数と条件書式はデータが入力されている最後の行まで有効とする…
みたいな関数やマクロはありますか?(それでファイルサイズが小さくなる関数やマクロで)
PCの買い換え(リース換え)は来年度っぽいので・・・

499 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 08:02:23.23
>>498
具体的な式や書式設定が解らないとなんとも言えない

仕事で使う物みたいだからデータはマズいだろうから
データは無しというかダミーデータ数件でいいから、まずはブックうpしよう

情報(回答)欲しいのに、自分は情報(ブック)出せないとか言うなら
「お帰り下さい」ってことになるけどな

500 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 11:32:06.52
>>498
>希に500行まで入力するケースがありますが殆どの場合は100行以内です

とりあえず、100行までのブックと500行のブックと二つ用意しとけば
殆どの場合とやらに対応できるんじゃないの?

そのやり方だと500行の時には重くなっちゃうけど、
それの解決方法はもっと抜本的にやるしかないから
具体的なブック見ないと判断できない。
仮に俺だったら全部VBAで書く。

501 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 12:08:09.63
たった500行で重くなる時点でそもそも書き方が悪いと思うわ
っつか、2行目だけ計算式入れてあとはそのつどコピーすればいいじゃん。数10KBになるだろ

502 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 12:23:19.04
>>501
コピーで対応できる内容かどうかは>>498からでは読み取れない

503 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 12:29:03.55
>>498からコピー対応できる可能性が高いと思うが
もしコピー対応できないのであれば、コピー対応できるように変えるべき

504 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 12:29:35.69
条件付き書式が増殖してる可能性が高い

505 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 12:30:56.48
>>498
具体的にどういう計算と書式入れてるか書いてみ

506 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 13:04:48.82
Excelでコピペを繰り返していると、たまに端っこまでワープする現象は何なんでしょうか?
大変ウザイです

507 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 13:12:08.25
>>506
Ctrl離してない状態でセル移動してるからだろ
「Ctrl+→」とかは末尾ジャンプだからな

おそらく自分では離してるつもりでも
半押しだったりキーボードの感度が良かったりストロークが浅かったりで
Ctrlをきちんと離せでない

508 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 13:18:38.48
そういうことか、ありがとう
よく起こるので対策を考えたい

509 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 13:24:55.88
稀にkeyupが送信されてないこともある

510 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 13:59:33.83
それは故障

511 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 14:43:30.02
セルの枠線をダブルクリックして大ワープとかもあるよな

512 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 18:02:40.91
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

コピーしたものをCtrl+Vで「貼り付け先の書式に合わせる」状態をデフォルトにして貼り付けるにはどうしたらできる?
Wordだと同じようなことができたと思うけどExcelだとできない気が…なんか勘違いしてる?
ググってもよく分からなかったので誰か助けて、お願い

513 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 19:19:09.01
>>512
こういうマクロを作ってCtrl+vに割り当て

Sub 値貼付()
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

514 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 19:20:13.58
>>513
ヒント:【4 VBAでの回答の可否】 否

515 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 19:45:45.00
 ◎
 否

鉢植えのひまわり

516 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 19:54:07.94
クソつまんねーな

517 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 20:19:05.97
>>513
VBAをまったく使ったことないけどそれ使えばできるの?
ちょっと勉強してみようかな
とりあえずありがとう

518 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 20:35:19.93
ブイバ?
なんじゃそれw

519 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 20:42:54.52
「ブイバ」という文字を分解するとだな
       ブ  ( ゚д゚)   イバ
       \/| y |\/


         ( ゚д゚) バイブ
         (\/\/



        (*´ν`*)'`ァ'`ァ
        (| y |)
         θ<ヴィィィィィィン

520 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 20:51:21.90
会社のPC(Win7、2010)で作ったブックを自宅のPC(XP、2003)で見ると
とんでもない色になってるんだけど何で?

色は32ビットで管理されてるんじゃないの?

521 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 21:00:57.79
2003はされてないよ

522 :名無しさん@そうだ選挙にいこう:2013/04/10(水) 21:06:16.85
>>520
http://support.microsoft.com/kb/953536/ja

523 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 15:36:50.83
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

下記でD1にA1,B1,C1の合計を表示させたいのですが、B1の10+14を認識してくれず、合計が-3と表示されてしまいます。
どうしたら良いでしょうか?
後で見たときわかりやすいよう10+14の表示はそのままで、計算させることって出来ませんか?

A B C D
1 14 10+14 -17

524 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 15:40:03.71
>>523
すみません↑の表がずれてしまいました。

A1が14
B1が10+14
C1が-17
D1に合計を表示させたいですが、B1の10+14を認識してくれず、合計が-3となってしまいます。
どなたか助けてください。

525 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 15:53:31.55
>>523
うーん、結論から言うとかなりしんどそう。
2013ならFORMULATEXTというまさにそのための関数がある。
2010以前でもオプションのどこかに数式自体を表示させる項目があったけど、全体に適用されてしまう。
(D1も数式の表示になってしまう)
また、a+bみたいに必ず2項目の足し算だけならfindとsumで可能だけど、
3項目になったり、引き算なども入るとなるととても面倒。

あまり事情はよくわからないけど、コメントを残すなどの方がいいのではないかな。

526 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 16:06:15.80
>>523
とりあえず2つの方法が思いつく

ひとつは、数式で「10+14」を解析して計算させる方法
「10+14」を入力しているセルはそのままで良いが、式が複雑になる

もうひとつは、「10+14」を入力してあるセルを
表示形式="10+14"、値=24、にしておく方法
表示は「10+14」のままだし、式も普通にSUMだけで出せるが入力が面倒

527 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 16:47:09.90
>>523
+式限定で゛+゛を区切り文字としてセルを区切って計算させる、という方法もあるよ

528 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 16:51:22.83
>>523
=A1+LEFT(B1,FIND("+",B1)-1)+RIGHT(B1,FIND("+",B1)-1)+C1

ただし、B列が「数字+数字」のフォーマットに限る
「数字-数字」もあるならIFで分けて処理が必要

529 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 16:58:35.57
=A2+IF(ISERROR(FIND("+",B2)),LEFT(B2,FIND("-",B2)-1)-RIGHT(B2,FIND("-",B2)-1),LEFT(B2,FIND("+",B2)-1)+RIGHT(B2,FIND("+",B2)-1))+C2

+と-だけなら、こんなん

530 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 17:18:51.03
+と-なら作業セル使った方がスマートだな

D1=A1+C1+F1+G1
E1=SUBSTITUTE(B1,"-","+-")
F1=LEFT(E1,FIND("+",E1)-1)
G1=RIGHT(E1,LEN(E1)-LEN(F1)-1)

(E:G非表示)

531 :523:2013/04/11(木) 21:32:25.06
皆さんありがとうございます。
質問後「区切り位置」なるものを見つけ+前後でセルを分けて計算できるようになりました。

昨日からexelを使い出したのでvbaとかはまだ使い方すらわからない状態でして覚える機会があったら色々と参考にさせていただきます。
ありがとうございました。

532 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 23:33:50.80
>>531
乙!まさかそれで解決とは思わなかったわ

533 :名無しさん@そうだ選挙にいこう:2013/04/11(木) 23:43:23.05
いろんな機能があるから使用状況に応じて一番ベストな解決策を選択すればよろし

534 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 03:16:58.46
>昨日からexelを使い出した

>後で見たときわかりやすいよう10+14の表示はそのまま

初心者が考えることってワケワカメ・・・

535 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 03:27:41.92
最近Excelを使いだした初心者のググり>>>>>>>>>>>>>>>お前らの知識()


このスレを見た限りだと大半の事に対して懇切丁寧に教えてくれる人は2〜3人っぽいな
マクロは人によって癖が見られるが、このスレでマクロを貼ってくれる人は2人かな?
他の奴らは生半可な知識をひけらかすか、適当な理由づけして説教まがいのレスをする感じ

536 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 03:50:33.76
>>535
まさにお前の事じゃん

537 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 06:08:11.70
まあ>>526->>530はまともな回答じゃないとは思うよ。ていうかこれ一人だろ。

とくに>>526の表示形式="10+14"とか、リアルで相談してこんな事教えられたらこいつには二度と相談しねえわw
他の関数の回答は、ただ難しいナゾナゾにチャレンジ的な回答だしな。実用する事を無視した回答なのはたしかだな。


マクロ貼る人間は二人??
>>526レベルのようなウンコマクロ貼る人間だけでも二人以上いるように感じるけど。

538 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 06:17:49.76
批難するだけの君は、君が批難してる奴等の更に下に位置する存在なんだが、自覚してる?

539 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 06:58:41.88
525だが、色々な回答が出るのはいいことだと思う。
区切り位置って出てこない時点で、全員同レベル。エスパー能力が足りん。

540 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 07:04:37.77
>>539
>>527

541 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 07:14:47.39
出てたのかw
じゃあ527が最高だな。他は俺含め全員ダメ。

542 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 07:23:27.16
エスパー能力なんて無い方がいいので足りないと言われると嬉しい

543 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 07:35:41.15
極度の初心者からEXCELを使った仕事を”教えられる”とき、便利だよ。
それ以外は不要なので、無くても困らないと思います。

544 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 09:09:50.35
医師に提出する為に、日々携帯に下記の様に記録した血圧データをExcelに簡単に入力する方法はありませんでしょうか?
携帯に入力したデータは、メール経由でメモ帳にしてあります。
【記録形式】
[04/11_09]100-070 100

[月/日_時]血圧上値-血圧下値(スペース)心拍数
※Excelには、それぞれの値を各セルに分けて入力したいです。

宜しくお願いします。

545 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 09:23:23.68
メール経由でメモ帳にしてある、っていうのがどういう状態なのかわからん。
「メモ帳」使ってひとつのテキストファイルに保存してあるって事?

546 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 09:52:08.01
>>544
前述の「区切り位置」という機能を使う事でセルを区切って記録する事が出来ます

547 :546:2013/04/12(金) 10:08:07.45
簡易説明をすると、
メールもしくはメモ帳よりコピペする

区切り線を 例)[月/日_時]|血圧|脈拍 のように区切る位置に入れてセルを分ける

548 :546:2013/04/12(金) 10:16:39.67
>>547の↓以降の説明は「区切り位置」の機能での手続きの説明です
読み返してみたらちょっと分かりにくかったかなと

549 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 12:18:13.28
MID関数で分割すれば

550 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 13:12:49.69
このレベルのことで行き詰まる奴って、自分のやりたいことの説明能力も無いから困る

まあ他者に解りやすいように説明できる能力有ったら、ググれば解決するわけだし
それを解決できずに質問しに来る奴らなのだから仕方ないのかも知れないが

551 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 14:49:19.97
小学校に通ってる奴って、微分積分すら解けないから困る

まあこのくらい解ける能力あったら、参考書読めば分かるわけだし
それを解答できずに質問しに来る奴らなのだから仕方ないのかもしれないが

552 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 15:13:34.04
全く別次元かつ不適切な例えを出してる551って何なんだろう?

553 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 16:00:30.06
>>551
おまえ義務教育の小学校通ってないのかよ…

554 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 16:39:39.24
煽ったら煽り返されて顔真っ赤

555 :544:2013/04/12(金) 17:13:20.92
>>544ですが、レスありがとうございます。
説明が解りづらかったようで申し訳ないです。
携帯のメール作成に、
[04/11_09]100-070 100
[04/12_09]100-070 100
[04/13_09]100-070 100

と、改行追記していき、それをPCにメールし、メモ帳にコピペしてあります。
Excelに入力したいのは、
【記録形式】
[04/11_09]100-070 100

[月/日_時]血圧上値-血圧下値(スペース)心拍数
を、
[A1セル]→月/日
[B1セル]→時
[C1セル]→血圧上値
[D1セル]→血圧下値
[E1セル]→心拍数
と、分けて入力したいのですが、効率良く楽に入力できないものかと、質問させて頂きました。

宜しくお願いします。

556 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 17:23:46.14
>>555
現在区切りとして使っている「_」「]」「-」「 」を全て適当な区切り文字に置換する
「:」に置換したら 04/11:09:100:070:100 となる(前の[は削除)
あとは区切り文字でセルに落とし込むだけ。数分で出来る

557 :523:2013/04/12(金) 17:47:23.62
>>555
記録する時はいつも記号を全てtabキーで区切っとけば、エクセルにコピペするだけなんだけどな

558 :523:2013/04/12(金) 17:50:50.39
へぇ〜www

559 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 17:58:25.19
なんか香ばしい薫りがするなぁw

560 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 18:00:11.16
>>554
自己分析出来てるなら大人しくしてたら?

561 :555:2013/04/12(金) 18:26:29.59
レスありがとうございます!
メモ帳の区切り記号を置換して統一するまでは解るんですが、その後、そのまま(Office2010)Excelにコピペすれば良いのでしょうか?
「区切り文字」設定方法がちょっと解らないんですけど…

562 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 18:30:30.69
携帯で[04/11_09]100-070 100 こう入力するのって面倒じゃないの?
使う機能の名前が解ったらあとは検索した方が早いよ。丁寧な説明あるし。

http://search.yahoo.co.jp/search?p=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E3%80%80%E5%8C%BA%E5%88%87%E3%82%8A%E4%BD%8D%E7%BD%AE&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=

563 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 18:38:20.29
日付以外は変な記号とかいれないでスペース空けて記録しておく方が後々楽だと思うが

564 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 19:11:13.56
070とかケタ数合わせてあるなら
区切り位置の最初の設定で「固定長フィールドデータ」を指定すれば楽なんじゃないかと
いらない区切り文字は「削除する」にしとけば良い

565 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 19:28:51.91
>>555>>561
Excel立ち上げた後、「ファイル」-「開く」で
Excelのファイルをファイル名を指定して開くのと同じように操作して、
ファイルの種類を「全てのファイル」に選択しておいて、
そのテキストファイルを選択して開く
そしたら、Excelの形式にあわせるためのウィザードが開く

細かい単語間違ってるかも。誰かフォローよろ

566 :555:2013/04/12(金) 19:31:58.80
>>562-564
皆さん、親切に本当にありがとうございます!
なるほど、機能名でググると良いんですよね?
帰ったら早速、ググってみたいと思います。
とても助かりました!

567 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 19:34:05.74
>>565
メモ帳を指定して開くとは意外でした!w
ありがとうございます、とても助かりました。

568 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 20:36:42.38
うーんWin7だよな?
そういや拡張子がデフォルトで表示してなかったなあれ…
メモ帳 って言ってるのはそういう意味なんだな
なんとなくわかった

569 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 22:06:49.65
Excel 2010 / Win 7 Pro SP1 64bit

●質問1

レシートNo 商品カテゴリ
------------------------------------
1 パン
1 野菜
2 パン
2 パン
2 魚


とあるとします。
数式もしくはVBAか何かで特定の位置のセルに、商品カテゴリにパンが
いくつかるか表示させたいのです。
ただし、条件として同じレシートNo内で重複しているカテゴリは1として
カウントしたいのです。
例えば、上の例ですと、パンが3つありますが、No2ではパンが複数あるのでそれを1として
カウントし、セルに表示させた場合は「2」となります。

こういう風に集計したいのですが、何か良い方法はないでしょうか?

570 :569:2013/04/12(金) 22:07:23.59
連投失礼します

●質問2

レシートNo 商品カテゴリ
------------------------------------
786 パン
786 野菜
787 パン
788 パン
788 魚
788 飲料

となっているとします。
今度はレシートNoの数を集計したいのです。
上記の例ですと、レシートNoとして存在するのは「3」となりますよね。
これもこのように集計したいのですが、お知恵を拝借願えないでしょうか?

571 :569:2013/04/12(金) 22:09:35.07
レシートNoにいくつ項目があるかは不特定です。
1つだったり、5つだったり、10つだったりします。

かなり調査したのですが、今のところまだ解決に至っていません。
どなたか教えてくださいませ。

572 :名無しさん@そうだ選挙にいこう:2013/04/12(金) 22:21:37.94
>>569
C2:=COUNTIFS($A:$A,$A2,$B:$B,$B2)
D1:0
D2:=IF(COUNTIF($A$2:$A2,$A2)=1,D1+1,D1)
としてそれぞれ下にコピー

573 :569:2013/04/12(金) 22:22:36.80
すみません、質問2は自己解決しました。

=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))
で集計できました。

どうしても質問1がダメです…

574 :569:2013/04/12(金) 22:23:41.52
>>572さん

早速ありがとうございます!
今から試してみます!

575 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 07:21:00.45
なんで試してからその結果を書かないんだろう?

576 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 07:30:22.12
>>575
なんでそんなに2ちゃんねるに貼りついてるの?
結果が今日の夜だったとしても何もおかしいと思わんけど。

577 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 07:58:09.22
今までのパターンだと、「試してみます」→数時間後→「うまくいきました」みたいなレスは無い。
今回は関数なので、試そうと思えばごく短時間でできるのに何故やらないのか凄く不思議。

VBAだと、理解できないどころか使い方も分からない(と思われる)人が
とりあえず回答してくれた人にお礼だけするときにこのパターンをよく見かける。
特に、2ちゃん以外のハンドル必須なサイトだけどね。

578 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 08:09:57.40
で、何が言いたいん。勝手に即実行の義務つくるなよめんどくさい奴だな。
初心者ならごく短時間で出来るとは限らんだろ。
つーかお礼が無いだけで不満に思うような人種は他人に親切にしなくてもいいと思うよ。

579 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 10:11:28.97
お礼はどうでもいいけど、結果のフィードバックは欲しいだろjk
自分に間違いがあればそれに気付いたり、あるいはスキルアップしたりする為にも
過去ログを有用な情報の宝庫にする為にも

580 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 10:51:51.24
>>569
作業列に1パンって具合に文字列連結して、その数をかぞえる

581 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 11:14:58.05
>>579
理想は理解できるが。「スキルアップしたい」「短時間でできる」なら、自分で試せば分かる事だからね
過去ログも解答例が残っていれば十分で、上手くいかないのなら改めて質問すればよい
言っても変わらないし、スレの利用層考えればそれで概ね問題ないのだ

582 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 11:27:33.90
>>578
=IF(質問者=回答者にお礼が言える,前途洋々,前途多難)

583 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 11:30:38.36
うざ

584 :569:2013/04/13(土) 11:52:53.17
>>580さん、アドバイスありがとうございます

皆様何か色々とお騒がせしてすみません

http://i.imgur.com/7eOLx1U.jpg

アドバイス頂いた数式の使い方がまだ理解できていません。
自分の理解不足知識不足が情けなくなってきました。

要は、csvで出力されるレシートNoと商品カテゴリの一覧があり、
同じレシートNo内に複数ある商品カテゴリに関しては全て1としてカウントし、
パンなら全レシートNoの合計で何個あるか、魚は何個あるかを自動計算させたいのです。
レシートNoは1000以上あるので自動処理できないかと悩んでいます。

585 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 12:07:22.71
ピボットテーブルで

586 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 12:11:21.26
>>569
まず書いてあるとおりにやってみ
jpg見るとC1に入れてるけど、C2。
その後C2:D2を下にコピーする
レシート項目数を特定セルに出したいなら
=MAX(D:D)
とでもすればいい

587 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 13:07:19.96
>>569
ちょっと集計法に勘違いがあった。商品数をどこに出したいかが不明だが
仮にC列を作業列、D1:パン、E1:野菜、F1:魚として

C2:=IF(COUNTIFS($A$2:$A2,$A2,$B$2:$B2,$B2)=1,1,)
として下にコピー
D2:=SUMIF($B:$B,D$1,$C:$C)
として右にコピー
とか。

フィルタで絞った項目について集計したいなら、
=SUBTOTAL(9,$C:$C)

588 :569:2013/04/13(土) 14:43:27.22
>>586さん
>>587さん

ありがとうございます。
出先でExcelが使えないので、戻ったら再テストしてみますね。
出来たらまた報告させていただきます!

589 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 21:12:12.15
すいませんここみたいな質問スレで、Powerpointのスレってありますか?
検索しても出て来ず、どうやって探そうかと

590 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 21:25:07.45
ピボットテーブルで

591 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 22:04:50.44
>>589
昔はあったみたいですが、今はないようですね ここらあたりでは、いかが?
スレたてるまでもない質問に答えるスレ
http://toro.2ch.net/test/read.cgi/bsoft/1123764624/l50

592 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 22:15:05.45
569はなんで試してからその結果を書かないんだろう?

593 :名無しさん@そうだ選挙にいこう:2013/04/13(土) 23:31:52.70
>>592
なんでそんなに2ちゃんねるに貼りついてるの?
結果が出先から帰ってきてからだとしても何もおかしいと思わんけど。

594 :名無しさん@そうだ選挙にいこう:2013/04/14(日) 03:44:23.89
>593
自分の評価が気になっているだけだと思うが

595 :名無しさん@そうだ選挙にいこう:2013/04/14(日) 17:06:55.20
アマチュアプログラマでExcel初心者
主な環境のバージョンはWindows,2007
VBAはオンラインマニュアルを引き引き使えるが、ナシで済ませたい

400名くらいの名簿(別表、漢字名と読みを含む)があって、
本表の名前欄に頭文字なんこかいれると名前の候補が出る、
ぐぐるIMEのサジェストみたいのがほしい
珍しい要求でもないと思うのだが、ぐぐり方わからん ヒント頼む

596 :名無しさん@そうだ選挙にいこう:2013/04/14(日) 17:10:34.65
VBAで一致しないものを非表示にしていくのが簡単そうだけど

597 :名無しさん@そうだ選挙にいこう:2013/04/14(日) 17:12:23.37
と、思ったけどオートフィルタの抽出条件にセルの値入れられるみたいじゃん

598 :569:2013/04/14(日) 17:21:41.14
皆様のアドバイスのおかげで希望の集計が無事できるようになりました。
本番のCSVでも正常に集計できました。

本当にありがとうございました!!
http://i.imgur.com/wQyHwJn.jpg

599 :名無しさん@そうだ選挙にいこう:2013/04/14(日) 17:37:28.97
>>595
結果だけ見ればオートフィルタでも関数でも出来るけど
操作性として「ぐぐるIMEのサジェストみたい」にしたいなら
VBA使わざるを得ないだろ

「VBA〜ナシで済ませたい」を取るか、
「ぐぐるIMEのサジェストみたい」を取るかは
自分で判断して決めれば良い

VBAならテキストボックスコントロールとそのChangeイベント
あとはAutoFilterかAdvancedFilterについてググるかヘルプ調べろ

600 :名無しさん@そうだ選挙にいこう:2013/04/14(日) 17:39:51.42
名簿をユーザー辞書に変換してグーグルIMEに登録すればいんじゃね

601 :名無しさん@そうだ選挙にいこう:2013/04/15(月) 06:38:57.60
2010と2013
どちらを買えばいいのでしょうか

602 :名無しさん@そうだ選挙にいこう:2013/04/15(月) 07:49:26.06
>>601
2013

次、どうぞ

603 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 01:16:12.90
既出なら申し訳ありません。教えてください。

作業中のエクセルファイルとおなじフォルダ内に参照用のデータファイル(以下A.xlsx)があるのですが

作業中のファイルのセルに=A.xlsx\$A$1のように参照先を指定しても、そのファイルを再度開くと=C¥〜になってしまいます。

そのフォルダごと別のドライブやサーバーに移した場合、リンクの更新で面倒な事を要求されるんですが、防ぐ良い方法はありませんか?

604 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 01:18:22.21
VBAのソースに書けば?

605 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 07:54:09.61
>>603
indirect関数という手もあるけど、数式が多いと大変かも

606 :555:2013/04/16(火) 11:32:20.48
桁数を揃えるのに、数字の頭に0を付けたいのですが、0を入力しても自動的に削除せれてしまいます。
どうしたらいいのでしょうか?
宜しくお願いします。

607 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 12:25:01.71
書式を00000000とかにする

608 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 12:27:02.55
'03456

609 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 18:30:23.15
SUBSTITUTE関数を工夫したらできそうなのですが
うまくいかず
お知恵借りれたらと思います。


【Windows7】
【Excel2010
【VBAは不使用】
【VBAでの回答は否】

色々なURLが並んでいるエクセル表に
一部一致(同じ階層下のページ場合)のURLに対して
「あいうえお」という文字を一部一致したURLと丸ごと置換たいのです。
一致しないURLはそのままでかまいません。

お知恵お借りできませんでしょうか?
よろしくお願いいたします。

610 :555:2013/04/16(火) 19:07:28.55
>>607-608
レスありがとうございます。
無事できました!
また、>>555の質問についてですが、
今日、
テキストエディタで、全ての記号を、「:」に置換後、上書き保存し、そのテキストファイルをExcelで開くことで表示されるウィザードに従ってちゃんと各セルに入力されました!
本当に助かりました!
ありがとうございました<m(__)m>

611 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 19:24:17.35
>>609 具体例出さないとレスつかないよ

612 :609:2013/04/16(火) 19:59:56.12
具体的に書いたほうがいいということ
アドバイスいただきましたのでで
二度目の投稿失礼いたします。

【Windows7】
【Excel2010


A列に色々なURLが並んでいるとします。
xxx.jp/100/
xxx.jp/100/あいうえお
xxx.jp/100/かきくけこ

一部一致「xxx.jp/100/」を含むURLに対して
「ひゃく」という文字を
一部一致したURL(上記3URL)と丸ごと置き換えたいのです。
一致しないURLはそのままでかまいません。

613 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 20:28:44.43
フィルタで「含む」を選んで抽出した行に「ひゃく」を張り付ければいんじゃないかね

614 :609:2013/04/16(火) 20:41:28.94
なぜ単純なことが思い浮かばなかったのか…

ありがとうございます。

615 :名無しさん@そうだ選挙にいこう:2013/04/16(火) 22:49:59.02
一括置換すればいいだけじゃない

616 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 11:06:29.13
>>615
Excelに詳しい子が会社にいるので聞いてみます
「置換してください」と言わせてみようっと♪

617 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 11:29:12.60
>>616
音声うp

618 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 11:57:24.00
「オキガエしてください」

619 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 12:31:44.99
俺なんか後輩の女の子にExcel教えるのに挿入と何回いわせたか

620 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 12:41:23.44
時代はインサートだよ

621 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 13:17:46.37
俺:入れちゃっていいかい?
女:はい、入れて下さい
俺:いくよ〜、それ
女:・・・・・次ピストンお願いします
俺:あいよ
女:次、出してください
俺:それじゃイクよ
女:はい、・・・・・じゃあこっちもイッていいですか
俺:よし、イッちゃえ
女:・・・イキます・・・・・ふぅ、イケました
俺:じゃあちょっと休憩しようか

真面目な仕事中の会話ですが、何か?

622 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 13:49:12.71
「じゃあパンツも脱いで、そこに寝て足を広げて下さい」
もちろん仕事ですよ

623 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 14:09:04.94
婦人科ですね
毎日グロマンのお相手、ご苦労様です

624 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 14:39:19.88
工場か何かかと思った

625 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 14:44:10.20
泌尿器科、肛門科、介護、保育園

626 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 16:11:54.45
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 否
VBAの配列で順番を入れ替えたい場合はa1〜a4に7,8,9,10とたとえば入力した状態にして

Sub test()
Dim a(3) As Integer

'セル("A1")- ("A4)を変数に設定する
a = Range("A1").Value
b = Range("a2").Value
c = Range("a3").Value
d = Range("a4").Value
'cell("A1")-("a4")に値を書き出す
Range("a1").Value = d
Range("a2").Value = c
Range("A3").Value = b
Range("a4").Value = a
End Sub   でいいんでしたっけ?
なぜか配列には割り当てられませんと出るんですが・・

627 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 17:07:07.73
a, b, c, d じゃなくて
a(0), a(1), a(2), a(3) じゃないの?

628 :たぶん628:2013/04/17(水) 19:06:03.47
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

0が-になるので困ってます><

【以下再現手順】
A1セルに 1000 と入力しEnter
1000 と表示される
A列をクリック
ホームタブ、桁区切りスタイルのアイコンをクリック
1000 が 1,000 になる
A1セルに 0 と入力しEnter
- と表示される・・・

何で?

629 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 19:16:11.46
>>628
書き込みの時の名前欄は無理して書かなくていいよ
2回目以降に必要だったら書けばいい

で、これの最初の奴では対処できない?
ttp://okwave.jp/qa/q3388970.html

630 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 19:52:33.93
>>628
セルの書式設定→表示形式→会計
であるがため

631 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 22:32:58.46
次のようなデータがExcel2003の表に並んでいるとする。Excelのセルの横どうしの区切りを、「,」で示す。

,名称,・・・・・・・・
001,りんご ・・・・・
001,みかん ・・・・・
002,バナナ ・・・・・
002,ブドウ ・・・・・
003,りんご ・・・・・
003,スイカ ・・・・・
・・・・・・・・・

「・・・・・・・」表記は、他にも多数のデータがあるということ。だから項目も「av「名称」だけでなく沢山あるし、データ数も003なんてものじゃなく何千もある。
また、一つの「avごとに2つずつだけデータを記載しているが、実際にはもっと幾つもあるし、データが「avの昇順に並んでいるわけでもない。

さてここで、名称「りんご」が含まれる「avのデータを全てフィルタリング抽出したい。つまり上記の例なら001と003の中に「りんご」があるから、

,名称,・・・・・・・・
001,りんご ・・・・・
001,みかん ・・・・・
003,りんご ・・・・・
003,スイカ ・・・・・

というように001と003のデータが全て出されるようフィルタリングしたい。効率的な方法はないかな?

いま思い付く手段としては、
@「名称=りんご」条件でオートフィルタする
A結果に出てきた「avが1000件あったとしてそれを全て、別シートにでもコピペ転記する。
BExcelの詳細フィルタオプション機能を使って、上記Aで転記された「av1000件に該当するデータを全て元データから再抽出する

という方法くらい。この方法だと、フィルタやコピペを数段階に渡りやらないといけないし、もっとサクッとできないかな?
マクロは使わず、計算式も超簡単なものまでしか使わないという条件で、何とかならないかな?伝わりにくい書き方だったらスマソ。

632 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 22:41:39.71
上間ら目線の試験管口調が失格です。
君は独学がおすすめ。本屋でもいってこい。

633 :名無しさん@そうだ選挙にいこう:2013/04/17(水) 22:41:56.28
>>631
>計算式も超簡単なものまでしか使わない

抽象的な条件つけんなカス
おまえの匙加減じゃねーか

634 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 00:56:59.58
>>631
なにかフォローしようと思ったいけど>>632-633の通りだった。
その思いついた手段で今すぐやるのがもっとも効率的だよ

635 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 00:59:27.75
テストの問題文ってなんであんなイラッとする書き方なんだろうな

636 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 10:45:09.74
めちゃくちゃ恥ずかしい質問なんだけど今月電気代が1764円で9.75円上がる公式ってどうするんだ

637 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 11:09:12.08
>>636
どこのセルにどういう風に数値が入ってるのか詳しく

638 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 12:18:40.93
>>636
電気代は円未満切り上げか切り捨てだろうから、
銭単位までの計算は意味ないような・・・
東電のサイト
http://www.tepco.co.jp/e-rates/individual/data/chargelist/chargelist01-j.html
を見ると、従量電灯の第1段階料金で18円89銭/kWh。
基本料金と合算したうえで、実際に請求するときに円単位に補正(切り上げ、
切り捨て、四捨五入)した結果が1764円だろうから。
基本料金、実際の消費電力量、どこの電力会社か、その電力会社の値上げ資料
を元に計算するしかないと思う。

639 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 14:52:54.08
ごめん間違えた9.75%上がるだった。これをround関数でやりたいんだ
a1に1764円とする

640 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 15:24:07.75
>>639
=ROUND(A1*109.75%,0)
切り捨てならrounddown関数になるわ

641 :たぶん628:2013/04/18(木) 18:27:57.83
>>629-630
できたーっ!
ありまとーっ!

642 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 21:28:11.53
F1キーを押すと、Office COMに接続しますとメッセージが出て、ヘルプが出ません。
どうやればヘルプの画面が出せますか?

643 :名無しさん@そうだ選挙にいこう:2013/04/18(木) 23:35:43.92
>>642
ヘルプ画面の右下の「Office.comに接続」をクリックして「このコンピュータ 以下略」をクリック

644 :名無しさん@そうだ選挙にいこう:2013/04/20(土) 00:26:02.07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

お世話になります。
Webブラウザから、サイトにあった画像をコピーして、ExcelへShiftを押しながら図の貼り付けを行いました。
その図とオートシェイプをグループ化をしたのですが、グループ化を解除できるものと、出来ないオートシェイプがあります。
解除の方法をお願いいたします。

百個ほどの図をグループ化したあと、その上にオートシェイプを数十個グループ化している常態です。

645 :名無しさん@そうだ選挙にいこう:2013/04/20(土) 00:34:01.77
>>644
http://okwave.jp/qa/q2403312.html
図形描画ツールバーの太めの矢印アイコン(オブジェクトの選択)をクリックして、目的の○の周りを少し広めに左クリックしながら四角く囲ってみてください。
その○がオートシェイプならば、これで選択されるはずです。

これかな、オートシェイプは使わないからよくわからないや

646 :名無しさん@そうだ選挙にいこう:2013/04/20(土) 10:00:45.13
みなさんは関数の入れ子の時はダイアログボックスからしますか、直接入力でしますか

647 :名無しさん@そうだ選挙にいこう:2013/04/20(土) 11:10:02.65
関数のダイアログボックスはつかったことないな

648 :644:2013/04/20(土) 14:37:24.37
>>645
回答ありがとうございます。

職場のPCでの出来事なので、月曜日に試させて頂きます。

649 :名無しさん@そうだ選挙にいこう:2013/04/20(土) 22:46:51.03
大昔は使ってたな
確か2000ぐらいの時には引数がなんの意味を持つのか、表示されなかったと思う

650 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 00:57:58.40
山田さんと佐藤さんの名前がランダムに縦並びになっている状態から、その状態を崩さずに、
それぞれの名前が何個あるかを割り出す方法はあるのでしょうか?

山田
佐藤
山田
山田
佐藤
佐藤
佐藤
山田
佐藤
山田
山田
山田



山田 X回
佐藤 X回

651 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 01:02:49.64
ピボットテーブル

652 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 01:03:26.69
COUNTIF

653 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 01:18:05.69
>>651
>>652
名前の後ろにコメントが入っているものもあったため
=COUNTIF(C1:C50,"山田"&"*")
これでうまくいきました!
ありがとうございました。

654 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 09:30:17.02
OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】否
例えばセルA1〜A10に11〜20に書いてるとする。それを並べ替えるには
sub test
dim a as long
dim b(9) as integer
'セルa1-a11に変数を設定する
For a = 0 To 10
b(a) = Cells(a + 1, 1).Value
Next
'セルa1-a11に値を書き出す
For a = 0 To 10
Cells(a + 1, 1).Value = b(10 - a)
Next
End Sub なんですが例えばcells(a+1,1)の+1ってどんな意味があるんですか

655 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 09:42:26.16
間違えた、
for a=1 to9

656 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 09:49:09.39
>>654
http://msdn.microsoft.com/ja-jp/library/office/gg278870.aspx
条件:一方の式が数値データ型で、もう一方の式が任意の Variant (Null 以外) の場合
結果:加算が行われます。

657 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 09:54:03.62
セルのアドレスに0は指定できないから

658 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 12:32:16.25
>>654
Cellsは1から始まるから、Forが0から始まる時は+1して数字をずらさないとエラーになる
けど、For を1からに修正した時は+1しなくてよくなる
だから>>655もちょっとおかしい
正しくは

For a = 0 To 9

659 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 16:13:01.31
654です。
何で最後のほうの=b(10-a)の-aってなんですか

660 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 16:16:22.43
[Excel] データ順序の上下反転方法

(1) 並べ替えたいデータ列の横に列を挿入し、連番データを入力。
(2) その連続データを選択して、[データ]-[並び替え]-[降順]。

これをやれば並び順を逆に出来ると言うのはわかるのですが数字を追加しなくても1発逆転するような関数はないのでしょうか?!

661 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 16:27:57.63
>>659
セルのrowであり、それを逆から埋めたいので
Cells(a + 1, 1).Value = b(10 - a)
こういう式になる、としか言えない。
「ウォッチ式」と「ステップイン」の使い方をググって、変数の値(今回は a の中身)の変化を追いかけるんだ。

>>660
rowとindex(もしくはindirect)を使えばできるけど、範囲がわからんのでなんとも
ちなみに範囲が分かったとしても、一回限りなら数式やマクロを使うより>>660の方法が一番早いよ
何度もあるならマクロだろうけど、頻度によるかな。ちまみに俺ならindirect

662 :660:2013/04/21(日) 17:23:08.51
>>661
ありがとうございました。

663 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 17:33:38.54
他からインポートしたデータで
色々手を尽くしても日付が文字列としで認識されいて困っているのですが
そのセルを選択し他のテキストエディターへペーストしたところ以下のような状態となっておりました
””でくくられていて最後に改行が入っている状態のようです

"2012/12/03
"
"2012/12/04
"
"2012/12/04
"
"2012/12/07
"
"2012/12/07
"
"2012/12/11
"
"2012/12/11
"

改行の箇所はコートが違うらしく置換では消えてくれませんでした
””も色々変換をかけましたが取れる気はサラサラ無いようなのですがw
この状態から日付として認識させるにはどうすれば良いのでしょうか?

664 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 17:54:05.87
>>663
そのまま日付と認識させるのは面倒だな
俺ならMIDで2-11文字目を作業列に取り出して、dateだかdatevalueで変換、値でコーピーペーストするかな
改行はなんだっけな、ctrl+Jかなんかで置換できたと思うけど忘れた

665 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 18:12:32.56
なんでExcelにこだわる 置換だけなら他のアプリでやってからExcelに持ち込むことも考えれば

666 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 18:30:04.16
=VALUE(CLEAN($A1))
とか。

667 :664:2013/04/21(日) 18:43:15.70
>>666
すいませんでした

668 :名無しさん@そうだ選挙にいこう:2013/04/21(日) 19:05:08.14
おれの部屋もCLEANしてほしい

669 :名無しさん@そうだ選挙にいこう:2013/04/22(月) 16:30:42.36
【1 OSの種類         】 Windows7
【2 Excelのバージョン   】 Excel2010

ソートされている結果にコピー&amp;amp;ペーストをしたい
しかしソートされている結果が(シートA)
1 A B
7 A B
9 A B
だとして別シートの(シートB)
1 A B
2 A B
3 A B
を張り付けても
(シートA)では
1 A B(そして非表示になっている2ABと3AB)にコピーされます。
1AB 7AB 9ABに一度にコピーするにはどうしたらいいでしょうか?

よろしくお願いいたします。

670 :名無しさん@そうだ選挙にいこう:2013/04/22(月) 19:06:22.53
「コピー&amp;amp;ペースト」ってなぁに?

671 :名無しさん@そうだ選挙にいこう:2013/04/22(月) 20:40:57.78
>>670
この板は文字実体参照を使えない

672 :名無しさん@そうだ選挙にいこう:2013/04/22(月) 22:17:26.97
&#164;

673 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 02:33:25.47
>>669
2や3が非表示になっているなら、それはソートじゃなくてフィルタリングな
ソートは並べ替え

非表示行を抜かして貼り付けるって機能はないらしいので、
フィルタリング後の右側の空きセル(上の例だったら、Bとあるセルの隣を縦に3つ)を選択
→例えば○と入力してCtrl+Enterで複数同時入力(フラグを立てる)
→フィルタ解除し、最優先:フラグ列、第2優先:連番列で並べ替えして貼り付け

複数入力の前に可視セル選択しなくても大丈夫っぽいけど、そういうもんなんだっけ

674 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 11:33:25.24
OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】ほんのちょっとなら
【4 VBAでの回答の可否】簡単なのなら

コンボボックスに手を出したんですが
ttp://www.dotup.org/uploda/www.dotup.org4149674.gif
↑のようにアクティブの場合とじゃない場合でブレるんですけど、これデフォなんですか?
フォームのほうのコンボボックスはこうはならないんですが・・・

675 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 14:25:37.00
デフォです

ご不満ならMSに言ってください

676 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 19:04:23.01
【1 OSの種類         .】 MacOS10.8
【2 Excelのバージョン   】 Excel 2011
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問させてください。
frequency関数を使用する時、データ配列に異なる列の値を入れたいのですが(具体的に言うとb2:b31とe2:e31の値を入れたい)のですが、カンマで区切ってしまうと{=FREQUENCY(B2:B31,E2E31,G10G15)}
という値になってしまいエラーが返ってきます。
カンマで区切ることができない場合はどのようにしたら良いのでしょうか。
今のところ以下のようにいれることで値をいれることが出来たのですが、値は入るもののやはりエラーが出てしまいます。
{=FREQUENCY(B2:B31:E2E31,G10G15)}
思いつくことはやったのですが、申し訳ありません。
皆目検討がつかないので、どうか教えてください。お願いします。

677 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 19:08:16.36
申し訳ありません。値が間違っていました。
正しくは、
{=FREQUENCY(B2:B31,E2:E31,G10:G15)}
と入れるとエラーが返ってきてしまい、数値がはいらない。
{=FREQUENCY(B2:B31:E2:E31,G10;G15)}
と入れると数値は入るもののエラーが出てしまう。
です。お願いします。

678 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 20:47:49.32
{ ←これは何なのだ?

679 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 20:58:37.81
>>678
カーリー・ブレイス
血塗られた聖域

680 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 21:13:56.94
>>678
Ctrl+Shift+Enterで確定すると配列数式として入力できるのです。
{}は配列数式であるという括弧です。

681 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 21:30:12.45
エクセルの2010使ってまぁーす

マクロのボタンが灰色で味気ないんですけどー
色を付けてかわゆくできないのん?

682 :ぴころ ◆lHG3Yzo0a6 :2013/04/23(火) 21:38:10.23
>>681
ActiveXコントロールのコマンドボタンを使うとよいのでしゅ(^▽^)

683 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 21:52:34.29
デスクトップテーマ

684 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:06:08.39
「20:20」 + 「16:12」
の計算結果が16:12になってしまいます。なぜでしょうか?

685 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:18:21.16
>>684
ならねえけど?

686 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:24:42.98
20:20に全角文字が混じってるとか

687 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:26:06.00
>>682
d
でけたよー

688 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:27:57.03
>>685
なるんだよぅ・・・

Hamburger Concerto /FOCUS
0:00 ? 1. Delitae Musicae 1:14
1:14 ? 2. Harem Scarem 5:52
7:06 ? 3. La Cathedrale De Strasbourg 5:00
12:06 ? 4. Birth 7:46
19:52 ? 5. Hamburger Concerto 20:20
16:12 ? 6. Early Birth 2:53

一番最後のこれだけ計算違いしてる

「 = 上のセル時間 + 右の右のセル時間」

689 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:29:47.28
>>686
半角だよぅ

690 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:38:28.98
>>688
Excelでは「分:秒」は入力できない
「12:34」のように入力すると、Excelは「時:分」と解釈する

秒を入れたい時は時を省略せず「0:分:秒」のように、いちいち0時を入力する
そして書式を「m:ss」に変えて秒が表示されるようにする

691 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:39:44.44
24時を越えて、翌日の16時になってんだよ

692 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:39:56.17
今月を 2013年4月
来月を 2013年5月にしたい
(今年の12月のときは来月を2014年1月)

以前教わったやつを改造したんだけど、うまくいかないです。
来月 = Format(DateAdd("yyyy", 1, Date), "yyyy") & "年" & Format(DateAdd("m", 1, Date), "m") & "月"

693 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:48:42.08
>>692
来月 = Format(DateAdd("m", 1, Date), "yyyy年m月")

694 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 22:50:18.50
今月 = Format(Date, "yyyy年m月")

695 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 23:01:24.45
>>690>>691
なるほど! 
承知しました。ありがとうございます。

さて困ったな、1セル1セル0を書き足してくのは面倒くさいな
そのお答えの感じだと他に楽な抜け道はなさそうだし・・

696 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 23:19:55.38
>>693-694
おぉぉ、シンプルでいいですね。
ありがとうございました。

697 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 23:26:44.75
>>695 Excelなんだから文字列関数で"0:"を付けてシリアルに戻せばいいじゃん

698 :名無しさん@そうだ選挙にいこう:2013/04/23(火) 23:57:28.01
>>695
書式を[h]:mmにすれば25時以降が表示されるようになるから
あたかも分秒が入ってるように見せかけることは可能

699 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 01:45:12.66
>>697>>698
ありがとおぉぉぉぉぉ!!

700 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 18:51:12.45
【1 OSの種類         .】 Windows7 64
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A列に連番が入っています。2行で交互に背景色が塗り分けられています。
この条件で連番を入力する際、通常であればオートフィルを2行選択で行えば良いのですが
入力者がアルバイト等で、入れ替わりが激しく周知の徹底を行うのが手間です。
B列以降にデータが入力された時に自動で連番を増やす方法はないでしょうか?

701 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 19:15:35.95
A2=IF(B2<>"",A1+1,"")

702 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 19:40:01.76
>>701
それだと行の追加や入れ替えやソートなんかしたときに激しくズレるからやめたほうがいい

703 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 19:42:39.72
>>701
希望の動作ができました。ありがとうございます

704 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 19:44:41.45
>>702
おっと、そうなんですか
ソートした時も実データのほうを参照するのかと思ってました
ということはA1+1のところを実数で入れて、予め自分がオートフィルしておく
こんな対策をとればいいでしょうか

705 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 21:21:07.24
A2に =IF(B2<>"",OFFSET(A2,-1,0)+1,"") でいいんじゃない

706 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 21:27:18.97
【1 OSの種類         .】 WinXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
シートの保護をしている状態でリスト機能って使えないんですか?
編集させたくはないけどソート機能を使いたいというとき不便です…

707 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 21:33:00.21
>>700
当方2010なんだが2010でいう「テーブルとして書式設定」という機能が2003だと「オートフォーマット」というのが
それということだが、その「オートフォーマット」使えば入力していくたびに交互に色が付いていく設定が出来るらしい

708 :名無しさん@そうだ選挙にいこう:2013/04/24(水) 21:37:42.91
>>707
2003でも条件付き書式で出来ますから
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1212270537

709 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 20:54:25.52
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

不規則な数字が複数あって、任意の数字と同じか超過する組み合わせを得るには
どうすればいいでしょうか?

例えば、
A2セルに 100 があり、これを任意の数字とします。
A列の3行目以降に 12、25、31、47、59、62 という数字があります。
これらを組み合わせて100または100に近く超過する数値を得ると
12 + 31 + 59 = 102 の組み合わせになります。
これらの数字はB列の3行目以降に書き出したいです。

710 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 21:57:53.98
>>709
IF関数じゃダメなの?
=IF(A3>=A2,A3,IF(A3+A4>=A2,A3+A4,IF(SUM(A3:A5)>=A2,SUM(A3:A5),IF(SUM(A3:A6)>=A2,SUM(A3:A6),IF(SUM(A3:A7)>=A2,SUM(A3:A7),IF(SUM(A3:A8)>=A2,SUM(A3:A8),IF(SUM(A3:A9)>=A2,SUM(A3:A9),IF(SUM(A3:A10)>=A2,SUM(A3:A10),""))))))))

711 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 22:08:56.40
アドインのソルバーで しばらくぶりにやってみたらできた

712 :709:2013/04/25(木) 22:22:22.14
>>710
関数でもいいですが、その関数だと 115 になりました。
得たい結果は 12、31、59 という組み合わせに使った数字です。
数字が出れば、合計値は簡単にできますので省きました。

補足
合計値は任意の数字(100)と同じか、またはそれを超過して一番近い値です。
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^

713 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 22:24:26.16
全部の組み合わせを作ってその中から基準値を越えた最小の値を見つければいいんじゃない

714 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 22:27:16.01
>>712
25が抜けてるよ

715 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 22:31:04.92
714です
組み合わせなのね。申し訳

716 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 22:50:17.70
元の数字が6個なら組み合わせはわずか64通りだから、作業列を64列用意すればいい

717 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:00:03.51
>>716
6!で720通りじゃないか?

718 :709:2013/04/25(木) 23:03:23.51
>>713
うーん、考え中・・・

>>714
すみません、意味がわかりません。

>>715
こちらこそ質問の仕方が悪くてすみません。

>>716
元の数字は今のところ14個が最大です。
作業列を作って、地味に計算するしかないですかね・・・

719 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:03:32.41
>>717
加算は交換法則が成り立つから2^6だよ
たとえば「47 + 59」と「59 + 47」は答えが同じだから片方は計算する必要がない

720 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:07:23.88
>>718
14個の数字なら16384通り
作業列でやってもいいしVBAでやってもいい
どっちでも一瞬で終わる

ためしに数字の組み合わせを1セット出してみ?

721 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:08:51.04
>ためしに数字の組み合わせを1セット出してみ?

つ709

722 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:25:43.30
さっきも書いたけど ソルバーいちどつくっとけば、パターン変わっても3秒で答えでるのに

723 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:34:08.04
>>719
なるほど、ありがとう。
しかし作業列・プログラムの作り方が思いつかんな
>>722
だな。

724 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:40:26.11
ワークシートだけでやってみた
ttp://www1.axfc.net/uploader/Sc/so/449930.zip
めっちゃ無駄の多い方法だけど

725 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:55:00.20
努力は認めるが、それは質問者の意図を汲んでいるのか?

726 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:56:41.53
どうしても作業列と関数だけでやるんであれば、14個の数値を横に並べて
縦にパターンの連番1-16384を作成。各行に連番を2進数にした1,0を14個の数値の下に
並べて、1の入った数値の合計を行の端に入れる

727 :名無しさん@そうだ選挙にいこう:2013/04/25(木) 23:58:39.99
>>726
まったく同じことを>>724がすでにやってる

728 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 00:00:09.38
あっそw

729 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 01:20:51.60
724も726も、何で横に並べるんだろう?

>A2セルに 100 があり、これを任意の数字とします。
>A列の3行目以降に 12、25、31、47、59、62 という数字があります。

  A   B
1 
2 100  102 
3  12  12
4  25
5  31  31
6  47
7  59  59
8  62

こんな感じのを望んでるんじゃないの?

730 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 01:30:39.70
シートが縦長だからじゃないか?
俺も今回は724,726っぽく作ろうとした。

なんにしろ、行列を入れ替えてコピーすればいいだけだな

731 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 01:31:58.26
>>729
>>724みたいに組み合わせを全部シートに並べるような方法だと、組み合わせが多くなると列数が足りなくなる
2007以降なら15個までは縦並びでも行けるけどね

732 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 02:20:39.46
>>729
解が複数ある事を想定するとB列だけでは表現出来ないので
ある程度並べないと仕方が無い、という事じゃなかろうか

733 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 06:31:52.88
質問よろしくお願いします。
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可


複数の人間が入力したエクセルの表を訂正する作業をしています。
具体的には全角数字を半角に書き換えるのですが、
[編集]→[検索]で全角「1」を拾っていくと、漢数字の「一」が
出てくることがあります。
(全てではなく、特定の個所で集中的に起こります)

さらに、「十」や「百」すら出てくることもあります。

自分なりに考えてみたのですが、おそらく入力した人間が
「ひゃく」でなく全角「100」から「百」に変換して入力していると
「百」の文字は変換前の「100」を記憶していて
その全角「1」を拾ってくるのではないかと推論しました。

この、検索機能で漢数字を拾ってくる現象を
回避する方法はないでしょうか?

734 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 07:38:29.56
検索はふりがなも拾っちゃうからそれだろうね。
ふりがなを検索対象から外す方法は無いから、どうにかしてふりがなを削除するしかないね。
2007でできるか知らんけど、

・シートの左上の全セル選択ボタン押して[ctrl]+[c]で全セルコピー
・「メモ帳」とかのテキストエディタにペースト
・ペーストしたのを[ctrl]+[a]とかで全選択してまたコピー
・Excelに張り付ける

とかでいけんじゃない?
一個一個消すとか、別シートにリンク貼り付けしてそれを値のみ貼り付けとかでも。

735 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 07:41:50.19
>>733
検索オプションの「半角と全角を区別する」にチェック

736 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 09:19:35.49
>>733
住所録の修正?
メモ帳にコピーして、もう一度Excelにコピーすると変換の情報が消える
こういうのはいちいち手作業で検索するんじゃなくてマクロでやるといいよ

737 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 19:07:16.32
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】勉強中
【4 VBAでの回答の可否】 否
動的配列ってのを勉強したいんですが例えばA1-A4に1,2,3,4と書いてるとする
これを入れ替えるには
Sub test()
Dim a As Long
Dim b() As Integer
ReDim b(4) As Integer
For a = 0 To 3
b(a) = Cells(a + 1, 1).Value
Next
For a = 0 To 3
Cells(a + 1, 1) = b(3 - a)
Next
ReDim b(3) As Integer
b(a) = Cells(a + 1, 1).Value
Cells(a + 1, 1).Value = b(3 - a)でいいんでしたっけ?
インデックスが有効範囲にありませんと出るんだが

738 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 19:17:22.81
>>734-736
アドバイスありがとうございます。
住所録ではなく図書台帳のようなもので、ごく一部に
「半角にしてはいけない全角数字」が混じっているので
マクロで一括変換はできないのです。

来週、ふりがなを消してもいいか相談してみます。

739 :名無しさん@そうだ選挙にいこう:2013/04/26(金) 19:30:24.45
>>737
どこまでが実際のコードなんだ?二つ目のFor-Next抜けたあとの
ReDim b(3) As Integer
b(a) = Cells(a + 1, 1).Value
ここまでか?

For抜けた後だからこの時点でaの中は4です。ReDimで要素数3に変更した後だから
インデックスが有効範囲にありませんとなります。
てか、動的配列としての使い方を学ぶような内容には見えないですよ。動的配列
ならReDim Preserve使うような内容で勉強してみてください。

740 :709:2013/04/27(土) 04:18:05.40
>>724
いいですね、ありがとうございます。
手作業でやるより、はるかに効率的にできます。
数式を入れるのがマンドクセーと思ったら、オートフィルでいけるのね。
14個バージョンをつくったら、1,982KBの巨大ファイルになりましたw

数字が合致したときは◎になりますが、近似値のときは
空白になるので、しきい値を設けてマクロで検索し、該当の行を
抽出することで実用的になりました。

>>729
確かに、709の例ではその構想でしたが、16,384行(または列)にもなると
縦長の方が扱いやすいです。

741 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 04:41:20.14
近似値が欲しいんならB列にオートフィルタ

742 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 10:19:17.46
動的配列さっぱりわかんねー
何かいい例題を出してください

743 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 11:04:29.80
>>742
要するに要素数が変更できる。
Preseve使うと、配列内のデータを保持したまま要素数を増やせる。
Preserve無しで要素数を変更すると配列内のデータは初期化される。
例えばA列を上から下まで参照して、数値データが有る場合のみ配列に保存するとしたら、

Dim i as long
Dim ct as long
ct = 0
Dim Hairetu() as string
Redim Hairetu(ct)
For i = 2 to cells(rows.count,1).end(xlup).row
if IsNumeric(cells(i,1).value) then
Redim Preserve hairetu(ct)
hairetu(ct) = cells(i,1).value
ct = ct +1
next

配列に入れたいデータが有るときだけRedim Preserveで要素数を増やすという感じ。
上のコードはVBE使わず今ここで書いただけなので誤字脱字あるかもしれません。

744 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 13:43:27.97
Hairetuて

745 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 17:09:14.08
>>743
これをコピペしたらnextに対応するforがありませんと出るんだが・・・

746 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 17:12:03.27
if IsNumeric(cells(i,1).value) then を end if で閉じてないから

747 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 17:23:06.32
>>745
そんぐらい自分で解決してください。

748 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 18:42:22.19
【1 OSの種類         .】 Windows7 64bit
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

生年月日を1つのセルで扱っていて、隣のセルでMONTH関数で
誕生月を取り出すというデータを作りました。
しかし、生年月日の中には年が欠けたもの、月が欠けたもの・・・があります
###/1/1のように文字列として記述していましたが、これだと
シリアル値としてMONTH関数に代入できません。
年月日を個別のセルで扱う以外にうまい方法はないでしょうか?

749 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 18:54:39.90
ないです

750 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 19:05:22.20
>>748
正しくなるよう加工すればいいんじゃね?

751 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 19:13:09.20
どいつもこいつも使えねーヤシらだな

752 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 19:21:35.76
              ,. ‐'' ̄ "' -、   ,. ‐'' ̄ "'' -、
             /        ヽ/          ヽ
                l          l             l
            l         l          l
         ,. ‐'' ̄ "'' 、    ,,. --‐┴─-- 、     / ̄ "'' -、
       /      ,.-‐''"´           \ _/        ヽ
      l       /                   ヽ          l
       l     /  ●                l          l
      ヽ    l       (_人__ノ         ● ヽ         /  そんな事言われても
       ,,>-‐|   ´´     |   /       , , ,. ‐'' ̄ "' -、/      ウチ ポン・デ・ライオンやし
      /    l        ヽ_/           /          ゙ヽ
     l     ` 、               l            l
      l       ,. ‐'' ̄ "' -、   ,. ‐'' ̄ "'' -、            l
       l,     /         ヽ /        ヽ,         /
       ヽ、,,  l            l          l,,,___,,,/
         "'''l            l             l
              ヽ          /ヽ        /
             ヽ,___,,,/  ヽ,,___,,,/
                   /     |
                /       |

753 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 19:50:51.37
古い

754 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 19:59:49.34
こういうのはシリアルを完全に入力するか年月日をそれぞれ別セルに入れるかしかない
それ以外の方法はないということはExcelの使い方を知ってる人間なら直感的にわかる

755 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 20:19:47.42
>>748
###/1/1なんてわけわからん入力方法を改めて個別のセルに入力してください。
どういう理由で個別セルへの入力が不許可なのかは知らんけど入力方法がすでに
エクセルの常識に反してるのでそこを直さずに対処しようってのは無理があります。

756 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 20:27:34.35
FindかSearchで/の位置を調べてLenとLeftかRightかMidを組み合わせて文字を削って
そいつからさらに/を調べて文字を削って、、ってやればいけんじゃね

757 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 20:39:38.97
セル分けた方が入力もデータの使用も数倍楽なきがするけど。

758 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 20:48:07.99
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

アンケートの集計するのにスピンボタン使ってるんだけど
形がこんな感じ http://i.imgur.com/bVtwOS0.jpg
B列のスピンボタンを押すとB3に「1」と入るようになってるんだけど
下にあるでかいスピンボタンを押すことで数字の入るセルがB4、B5って変わっていくようにするにはどうしたらいい?

759 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 20:49:05.17
>>754-756
ありがとうございます。お客様からの情報なので
どうしても記入漏れが発生するのです。###の部分はどうでも良いのですが
シリアル値で扱った場合、未入力だと現在の年数になってしまいまして。
1セルで未入力を扱う方法を知らず
隣のセルで年齢を求めている点、入力担当が別におり
セルは分けずに入力しやすくしてくれと言い渡されている点で
1セルで取り扱っておりました。

仮に別セルで扱った場合、それらを結合して年齢を求める値として
扱うと考えれば良いでしょうか?

760 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 20:58:53.21
お好きな様になさってください

761 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 21:01:34.63
>>759
最初の質問からみると、##と記入されていてもそれを無視して出来るだけ計算するのが目的かと思った。
間違った計算を防いで未記入の欄は計算させないようにしたいのか?

762 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 21:11:27.51
>>758
それ、便利ですか??

763 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 21:12:49.54
>>761
はい、私の認識が間違っていなければそれで問題ないかと思います
(1)生年月日から現在の年齢を算出出来る。 ↓のような式で算出していました
  =IF(OR(COUNTIF(E2,"*###*"),E2="")," - ",DATEDIF(E2,TODAY(),"y"))
(2)未入力項目を容認する →未入力がある場合は算出出来なくても良い
(3)誕生月を抽出し、リスト(テーブル)でソート可能

要望をまとめるとこんな感じです。入力、表記の都合上1セルであれば尚良いですが
Excelで扱うのが難しい形式になるということであれば
別列なり別シートなりで対応することになるかと思います。

764 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 21:13:28.30
>>762
これしか思い付かなかった

765 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 21:15:20.17
Firefoxで2chを見ている事に驚きを隠せないでいる

766 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 22:06:57.51
>>758
選択したセルに入力するという仕様と仮定
選択したセルを変えると考えると
Sub a()
Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
End Sub
こんな感じで変えられる。
個人的には一から作りなおしたほうがよさそうなシートだとは思います…。

>>763
誕生日おめでとう的な案内でも送るのかな。なんでもいいか
メニューのデータ、区切り位置で「/」の文字でセルを分割するのが一番早いと思う。
そのままやると入力位置(B列)にかぶってしまうので、
一度C列にコピーしてからやると良いんじゃないかな
そして並び替えが終わったらC列、分割で発生したDE列を消せば問題なし。

数式で無理やり解決できなくもないけど、めんどくさい

767 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 22:07:24.34
>>765
ひろゆきもIEだし、そんなに来に線でも

768 :名無しさん@そうだ選挙にいこう:2013/04/27(土) 22:35:45.66
>>763
MONTHで月を出すとこでIFとFIND使って、#が含まれる場合は数字じゃなく文字列出すようにして
年齢計算出来ないようにするとかだめかな。

769 :名無しさん@そうだ選挙にいこう:2013/04/28(日) 14:53:04.31
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

小売をしています。プライスカードを頻繁に取り替えるため、リストを作り管理していました。毎回書き直すのは面倒なので、リストを書き直したら、自動的にプライスカードのシートに反映させることは出来ますか?

定価と販売価格や品番を反映させたいです。

よろしくお願いします。

770 :名無しさん@そうだ選挙にいこう:2013/04/28(日) 15:01:41.18
>>769
>出来ますか?

はい、出来ます。

771 :769:2013/04/28(日) 15:02:32.97
行間を読めないバカは死んでろ

772 :名無しさん@そうだ選挙にいこう:2013/04/28(日) 15:28:19.26
>>769
>よろしくお願いします。

こちらこそよろしくお願いします。

773 :名無しさん@そうだ選挙にいこう:2013/04/28(日) 16:56:17.67
>>771
シート名もセル番号もリストの仕様も何も書いてない状態で「できます」以外のレスができるわけないだろ

=シート名!セル番号

と書いとけば同じ数字が自動的に入る

774 :名無しさん@そうだ選挙にいこう:2013/04/28(日) 17:10:39.96
バカじゃねーの

775 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 00:13:11.01
>>769
vlookup関数 でぐぐればok
大体使い方はわかると思う

776 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 11:26:39.84
流石にぐぐればすぐわかる質問しちゃだめだと思う

777 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 12:24:56.58
どんなくだらない質問でも俺が答えてやるから遠慮すんな
ただし俺がネットを見るのは月に数回だけどな
いつか自分のパソコン買ってやる

778 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 15:14:21.14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 3行程度の簡単な命令を組み合わせられる程度
【4 VBAでの回答の可否】 可

セルの入力規制について

入力用セルE5〜E15に対して、入力者には所定の文字列を入力させたいが、
その「所定の文字列」は70組程度ある為、一般のリスト機能では探すのが煩雑だったりする。

そこで、その入力用セルに所定の文字列の一部を入力すれば、
その一部を含む文字列のみがリスト表示され、
文字列を追加するごとにリスト内の文字列が絞られていくようにしたい。

可能でしょうか?

779 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 16:02:31.38
>>778
コンボボックスを使ってみては?

780 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 18:18:04.79
>>779
後だしで申し訳ないですが
コンボボックスは使わずに、です。

781 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 18:50:15.62
やろうと思えば何でもできる

エクセルだもの

782 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 18:56:04.85
所定の文字列が何か書かないと。
70「組」ってことは、分類分けされてるのか?

783 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 19:11:15.08
>>778
無理だな
もうちょっと何かを妥協してくれ

784 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 19:27:27.78
>>778
オートコレクトなら一度入力した文字や値を記録して次回入力時になぞらえるように表示する機能があるよ
※別称:おせっかい機能 

785 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 19:43:17.10
どいつもこいつも使えねーヤシらだな

786 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 19:50:02.34
>>782
リストフィールドに70の単語が入っている感じです。

例)
  A
1消耗品費
2一括償却資産
3事務用品費
4 ...
...
70事故費


>>783
妥協点は、「文字列を追加するごとにリスト内の文字列が絞られていくようにしたい」です。
この部分は無くてもOKです。
一行上の「その一部を含む文字列がのみがリスト表示される」が達成された時点で満足です。

>>784
オートコレクトは、別のPCでも利くもんですか?
リスト内の文字列と、その入力用セルに入力された文字列が同一であることを認識して
一意の結果が得られるなら、オートコレクトを利用したVBAでもありです。

ややこしくて申し訳ないです。

787 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 19:59:59.50
入力させるやつに70項目を暗記させて, 数字だけ入れさせればいいじゃん

はい、次の方〜

788 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 20:11:04.47
>>787
やっぱそうなるかな。
実は最初数字入れる形にしてたんだけど間違えるバーロのおばちゃんが続出だったから止めたんだ。

イメージ的にはGoogleの検索なんだけど、上手くいかないもんだね。

789 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 21:27:16.39
>>788
そりゃコンボボックス禁止なんて前提条件つけたらね・・・

790 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 21:49:33.95
入力する紙のページごとにコードのチェックサムだしといて、入力後、Excelで
集計したチェックサムと照合するとか

791 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 22:04:22.67
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

範囲A:A(あるいは、A1:A1000)の計算結果を、A:xxx セルに入れたいのですが、
循環参照になります。
関数を入れるセル番号だけ、範囲除外するにはどうしたらいいですか?

列を挿入したり、列を削除したりで、関数が入っているセル番地は固定されていません。

792 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 22:28:50.94
範囲A:A(あるいは、A1:A1000)の計算結 - A:xxx

793 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 22:29:45.35
あ゙ーーーーーーーーーーーーーーーーっ!

果が抜けてたーーーーーーーーーーーっ!

794 :791:2013/04/29(月) 22:47:37.05
>>792
関数が入っているセル番地(行)は固定されていないので、
Axxxをどうやって指定すればいいですか?

つまり、
『A:A から「このセル(A列のなかにある)」を除外した範囲』は
どのように記述すればいいですか?

795 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 22:53:40.38
>>794
=SUM(A1:INDIRECT("A"&ROW()-1))+SUM(INDIRECT("A"&ROW()+1):Axxx)

796 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 23:02:08.31
計算結果とあるが SUMだとは書いてない

797 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 23:05:06.14
>>795
有難うございます。
=SUM(A1:INDIRECT("A"&ROW()-1))+SUM(INDIRECT("A"&ROW()+1):A1000)
でうまくいきました。

これで、会社のおじちゃんとおばちゃんが適当にいじっても、
「計算できなくなった、おかしい」と言われずにすみます。
どうも有難うございました。

798 :名無しさん@そうだ選挙にいこう:2013/04/29(月) 23:05:53.48
>>796
SUM関数ではありませんが、そこは適当に置き換えます。
お気遣い感謝です。
どうも有難うございました。

799 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 03:31:34.94
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

a b
12/01 9
12/01 3
12/02 5
12/04 6
中略
12/28 3
12/30 7
12/30 4
12/30 2
12/31 1

上記のように、a列に日付、b列に数値があります。そして、

12/01から12/07のb列の合計
12/02から12/08のb列の合計
12/03から12/09のb列の合計
中略
12/23から12/29のb列の合計
12/24から12/30のb列の合計
12/25から12/31のb列の合計

という、7日ごとのbの合計数をまとめて計算・表示する方法を教えてください。
どうぞよろしくお願いします。

800 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 05:30:23.63
>>799
1日〜7日の合計は
=SUMPRODUCT(B1:B999*(DAY(A1:A999)>=1)*(DAY(A1:A999)<=7))

条件式の「>=1」と「<=7」が日付の範囲

801 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 09:46:28.60
>>786
Vlookupに部分一致が使えるので
=VLOOKUP("*"&入力セル&"*",リスト,1,FALSE)
で引っ張れるよ

802 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 10:01:11.93
>>800
すみません、それだと計算結果が合計と違います。
あと、1〜7日、2〜8日、…25〜31日の結果をまとめて出すにはどうすればいいでしょうか?

803 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 11:05:48.71
C列を作業列にして1週間ごと(?)の判定用の列にして、ピボットでいけんじゃないの。

C列は、=int((a1-"12/01")/7)みたいな感じで。

804 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 12:56:11.71
>>799
特に数式使って計算する必要がないなら
ピボットテーブル使って表示してグループ化で良くないか

805 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 22:19:02.10
元データが999列より多かったというオチじゃね?
数式を楽に増やしたいなら日付の指定にROWでも使って下方向にコピペ
=SUMPRODUCT(B1:B9999*(DAY(A1:A9999)>=ROW())*(DAY(A1:A9999)<=ROW()+6))

806 :名無しさん@そうだ選挙にいこう:2013/04/30(火) 22:52:58.64
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003, 2010

このようなファイルがあります。
計画表(13.4)04_25.xlsx, 計画表(13.4)04_26.xlsx, 計画表(13.4)04_30.xlsx, ・・・

これらの中では、ひとつだけ開いてることを条件とし、
次の動作をさせたいのですがエラーになってしまいます。
どこを直せばいいでしょうか?

動作
・ ブック名のカッコ内(年.月)にある月の数字を変数m2に入れる
・ N1セルに数字があり、m2と同じならYes、違うならNoとメッセージを出す

Sub test4_30()
 For Each wb In Workbooks
  If Left(wb.Name, 4) = "計画表(" Then
   If Right(Left(wb.Name, 9), 1) = ")" Then
    m2 = Right(Left(wb.Name, 8), 1)
   Else
    m2 = Right(Left(wb.Name, 9), 2)
   End If
   If m2 = Workbooks(wb.Name).Range("N1").Value Then ←エラー※
    MsgBox "Yes"
   Else
    MsgBox "No"
    Exit Sub
   End If
  End If
 Next
End Sub
※オブジェクトは、このプロパティまたはメソッドをサポートしていません

807 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 00:23:09.35
>>806
Workbooks(wb.Name).Range("N1").Value
ワークシートの指定が抜けてるよ

808 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 02:15:14.64
>>801
ありがとうございます。
でも残念ながら、ちょっと意図が違っててですね。。

イメージとしては、
入力用セルには直接手入力します。
その時にリストボックスに候補が現れて入力内容によって動的にリスト内容が変わり、
かつリスト内の候補をクリックすると、その手入力していたセルの内容が確定する。
そんな感じです。

つまりここで伺いたかったことは、上記の動作を満たすVBAがあれば伺いたい、ということでした。

そういう意味ではコンボボックスも、例えば「その入力用セル(例では10セル程度)の、どれかをクリックするとコンボボックスが立ちあがり、
コンボボックスを利用して入力を確定したら、そのクリックした入力用セルに結果が帰る」という手合いのものであればアリです。

809 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 11:29:58.52
【1 OSの種類         .】 Windows7 / Windows8
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

2010を使っています。

一つのセルに100から400字ぐらいの日本語の文章が入力されています。
この文章の色はセル自体は基本色で、文章内のところどころに赤色を付けています。
(イメージとして、文章の重要な語句をめだたせているような感じです)

目標は、このようなセル内のテキストデータを構造化して取得することです。

質問なのですが、関数を用いて上記の色の変化した語句だけを抜き出すことは可能でしょうか?
あるいはVBAなどを用いる方法でも構いませんし、別の解決策として
HTMLのコードとして色の付いている箇所だけをマークアップする方法でも良いです。

上記ようなセルが全部で数千個もあるため、できれば手作業は回避したいところなのです。

よろしくお願いします。

810 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 16:08:30.51
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelで普段使うファイルをタスクバーに入れて「いつも表示」にピンしているのてますが、他のファイルを色々使っていると、いつの間にか「いつも表示」がなくなってしまいます。これは仕様なのでしょうか?

811 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 18:29:22.89
>>810
それはExcelの問題ではなく、タスクバーの問題。
http://www.losttechnology.jp/Win7/jumplist.html

812 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 18:44:50.80
>>809
構造化ってのがよくわからんが。
1)ワードにこぴーして
2)黒文字を消して
3)赤文字のみエクセルに戻す

こんな感じでは駄目ですか。

813 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 20:14:55.38
>>809
Excelは基本的にセル単位でなんやかんやするもの
VBAでやるにしても、そもそも手入力で色分けしてるようなテキストを構造化するとか意図がわからない

データを分析したいなら、最初からそれなりのフォーマットのデータを作成しないと。
とりあえずどういうデータか具体的に幾つか示してみ

814 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 21:03:35.72
>>809
赤文字を全部繋げてひとつの文章にしたいの?
セルの中に赤文字だけ残したいの?

セルに残す必要が無いのなら、Wordに表をコピペして、赤文字を1文字選択。
ホーム→編集→選択▼→類似した書式の文字列を選択 で、
赤文字だけを選択できる。
どこかにコピペすると、セルひとつごとに改行が入る。

セルの中に赤文字を残したいなら、黒(自動色)文字を上記の通りに
類似した〜で選択して削除。
数字と記号と文字という種別ごとに、
いちいち選択して削除を繰り返す必要があるかもしれない。
赤文字だけ残ったら、表をコピーしてExcelにペースト。

815 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 21:47:32.06
>>809
Sub 選択範囲の赤文字を抽出()
Dim wd As New Word.Application
Dim doc As Word.Document

Selection.Copy

wd.Visible = True
With wd.Documents.Add
.Range(0, 0).Paste
.Content.Select
With wd.Selection.Find
.Font.ColorIndex = 1
.Replacement.Text = "^t"
.Execute Replace:=wdReplaceAll
End With
.Tables(1).ConvertToText
.Content.Copy

Worksheets.Add
ActiveSheet.Paste
ActiveSheet.UsedRange.Columns.AutoFit

.Range(0, 1).Copy
.Close wdDoNotSaveChanges
End With
wd.Quit
End Sub

816 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 21:57:14.95
ようわからんけどhtmlで書き出してstyle設定してあるとこ拾えば済む話じゃないのそれ

817 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 22:02:25.61
MS Office の吐き出すhtmlは汚すぎる

818 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 22:17:25.82
必要な部分を抽出するだけの話なら、どんなに汚くても関係ないし

819 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 22:28:01.15
ワークシートをhtmlで保存すると、色の付いた文字は必ず一定のFONTタグで囲まれる
テキストエディタとかストリームエディタを使えば簡単に抽出できる

何がやりたいのか今ひとつよくわからん
たぶん俺ならVBAで一文字ずつ色のチェックするソフトを書く
せめて元の文章と、それがどうなってほしいのかっていう具体例がないと着手する気になれん

820 :名無しさん@そうだ選挙にいこう:2013/05/01(水) 23:29:41.52
>>816
その発想はなかった
一文字一文字色を判定するマクロしか思いつかなかったわ

821 :809:2013/05/01(水) 23:54:56.91
>>812-820 のみなさん、沢山のレス本当に有難うございます。

>>812
>構造化ってのがよくわからんが。

たとえば次の14文字の文字列があるとします。

普通の文字赤い文字普通の文字

この14文字の文字列がセルに含まれていて、"赤い文字"の4文字だけが赤くスタイライズされています。

この文字列を、どのような形式でも構わないので
普通の文字/赤い文字/普通の文字
という形に分解したいのです。

HTMLで

普通の文字<em>赤い文字</em>普通の文字

のようにマークアップ出来ればゴールです。
(極端に言えば、実際に文字列を所得しなくてもスタイルの切れ目の位置を知るだけでも良いのです)
ここで処理する対象はエクセルのデータなのですが、適切に処理をしたあとでデータベース(たぶん MySQL)に保存して別のスクリプトから再利用します。
ですから、文字列を分解してしまいさえすれば単なるテキストが取得出来ればよいのです。

>1)ワードにこぴーして
>2)黒文字を消して
>3)赤文字のみエクセルに戻す

に関しては、 "2)黒文字を消して" というのは >>814 さんの言う "類似した〜で選択して削除" ですね。
勉強になります。

822 :809:2013/05/01(水) 23:56:25.27
>>813
>Excelは基本的にセル単位でなんやかんやするもの

そうだろうとは思っていましたが、やはりそうですよね。

>VBAでやるにしても、そもそも手入力で色分けしてるようなテキストを構造化するとか意図がわからない

>データを分析したいなら、最初からそれなりのフォーマットのデータを作成しないと。

別の部署の作成したデータなんです。
社内で扱う様々な用語集で、重要な箇所だけ赤くしています。
もともと白黒印刷だけだったのですがいつ頃からか2色ずりするようになり、そのときにエクセルのセルの中の任意の範囲を選択して赤く色付けしていったらしいです。
これまで自分は全く今まで関わっていなかったのですが、そのデータを元に CMS を作成することが決まり、元のデータを先日はじめて目にして頭を抱えてしまったわけです。
形態素解析をしてコンテンツ間で相互参照できるようにするのが私の仕事で、同時に元のデータの赤い文字を重要語句としてマークアップすることが求められています。


>とりあえずどういうデータか具体的に幾つか示してみ

上に示したようなものです。実際には一つのセルに100文字ぐらい含まれており、その中に赤くスタイルづけされた箇所はほとんどの場合複数ヶ所あります。

データの作成の段階から私が関わっていれば別の提案もできたかもしれませんが、昔からの経緯もあるのでまぁ仕方ないです。

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

823 :809:2013/05/01(水) 23:57:26.75
>>814
>赤文字を全部繋げてひとつの文章にしたいの?
>セルの中に赤文字だけ残したいの?

説明が足らなかったようで申し訳ありません。上記のように、元の文字列を分解したいのです。

>セルに残す必要が無いのなら、Wordに表をコピペして、赤文字を1文字選択。
>ホーム→編集→選択▼→類似した書式の文字列を選択 で、
>赤文字だけを選択できる。
>どこかにコピペすると、セルひとつごとに改行が入る。

>セルの中に赤文字を残したいなら、黒(自動色)文字を上記の通りに
>類似した〜で選択して削除。
>数字と記号と文字という種別ごとに、
>いちいち選択して削除を繰り返す必要があるかもしれない。
>赤文字だけ残ったら、表をコピーしてExcelにペースト。

この方法は今まで知らなかったのですが、とても便利に使えそうです。
赤と黒の文字をそれぞれ抽出して元のデータと差分を計算するとほとんどの場合望んでいる結果が得られるのではないかと思います。
一意に定まらない曖昧なデータに遭遇した場合だけ手動で調整する必要は出てくるでしょうが、概ね問題ないと予想しています。
詳しい方法を教えていただきありがとうございました。

824 :809:2013/05/01(水) 23:59:58.16
>>815

>>814 さんの方法をさらに Word と連携の VBA で実現ですね!
これをチューニングすれば思い通りの結果が得られそうです!
きっちり動作するマクロでした。
本当にありがとうございました。

825 :809:2013/05/02(木) 00:00:39.56
>>816
>ようわからんけどhtmlで書き出してstyle設定してあるとこ拾えば済む話じゃないのそれ

そうですね。
エクセルの書きだすHTMLコードに、ルビを含めて膨大な付加データがあったので敬遠してしまいましたが、パターンはそれほどたくさんないので丁寧に加工すれば望みの結果が得られそうです。

>>817
>MS Office の吐き出すhtmlは汚すぎる

同意します。97の頃からほとんど変わってないような気もしますが、今更変えようもないのかもしれません。

>>818
>必要な部分を抽出するだけの話なら、どんなに汚くても関係ないし

そうですね。なんとなく >>817 さんのように嫌ってしまっていて、もしももっといい方法があればと思ったのですが。。。

みなさん、ありがとうございました。

826 :809:2013/05/02(木) 00:02:19.64
>>819
>ワークシートをhtmlで保存すると、色の付いた文字は必ず一定のFONTタグで囲まれる
>テキストエディタとかストリームエディタを使えば簡単に抽出できる

そうですね。落ち着いて丁寧に見れば解決できるはずです。ご指摘ありがとうございます。

>何がやりたいのか今ひとつよくわからん

説明が足らずに申し訳ありませんでした。上で述べたように、同僚の作成した社内マニュアル(のようなもの)を元に、赤文字の箇所だけマークアップして再構成する必要があったのです。

>たぶん俺ならVBAで一文字ずつ色のチェックするソフトを書く

これは Excel オブジェクトのみの API で可能なのでしょうか?

>せめて元の文章と、それがどうなってほしいのかっていう具体例がないと着手する気になれん

説明不足でごめんなさい。


皆さんたくさんのご意見まことにありがとうございました。m(__)m
とりあえず >>815 さんに書いてもらったマクロを元にして作業進めようと思います。
みなさん本当に感謝、感謝でございます。

おやすみなさい /~

827 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 00:05:45.56


828 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 00:17:33.15
>>821
>HTMLで
>
>普通の文字<em>赤い文字</em>普通の文字
>
>のようにマークアップ出来ればゴールです。

htmlで出したら、スタイルシートを書き換えれば太字になるんだが・・・。

829 :809:2013/05/02(木) 00:21:36.85
>>828
例えばの話です。
何らかの任意のタグでマークアップするという意味でした。
どちらかと言えばセマンティックには em タグに近いですし。

830 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 00:50:07.81
>>829
いっぺんExcelに適当に文字列を打ち込んで色を付けてHTML形式で保存してみたらわかるよ

色ごとにスタイルシートのクラスが付くから、先頭の定義部分を一ヶ所書き換えるだけで
全体の書式がいっぺんに変わる
シート全体の赤文字を全部青に変えるのもスタイルシートを1行修正するだけ
太字にしたりサイズを変えたり、なんでもできる

831 :809:2013/05/02(木) 01:11:08.34
ありがとうございます。

今回はスタイルでテキストを分解することが目標であり、その例えとしてHTMLのマークアップの結果を書いたまでなのですが、
誤解されたのでしたら説明不足でした。

見た目は二の次なので取り立てて必要はありませんが、覚えておいて損はないですね。
機会があればやってみます。

832 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 01:25:37.83
(´-`).oO(表 計算 ではなく、表作成ソフトとして使っている口なんだろうな)

833 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 07:37:43.00
>>832
ソフトを何に使おうが俺の勝手でございます

834 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 17:28:41.33
>>832
自分がそうだからといって人を決めつけるんじゃないよw

835 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 19:18:20.66
エクセルは表が書けるワープロだろ?

836 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 20:07:01.24
GUI的にはセルを基準としているので、表計算に向いてます。
また1セルの行数が限られているので、長文用のアプリケーションとしては使いづらいでしょう。
(1行1列でも良いのですが、幅を変更した時の作業が大変なことになります)
高橋メソッドのような形式で書くなら特に問題はないと思います。
他になにか質問はありますか?

837 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 20:57:27.25
いろいろカスタムすればワープロとしても
かなり使い勝手が良くなるよ

838 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 21:10:12.64
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 否

A1セルに2、B1セルに3を入れてます。
test1は動作するのに、test2はエラーになります。
何で?

Sub test1()
 a = Range("a1").Value
 b = Range("b1").Text
 Cells(a, 2).Interior.Color = 65535
 Cells(b, 3).Interior.Color = 65535
End Sub

Sub test2()
 a = Range("a1").Value
 b = Range("b1").Text
 Cells(a, b).Interior.Color = 65535
End Sub

839 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 21:22:46.03
>>838
型がstringになってるな。.textだとstringになるのかな?よく知らないけど
Sub test2()
Dim b As Long
a = Range("a1").Value
b = Range("b1").Text
Cells(a, b).Interior.Color = 65535
End Sub
これでオッケー

840 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 21:30:04.95
>>838
それ本当に同じ条件でチェックしてる?
B1セルの内容が違ってるんじゃないの?

とりあえず
debug.print b,len(b),lenb(b)
ってやって、bの内容をいちいち確認してみて
長さを確認するのは、余分なスペースが入っていないか、全角になっていないか確認するため

あと、エラーに関する質問の時はエラーメッセージを必ず書くこと

841 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 21:37:40.69
>>839-840
【4 VBAでの回答の可否】 否 だぞw

842 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 21:43:55.48
じゃどうやって答えんだよこれ

843 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 22:05:53.54
日本語だけで説明しろってことだろ言わせんな

844 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 22:34:26.11
stringなので列記号(ABC)と解釈されている。
Cells(b, a).Interior.Color = 65535 としてもエラーにならない。

845 :838:2013/05/02(木) 22:51:12.24
>>839
オッケーですね。
Dim b As Integerではなく、Dim b As Longと書いてる理由は何かありますか?

>>840
debug.print b,len(b),lenb(b)がよくわからなかったけど、
ググってイミディエイトウインドウを開いてやってみたら、
test1もtest2も 3      1      2 になりました。
エラーメッセージはこれです。
http://uproda.2ch-library.com/661311c7a/lib661311.jpg

>>841-843
810のをコピペして、直し忘れです。

>>844
確かに・・・

846 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 23:01:19.36
デバッグボタン押してみろよ

847 :名無しさん@そうだ選挙にいこう:2013/05/02(木) 23:16:13.57
>>844
そういう仕様だったのか
Sub test2()
a = Range("a1").Value
b = "e"
Cells(a, b).Interior.Color = 65535
End Sub
たしかにこれで通るね

848 :838:2013/05/02(木) 23:49:07.32
んー、俺の疑問は解決してないんだけど・・・

Sub test3()
 'Dim b As Long
 a = Range("a1").Value
 b = Range("b1").Value
 Cells(b, a).Interior.Color = 65535
 Cells(a, b).Interior.Color = 65535
End Sub

これだと、変数を宣言しなくても、Cells(a, b)でもエラーなしで動作する。
つまり、,Valueと .Textで何かが変わるってこと?

849 :名無しさん@そうだ選挙にいこう:2013/05/03(金) 00:02:54.45
textだと強制的にstringになるっぽい
はっきり言って、こんなローカル仕様覚えても仕方ない。
これは忘れてvalueを使うか、文字列を使いたいときはstringで変数を宣言するようにした方がいい

850 :名無しさん@そうだ選挙にいこう:2013/05/03(金) 06:55:39.71
>>848
ValueとTextの違いを勉強すると理解できるよ
Cellsは数値を指定する必要があるのでTextではエラーになる

851 :名無しさん@そうだ選挙にいこう:2013/05/03(金) 09:03:09.68
たとえばA1は Cells(1, 1) や Cells(1, "A") と書ける。
列には列記号が使える。
で、Text だと Cells(1, "1") とするようなもの。
これはエラーになる。
行には行記号なんてないからそれなりにしてくれる。

852 :名無しさん@そうだ選挙にいこう:2013/05/03(金) 09:14:17.17
>>848のValueでも
B1に '3 とか、書式を文字列にしてから 3 を入力とか
すればエラーになる。

853 :名無しさん@そうだ選挙にいこう:2013/05/03(金) 11:08:34.40
valueはセルに「入力されている値」を返す
textはセルに「表示されている値」を文字列で返す

って仕様だよ。

a1に1/1って入れると、自動的に日付形式になって、「1月1日」ってなると思うけど、
そんときvalueは「2013/01/01」、textは「1月1日」を返すでしょ?

valueの場合はデータ型はexcelが自動で判断するけど、textは「見た目」返すから文字列になるわけね。
今回みたいに数字入ってる場合はvalueは自動判断で数値として返してくれるけど、textの結果使おうとすると、文字列だからエラーになるわけ。

戻り値のデータ型が何かはtypename関数使えばわかるよ。
typename(range("a1").value)とか。

854 :名無しさん@そうだ選挙にいこう:2013/05/03(金) 15:35:04.64
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

上記環境でxlsxをxlsへ一括変換することはできますか?
ぐぐったところExcel2007以降の環境があるとマクロでなんとかなるようですが環境がありません。
xlsxをExcel2003で開くのに「互換機能パック」をインストールすると開けることは理解していますがインストール許可が出ません。

855 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 05:46:01.72
【1 OSの種類         .】 Windows7 Professional
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelにて家計簿をつけ始めました。
http://www.dotup.org/uploda/www.dotup.org4172259.jpg
I列〜L列の選択部分に関してだけオートフィルタを適用することはできますか?

普通にI列〜L列を指定して、オートフィルタを適用すると、
仮に項目”食費”で表示するようにした場合は、
A〜H列部分にもJ列の抽出結果が適用されてしまいます。

856 :855:2013/05/04(土) 06:06:13.76
すみません Excel2007です。

857 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 06:21:15.16
>>855
できません

858 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 10:25:53.03
>>855
そのレイアウトを変えたほうがいい

859 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 11:32:11.98
>>855
シート分けすればいいんでは…

860 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 11:56:01.30
>>855
もっと飯食えよ・・・

861 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 13:38:59.26
>>854
MSのその互換パックのページ見てみたけどそこで互換パックインストールする前に「優先度の高い更新プログラムを
すべてインストールしてください 」って書いてあるけどやった?

862 :855:2013/05/04(土) 14:40:02.98
あったら便利かな、と思っていたのですがそういった機能はないんですね。
シートを変えるor場所を移動することにします。

>>860 社食で食べた分が給料天引きで記載されてないだけです。

863 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 14:41:04.60
>>854
xlsxはxlsと比べて仕様が拡張されているので完全には変換できない
変換できるかどうかは変換したいファイルの内容次第

864 :名無しさん@そうだ選挙にいこう:2013/05/04(土) 16:43:51.04
>>855
そんな機能あったら気持ち悪いわ
その境目で行が矛盾するだろ

865 :名無しさん@そうだ選挙にいこう:2013/05/05(日) 21:36:51.18
【1 OSの種類         .】 WindowsXPSP3
【2 Excelのバージョン   】 Openoffice3.2
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可 教えてもらった事を実現できるまで調べます

比較要素が三つ以上ある表を作りたいのですが、レイアウトがうまく組めません

ちょうど>>855のような表で、これを例にすると日付・時刻・項目ごとに金額を表示したい感じです。
たとえば、A列を日付にして30行用意
B列以降は時刻を半日分の12行用意
さらに項目がA〜Lの12種類あるので、セルを12分割したいところだけどできず困っています。

表やシートを分けずに済ませるには
日付か時刻を7/1 A、7/2 Bなどに増やして12倍にするか
12セル結合して1セルにするしかないのかと思いましたが
できれば大きすぎる表にするのも避けたいのです。
できればシートが大量に並ぶ状況も避けたいです
結合作業も大変ですし…

あとは、セル内で項目ごとに文字色をかえて、
改行を使って12種類の数値をねじこむくらいしか思いつきません。
数値は短いのでできなくはなさそうです。
これも、12種類もあるので
色で分けるなら文字色ではなく背景色で分けたいのですが
文字の背景色設定はできず、セル全体を塗りつぶす事しかできないようなので
これも無理なのかなと途方にくれています。
シート分割や地道にセル結合するのが一番なのでしょうか?

866 :名無しさん@そうだ選挙にいこう:2013/05/05(日) 21:46:50.51
セル内改行はだめ。後で集計できなくなる。
入力と出力は分けて考える。
日付・時刻・項目のすべてをあらかじめ用意するんじゃなくて、入力必要な行だけつくる。
あとはピボットなりフィルタなりで集計可能。

867 :名無しさん@そうだ選挙にいこう:2013/05/05(日) 21:53:58.86
>>866
ありがとうございます。
困った事に、日付・時刻・項目の全てが絡み合っていて、
それぞれに対応した値がどうしても必要なので
種類を省くという事ができないのです…

用途の性質上、出力といった概念がなく
最低限、一覧表・早見表として機能すればいいので
集計はできなくてもいいのですが、集計を犠牲にした程度では実現できなさそうでしょうか?

868 :名無しさん@そうだ選挙にいこう:2013/05/05(日) 22:22:40.02
日付と時刻を分けようとするから難しいんじゃ?
普通に考えると時系列ごとにいくつかのデータがあるってことでしょ
A:日付 B:時刻 C:データ1 D:データ2、、、
でいいんじゃないの?
っつかまずデータ書かないと

869 :名無しさん@そうだ選挙にいこう:2013/05/05(日) 23:50:07.46
>>868
完全にそのまま転載というわけにはいかないので、
いま意味をそのまま置き換えられるようなケースを探しています。

870 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 00:03:48.21
内容を書き換えれば完全にそのまま転載してもいいんやよ
大抵、
商品はみかんやりんごなどの果物、
部署は東京や大阪といった地名に置き換えられる

871 :865:2013/05/06(月) 01:52:40.56
ちょうどいいものが身近にあったので、これで説明します。
最近よくあるカードゲームの合成システムです。

自分がプレイしているゲームについても応用できる話なので、
混乱を避けるため例え話(置き換え)ではなく、このまま
ゲームのデータを表にすることについての質問として切り替えさせてください。

>>868-870のデータについては、上記ゲームのデータに置き換えて表を作ってみたので
>>872で投稿します。


カードのレアリティがN、N+、R、R+、SR、SR+と6種類あり
合成に使ったカードの【レアリティ】と【Lv】によって入手経験値が決まります。

合成素材に使うカードは消滅するので、Lv1のまま使うため、
・素材カードのレアリティ
・合成元(育成するカード)の【レアリティ】と【Lv】が対象項目になります。

何に何を合成するといくつの経験値が得られるかを
まとめた表を作ろうというケースが、私のやろうとしている作業とかなり合致した性質を持っています。
最初に質問したケースとは項目数が6と12で倍違いますが、それ以外の表の性質はほぼ同じです。

経験値ゲージが100%までたまるとレベルアップする仕組みで
経験値の絶対値は公開されておらず、結果的に何%入手したかのみ表示されるため
0〜100%までの間に使ったカードの数、種類、Lv、また順番によっても誤差が生じ、
オートフィルタなどでは代用できず、実際に試したケースを書き留めていく方法をとるつもりです。
そのため、セルごとの数値の関連性が薄いものになるというのも類似しています。
簡潔に説明するのが下手ですみません。

872 :865:2013/05/06(月) 01:59:27.91
>>868
http://www.dotup.org/uploda/www.dotup.org4176696.jpg
作成するのに手間取りまして失礼しました。
ちょうどこのような感じで、最初の質問から置き換えるなら

日付=育成元カードのLv
時刻=育成元カードのレアリティ 
項目=素材カードのレアリティ
数値=得られる経験値

としていただければピッタリ置き換わります。
表の主旨としては、
「どのレアリティの育成元カードを」「育成元が何レベルのときに」
「どのレアリティの育成素材を使ったら」「いくつの経験値が得られるか」を
なるべく少ないシート数と大きすぎない表に収めたいというものです。
合成元のレアリティとLvが最も影響するため切り離せず、
素材のレアリティと結果の数値も切り離せないので、簡略化もできず困っています。

この画像のうち
Aが>>865の最後で書いた「シート自体に1項目を割り当て、シートを分ける」という方法です。
ゲームの場合は、シート6つで妥協すれば終わる話なのですが
>>865で質問したほうの表では、日付、時間、項目のどれに絞っても最低12個のシートが並んでしまうため避けたいです。

Bが「日付か時刻を7/1 A、7/2 Bなどに増やして12倍にする」という方法で作ったものです。

Cがセル結合を使って「1セル内に6個(12個)のデータを収める」という方法です。
これだと表そのものが大きくなりすぎてしまうのが悩みで、
こういう要素の多い表をうまく表現する方法はないかと思い質問した次第です。
セル内改行だと色分けが大変で見づらいのと、
ご指摘いただいたように集計ができないという問題があります。
ただ、集計はできなくなっても構いません。

873 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 02:10:43.00
肝心なところをまとめきれてなくてすみません
上記質問のうち、ゲームに関しては文中にあるように
「シート自体にひとつ項目を割り当て、シート6枚で妥協する」で解決はするのですが
最初に質問したほうのケースだと、それでもシートが12枚に及んでしまうので
こういった3〜5種類の要素が絡み合う事象を
うまいこと表にする方法はないだろうかと思って、質問した次第です。
ややこしくて冗長で申し訳ありませんが、お力添えいただけるようでしたらよろしくお願いします…

874 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 02:40:57.65
最初にも書いたが、要は多次元配列だから入力と出力を分けるといいと思うんだ。
入力は(日付、時刻、項目)=数値 の4列にして、ピボットで作表する

875 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 06:29:40.41
>>865
下記スレッドで訊かれるのが良いかと思われますので誘導させていただきます
LibreOffice/Apache OpenOffice 総合相談所 10
http://toro.2ch.net/test/read.cgi/bsoft/1339338170/

876 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 07:25:10.04
普通に総当たりデータピボットで作ってスライスなりドリルダウンで表示すれば済む話じゃないのそれ。

877 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 09:30:36.64
九九の表みたいにしたいって事かいな?こんな?

http://www.dotup.org/uploda/www.dotup.org4177176.png

878 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 12:19:38.23
複数の表を無理に合わせる必要ないよ>>865
そんなことにいくら時間つぎ込むつもり?仮に作りあげても、加工性にも乏しく、新規要素に対応するのが困難

集計したい情報を複数の表からうまくoffset,matchなんかで拾ってやればいい

879 :名無しさん@そうだ選挙にいこう:2013/05/06(月) 15:31:14.75
>>874-879
皆様ありがとうございました、解決方法が見えてきました
ピボットは未経験なので、教えていただいた方法を試してみます。
OpenOfficeスレがあるのを見落としていたので、次からは念のため誘導いただいたスレにて伺います。

どうも自分は、X軸とY軸がぶつかる所に結果(数値)が出る方式で
作表したがる傾向があるようで、それが固定観念になっていたのが原因なようです。
アドバイスを頂くまで気づきませんでした…
また、それを念頭に置いたような質問の仕方をしてしまった気がします。

表を開いて一瞬で目的の場所が探し出せる・感覚的にもわかりやすいというので
そういう方式を好むのですが、>>877で出していただいた例で目から鱗が落ちた思いです。
わかりづらい質問にお付き合いいただき、ありがとうございました。

880 :名無しさん@そうだ選挙にいこう:2013/05/07(火) 22:35:35.83
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

今日2013を買ってみたけれど、これって外周の半透明な枠?を出すことは出来ないのでしょうか。
検索かけようにも正式名称がわからずうまく伝えられなくて申し訳ないのですが、応答なしになったりすると出てくるので変更方法があるか気になっています。

外観の問題なので慣れればいいのかもしれませんが、知っている方いらっしゃいましたら教えて下さい。

881 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 02:50:36.83
>>880
どの部分のことを言ってるのかさっぱりわからん
手書きでも何でもいいから、画像で「ここに枠が出る」とか「ここが半透明になる」みたいに示してくれ

882 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 10:13:16.26
>>880
スクリーンショットうpしてご説明ください

883 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 13:49:55.69
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

エクセル関数で処理したいのですが、
知識がないので助けてください。

A  B  C  D  E
10  14  ○  あ  お
11  10  ○  い  あ
12  12  ○  う  う
13  11  ○  え  い
14  15  ×  お  

A列とB列が入力されていて、
B列の数字がA列にあるかないかをC列に○×で表示したい。
*=IF(COUNTIF(A:A,B1),"○","×")これで出来ました。


また、○の場合は、A列で検索された行のD列の文字をE列に表示させたい。

C列に入力してから、E列に入力するやり方か、
E列のみ表示でもいいので何卒力添えお願い致します。

884 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 14:09:26.42
>>883
E列=IF(C1="○",VLOOKUP(B1,A:D,4),"")

885 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 14:30:26.45
>>884
本当に、本当にありがとうございました。解決しました。

886 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 16:48:48.25
>>880
うちはWin7やExcel2013がないんで憶測だけど、なんとなく言ってる現象はわかる気がする
オプションで外観変更するメニューとかないかな、スキンとかスタイルとかそんな単語
クラシックスタイルだとかXPスタイルだとか、そういったのを選べるのであればお望みどおりになる可能性がある

887 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 19:02:08.39
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

=IF(COUNTIF(A1,"*半額*"),IF(COUNTIF(A1,"*税*"),SUM(B1:B3)*税額/2,SUM(B1:B3)/2),IF(COUNTIF(A1,"*税*"),SUM(B1:B3)*税額,SUM(B1:B3)))

A1に半額があったらB1:B3を半額に、税があったらB1:B3にNAME「税額」の倍率を掛けて計算をする
というセルなのですが、あまりに長いのでもう少し整頓できないかと思うのです。
分岐する部分など、計算セルを分ける以外に良い計算方法はありますでしょうか?

888 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 19:29:57.81
1→A
16→P
32→AF

これらのように、列の番号を列のアルファベットに変える関数またはマクロを教えてちょ

889 :880:2013/05/08(水) 19:45:57.12
>>881
>>882

返事遅くなりましたが簡単に絵で表してみました
http://www.dotup.org/uploda/www.dotup.org4182118.jpg.html

説明下手で申し訳ございません、これでなんとなくわかってもらえるでしょうか・・・

>>886
スキンやスタイルですか、キーワードがまったくわからなかったのでそれを元に自分でも調べてみます。
ありがとうございます。

890 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 20:10:33.51
>>888
=LEFT(ADDRESS(1,n,4),1)
これでnに対応する列のアルファベットが出ますけど、この例は1文字しか
出てこないため、あとはLENとか駆使して最後の1の部分を複数文字に対応
可能なようにするようかな。

891 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 20:25:16.77
>>889
それはタイトルバーという。「ファイル」「ホーム」の上の「Excel」と出ている部分がそれだよ
Officeならスキンじゃなくテーマって名称使ってると思う
タイトルバーが半透明になるかどうかはアプリとテーマを作った側の采配なので。
デサインタブにテーマ変更の項目があるんじゃないかな

892 :名無しさん@そうだ選挙にいこう:2013/05/08(水) 20:33:57.15
>>888
>>890とは違う読み方したんだが、
オプションから操作するR1C1参照形式のチェックを外すのをマクロの記録してみた場合↓こうなった

Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+b
'
Application.ReferenceStyle = xlA1
End Sub

893 :名無しさん@そうだ選挙にいこう:2013/05/09(木) 02:00:34.50
>>888
こんな感じかな?

Sub xxx()
colnum = Application.InputBox(Prompt:="列番号を入れてください", Type:=1)
adr = Columns(colnum).Address(ColumnAbsolute:=False)
n = InStr(adr, ":")
al = Left(adr, n - 1)
MsgBox al
End Sub

894 :名無しさん@そうだ選挙にいこう:2013/05/09(木) 15:20:07.59
こういうテキストをExcelにコピペして、一気に分数にする方法を教えてください

11
21 1/8
1/4
20
14 7/16

2、5番目は帯分数なのですが、そのまま貼り付けると文字列になってしまいます
セルを選択してF2→Enterで分数になってくれますが、全体で4万件ほどあるので1つずつ直すのは面倒すぎます

貼り付け前にセルの書式を分数に変えても、貼り付け後に書式を変えても文字列のまま分数になってくれませんでした
形式を選択して貼り付けで1を乗算してもダメでした

補足として、仮分数や約分できる分数はありません

895 :名無しさん@そうだ選挙にいこう:2013/05/09(木) 15:43:35.66
自己解決しました
A列の書式を文字列にして貼り付け、
作業列Bに数式を入れ、「/」を含みスペースを含まないデータの先頭に「0 」を追加、
BをAに値貼り付け、<!>をクリックして数値に変換、
A列の書式を分数に変更、B列削除でできました

896 :名無しさん@そうだ選挙にいこう:2013/05/09(木) 15:58:02.75
>>895
<!>をクリックwwwエロイwww

897 :名無しさん@そうだ選挙にいこう:2013/05/09(木) 18:57:12.14
kongetsu = Format(Date, "yyyy年m月") の kongetsu に対して
下記のような数字を返すやり方を教えてください。

2013年4月 のときは 5
2013年5月 のときは 8
2013年12月 のときは 29
2014年8月 のときは 53

3つずつ増えていきます。

898 :名無しさん@そうだ選挙にいこう:2013/05/09(木) 19:17:03.52
>>897
x = DateDiff("m", "2013/3/1", kongetsu & "1日") * 3 + 2

899 :897:2013/05/09(木) 19:50:14.48
>>898
すごーい!
ありがdございます。

900 :ぴころ ◆lHG3Yzo0a6 :2013/05/09(木) 22:31:01.26
このスレは良スレでしゅ(^▽^)

901 :888:2013/05/09(木) 23:30:30.51
>>890
ども

>>892
んー

>>893
グー d(^o^)b

902 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 01:08:57.41
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2000,2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAで10文字の乱数を作りたいと思っております

intMin = 48
intMax = 122
strData = ""

For i = 1 To 10
Do While True
'ランダムで数値を生成
Randomize
intRnd = Int((intMax - intMin + 1) * Rnd + intMin)
If intRnd >= 48 And intRnd <= 57 Then
Exit Do
ElseIf intRnd >= 97 And intRnd <= 122 Then
Exit Do
End If
Loop
strData = strData & Chr(intRnd)
Next i
pass = strData

としてみたのですが500個位で5個程同じ文字列が見つかってしまいました
10桁の 小文字英語半角数字なのでそう簡単には同じ文字列は出ないと思っているのですが
繰り返してみるとぽこぽこ見つかってしまうので私の作ったVBAが悪いのではないかと思っております
修正する場所がありましたら教えて頂けないでしょうか
よろしくお願い致します

903 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 01:56:59.34
>>902
Randomizeを消してみ

904 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 02:04:17.40
>>902
乱数を半分以上捨てるのは無駄が多すぎてよくない
こんな感じで作った乱数は全部使った方が、データの内容的にも処理速度的にも好ましい

strData = ""
For i = 1 To 10
  intRnd = Int(Rnd * 36)
  If intRnd <= 9 Then
    strData = strData & intRnd  ' 数字
  Else
    strData = strData & Chr(intRnd + 87)  ' 英字
  End If
Next i
pass = strData

905 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 02:29:21.42
>>903
Randomizeを消すとなぜか
1回目はまったく重複しないのですが
1回目の500個と
2回目の500個と合わせてみるとでみると重複してしまいます、、、、

>>904
ありがとうございます
For i = 1 To 10
intRnd = Int(Rnd * 36)
Debug.Print intRnd
If intRnd <= 9 Then
strData = strData & Chr(intRnd + 48) ' 数字
Else
strData = strData & Chr(intRnd + 87) ' 英字
End If
Next i
にしたところRandomizeを消して
500個を3回実行したものを合わせても重複が見つかりませんでした
乱数を捨てまくっていたのが悪かったのでしょうか

906 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 03:05:04.52
>>905
Randomizeはプログラム全体で最初に1回だけ実行すればいいもの
500回のループより前に置く

VBAは数字を文字に変換する機能があるから
strData = strData & intRnd ' 数字

strData = strData & Chr(intRnd + 48) ' 数字
の結果はまったく同じ

907 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 03:16:43.14
>>905
おまいは乱数の意味を勘違いしてる
乱数ってのは全部バラバラって意味じゃねーぞ

予測不可能なのが乱数だから、同じ物が何回も出てくる可能性だってある
バラバラのデータが欲しいんなら、いちいち重複チェックして同じならやり直すしかない

908 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 07:21:56.88
>>902

909 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 07:33:14.22
>>902
EXCELVBAの乱数の仕様ってどんなんだっけな、あまり詳しくは覚えてないけど
確か65536だか16777216種類しか乱数は発生しない。
で、最初に決めた数値から次の数値が作られる。
で、それを>>902に当てはめると>>904に比べてかなり被りやすい状態になっているということだ

910 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 08:08:47.55
【1 OSの種類         .】 Windows7 home 64bit
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
改行やタブの混じっている、長文の置換を行おうとしています。
テキストぼっくる

911 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 08:16:15.68
そうですか

912 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 11:02:59.36
>>907
>いちいち重複チェックして同じならやり直すしかない
ほんとかぁ?w

913 :名無しさん@そうだ選挙にいこう:2013/05/11(土) 15:45:37.51
>>910
ふ〜ん。よく知ってるね。ネット(笑)で調べたんだ?

914 :名無しさん@そうだ選挙にいこう:2013/05/12(日) 00:39:21.59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
UserForm1.showを実行した時にmsgboxを出したいのですが、どのイベントに記述すればいいでしょうか
VBみたいにForm_loadと思ったのですが、ありませんでした。
activateでしょうか?

915 :名無しさん@そうだ選挙にいこう:2013/05/12(日) 00:43:12.16
UserForm1.showの前じゃダメなの?

916 :名無しさん@そうだ選挙にいこう:2013/05/12(日) 00:43:56.85
ごめん質問捉え違ってた>915は忘れて

917 :名無しさん@そうだ選挙にいこう:2013/05/12(日) 00:45:08.30
>>914
activateに書いてもいいし、showを別プロシージャにして自前でmsgboxとセットにしてもいい

918 :名無しさん@そうだ選挙にいこう:2013/05/12(日) 00:45:56.48
>>914
ぐgったらInitialize イベントが近いとか書いていた

919 :914:2013/05/12(日) 00:46:42.05
ありがとうございます!みなさんの回答を色々試してみようと思います。

920 :名無しさん@そうだ選挙にいこう:2013/05/12(日) 22:16:11.49
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

「データの入力規則」のリストについて教えてください。
作成したリスト以外の値(日付)もセルに入力できるようにしたいと考えています。

入力規則の「エラーメッセージを表示する」のチェックを外すことで入力できるように
なったのですが、セルの左上に緑の三角マークがついてしまいます。
オプションの数式の設定から、「エラーチェックを行う」のチェックを外してみましたが、
自分以外のパソコンでファイルを開くとその設定が適用されていないようです。

どのパソコンで開いてもエラーの三角マークが出ないようにしたいのですが、可能でしょうか。
よろしくお願いします。

921 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 00:17:38.95
複数のブックを跨ぐマクロで、それぞれのブックのセル位置を任意の場所に移動させるとき
activateさせずにselectすることはできますか?

922 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 00:19:53.80
>>932
bookをselectしてshettsをselectしてcellsをselectして下さい
つまり、無理と重て下さい

923 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 00:27:55.41
ロングパスだなw

924 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 00:30:03.21
てゆーか、bookをselectできるの?

925 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 00:30:05.19
昔はよく言ったよな
>932がんばれw
とかな。すいません。

>>922>>932>>921の間違いです。

926 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 00:38:19.21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
クリップボードにコピーをしたいのですが、うまくいきません。

http://www.moug.net/tech/exvba/0150091.html
を参考に、

Sub Sample1()
Dim buf As String
buf = "モーグ"

With New MSForms.DataObject
.SetText buf '変数の値をDataObjectに格納する
.PutInClipboard 'DataObjectのデータをクリップボードに格納する
End With

ActiveSheet.Paste Destination:=Range("A1")
End Sub

というコードをそのままコピーし実行したのですが、ダメでした


>「C:\Windows\System32\FM20.DLL」または「C:\Windows\SysWOW64\FM20.DLL」を選択します。
このどちらも参照しています
(参照する前はエラーが出ていました。どんなエラーかは忘れました、すいません。)

なにが原因なのでしょうか?

927 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 02:29:27.86
モーグって平気で動かないコード載せるよな
指摘しても直さないし

>>926
正しくはこうだよ

Sub Sample1()
  Dim buf As String
  buf = "あほモーグ"

  With New MSForms.DataObject
    .SetText buf  ' 変数の値をDataObjectに格納する
    .PutInClipboard  ' DataObjectのデータをクリップボードに格納する
  End With

  Range("A1").Select
  ActiveSheet.PasteSpecial Format:="Unicode テキスト"
End Sub

928 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 02:32:54.39
XPなのにSysWOW64フォルダがあるの?珍しいシステム使ってるね

929 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 14:35:19.69
【質問】
Excel 2013 + Win7 (64bit) が落ちまくって困ってます、という相談はどこですればいいですか?

930 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 14:36:53.30
excel2013は欠陥商品

931 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 14:53:35.45
>>930
一般的な問題と知ってググってみたら、あるわあるわw
スレ汚しスマンです
どっかに書いてあった「オートコンプリートを切る」で暫く落ち着いてます

932 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 15:17:19.73
Excelのグラフで
マーカーを▲にすることはすぐできるんですが
逆三角形▼にすることはできないでしょうか?

933 :名無しさん@そうだ選挙にいこう:2013/05/13(月) 15:49:45.34
>>932
マーカーのオプション→組み込み→画像ファイル
しかなさそうだね

934 :名無しさん@そうだ選挙にいこう:2013/05/15(水) 20:30:32.45
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

A1セルからA5セルにA〜Eを入力し、次のマクロを実行すると
ix = 5 とメッセージが出ます。

Sub test1()
 KEY = "E"
 Set RNG = Columns("A").Find(what:=KEY, MatchByte:=False)
 If RNG Is Nothing Then
  MsgBox KEY & " が無いぽ!"
  Exit Sub
 Else
  ix = RNG.Row
 End If
 MsgBox "ix = " & ix
End Sub

2〜3行目を非表示にするとEは上から3行目になりますが、
上のマクロでは5のままです。
ix = 3 にするには、どうすればいいですか?

935 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 01:20:25.16
>>934
http://www.excel.studio-kazu.jp/kw/20041109223626.html
このページに色々あったよ

936 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 05:51:23.83
>>920
設定を変えていいのなら
リストに日付を追加する
入力規則を無効にする
はどうですか

937 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 06:28:20.23
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】少しなら
【4 VBAでの回答の可否】 できれば不可

表に2つ以上同じ文字があった場合に、違う場所に表記されるように出来ますでしょうか。
ちょっと説明下手なので参考画像をあげてみます。表を入力したら、自動で右に2つ以上ある文字と数が表示されるようにしたいんです。
何かやり方があれば、よろしくお願いします。
http://uploda.cc/img/img5193fd1c509d3.PNG

938 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 09:31:53.56
>>937
ピボットテーブル

939 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 20:11:30.52
>>935
ありがとうございます。
でも、私のマクロが間違っていて、非表示でも ix = 5 になるのが正解でした。

940 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 20:51:51.32
   ズ コ─ ,__
.  _ ,__    n/::::i_,fj
 't`(__,iフ;タ `iwvt'´
  `i:.:.k'´   i:.:.:.└-iっ
   `ー-',、ハ,、`ヽー'´,、ハ,、
      ̄´´     ̄´´

941 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 20:59:02.71
ほんと>>940だわw

942 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 21:43:17.74
マクロで、列数と行数が変わる集計表をつくっています。
その表に、このような罫線を引きたいのですが、どう書けばいいですか?
ttp://uproda.2ch-library.com/664927V5O/lib664927.jpg
(全体を細い罫線で引き、外枠と2行目のタイトル行とD列を標準の罫線で囲む)

943 :名無しさん@そうだ選挙にいこう:2013/05/16(木) 21:45:53.91
ピボットテーブルで

944 :942:2013/05/16(木) 22:07:51.49
ここまで書いたw
Sub Macro1()
 x = Range("XFD2").End(xlToLeft).Column
 y = Range("B1048576").End(xlUp).Row
 'Range(Cells(y, 2), Cells(2, x)).Select
End Sub

945 :名無しさん@そうだ選挙にいこう:2013/05/17(金) 02:54:11.26
なかっち 動画
http://www.youtube.com/watch?v=z2qK2lhk9O0s



みんなで選ぶニコ生重大事件 2012
http://vote1.fc2.com/browse/16615334/2/
2012年 ニコ生MVP
http://blog.with2.net/vote/?m=va&id=103374&bm=
2012年ニコ生事件簿ベスト10
http://niconama.doorblog.jp/archives/21097592.html


生放送の配信者がFME切り忘れプライベートを晒す羽目に 放送後に取った行動とは?
http://getnews.jp/archives/227112
FME切り忘れた生主が放送終了後、驚愕の行動
http://niconama.doorblog.jp/archives/9369466.html
台湾誌
http://www.ettoday.net/news/20120625/64810.htm

946 :名無しさん@そうだ選挙にいこう:2013/05/18(土) 23:58:27.45
質問です。

あるセルの中に関数を埋め込み、その結果が数字でセル上に表示されるんですが、
この関数の計算結果が0より大きい場合にのみセルを赤くしたいんです。
条件付書式で「N30>0」のようにやっても、
関数の文字列の存在が0以上で判定されるようで、実現不可能のようです。

何かいい案ありませんでしょうか

※VBA以外でお願いします。ver2010です

947 :名無しさん@そうだ選挙にいこう:2013/05/19(日) 00:14:25.79
実現不可能じゃない
はい、次の方

948 :名無しさん@そうだ選挙にいこう:2013/05/19(日) 00:18:33.44
>>946
条件を入れ間違えてない?
○ 「=N30>0」
× 「N30>0」

949 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 00:03:48.43
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セル内に、【(マメ)○○○】や【(ソラ)○○○○】という文字列があります。○の文字数は10文字以内でランダムです。
この場合はセル内から○だけの文字を取り出すにはどういう式を書けばいいのでしょうか。
()の中の文字は必ず2文字です。

950 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 00:07:39.41
>>949
二つ方法を思いついた。
・置換
・=RIGHT(A1,LEN(A1)-2)
ただし後者は【○(マメ)○○】のような場合には使えない。
カッコは無いと思うけど、もしある場合は置換が手っ取り早いかな。
置き換えたくない場合は先にコピーするなり何なりしてくれ。

951 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 00:47:04.32
>>949
セルの中に入ってるデータはどっち?

【(マメ)○○○】
(マメ)○○○

太いカッコまでがデータに含まれるのかどうか

952 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 07:40:31.14
>>951
下の
(マメ)○○○

です。

>>950
最初の()の前に文字が入ることはないです。

953 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 07:42:24.23
あと、○は10文字以内といいましたが、ランダムで2文字〜20文字でした。

954 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 07:43:42.51
>>952
じゃあ、
=RIGHT(A1,LEN(A1)-2)
もしかして細い()も入る?入るなら
=RIGHT(A1,LEN(A1)-4)
もちろんA1には【(マメ)○○○】が入っていると仮定する

955 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 10:57:58.68
>>952
=MID(A1,5,20)

956 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 15:49:31.63
(マメ)の先頭にも○が有る無し関係なしで考えてみた。
FIND関数を使えば可能。

957 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 15:51:43.65
○に(が入る可能性

958 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 15:55:31.62
心配ない。
検索文字列を「(マメ)」にすれば良い。

959 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 15:57:33.69
(ソラ)だったらどうするんだよ?

960 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 15:58:26.03
\(..\)

961 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 16:00:29.35
マジで?

(そら)に変えれば良いだけ。

962 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 16:10:11.29
前パターン用意すんのかいな

963 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 16:24:29.29
何パターンあんだよ?

964 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 16:29:02.52
>>949によると
()内は2文字という情報しかない

965 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 16:45:29.25
ソラとマメの二つだけかと思ってました。

FINDじゃなくSEARCH関数ならできるかもな。

966 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 17:59:30.50
てゆーか950で答えが出てるのに、質問者は何をgdgdとレスを続けてるんだ?

967 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 22:10:31.20
Excel2003でネットワークドライブ上の共有ブックを開いた時に、
他に誰も使ってないはずなのに
「ブックが”他のユーザ”により使用中のため開けません」という感じの
メッセージが出て読み取りげ亭でしか開けないことがあるのですが…
これは避けられない現象なのでしょうか?

968 :名無しさん@そうだ選挙にいこう:2013/05/20(月) 23:03:08.71
>>950だと結果が
ラ)○○○○○
になるじゃん
先頭の4文字を削るんなら>>955が正解

969 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 00:19:09.94
>>967
ttp://oshiete.goo.ne.jp/qa/535984.html
TEMPファイルが残ってる可能性があるので、全PC、サーバーも再起動。

970 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 10:59:53.50
無印Excel 2000を持ってて SP3にアップデートしようとしました。
必要とされているバージョンの製品がありません と怒られたので調べたところ、SP1を入れてからだとSP3が入るという記事を見つけました。
しかしSP1を置いてる場所がわかりません。
どなたかご存知ないでしょうか。 ほとほと困っています。

971 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 11:01:15.39
↑ すみません
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

972 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 11:48:15.89
>>970-971
office2000 sp1
でぐぐれば出てくると思う。
検証する奴はいなさそうなので自力で頑張れ

973 :ぴころ ◆lHG3Yzo0a6 :2013/05/21(火) 12:19:21.16
Office2000はSP1ではなくてSR-1というのがありましゅ(^▽^)
でもマイクロソフト社はOffice2000 Updateのサービスを、2009年08月01日で終了しました(^▽^)
Office2000の自動アップデートのWebサイトは閉鎖でしゅ(^▽^)


しかし検索してみるとSR-1の入手方法はあるようでしゅ(^▽^)
検証はしていません(^▽^)

Office2000 SR-1を入手する
http://pcclick.seesaa.net/article/158323723.html

Office 2000 SR-1 更新プログラム(o2ksr1.exe)を入手したい
http://answers.microsoft.com/ja-jp/office/forum/officeversion_other-office_install/office-2000-sr-1/90e0da91-00a8-4645-9761-c3944a38c229

974 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 12:20:48.65
2010買えばいいやん サポートない製品なんだからSP1があっても公式じゃないだろうし 得体のしれないウイルス入ってる可能性もある

975 :ぴころ ◆lHG3Yzo0a6 :2013/05/21(火) 12:54:29.40
検証してみました(^▽^)

リンク先が死んでました(^▽^)

お詫び申し上げましゅ(^▽^)

976 :970:2013/05/21(火) 13:44:07.54
皆さん色々なヒントをありがとう。
ぐぐって探して見ます <(_ _)>

977 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 19:14:14.42
>>970
下記サイトで一応載ってたのでもしかしたら使 えるかもよ
ttp://gold.ap.teacup.com/imi05/138.html

978 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 20:05:01.15
ん? ぴろこって新手のコテハン先生か?w

979 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 20:24:19.17
コテハンぴころを知らないってとんだニワカだな
もう10年以上前からいるよ

980 :ぴころ ◆lHG3Yzo0a6 :2013/05/21(火) 20:33:23.78
>>979
あんた誰?(^▽^)

981 :ぴころ ◆lHG3Yzo0a6 :2013/05/21(火) 21:25:01.56
るん

982 :ぴころ ◆lHG3Yzo0a6 :2013/05/21(火) 21:51:45.14
>>981
けけけ(^▽^)

983 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 22:18:32.61
そろそろ

984 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 22:28:13.89
Access VBA 質問スレ Part1
http://toro.2ch.net/test/read.cgi/tech/1328536426/

VBプログラマ質問スレ(Ver.6.0 まで) part62
http://toro.2ch.net/test/read.cgi/tech/1360914852/

985 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 22:28:42.11
これいらなくね

986 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 22:29:15.98
>>979
2ちゃん歴13年だが、正直知らんわw
このスレで知ってる(覚えてる)コテは、複乳しかいないw

987 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 22:47:53.63
>>986
ぴころの主な生息地はWin板とお花畑板

988 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 23:27:02.25
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

sheet1   sheet2
  A     A 
1 95     95
2 80     90
3 60     80
4 50
↓sheet3に送る
sheet3
  A 
1 100
2 80
3 60
4 50
5 95
6 90
7 80

sheet1とsheet2のデータをsheet3に送りたいです。
sheet1,2の列Aは固定ですが、行はランダムです
VBAを使えば簡単なことですが、VBAは使わずやりたいのですどのような方法があるでしょうか?

sheet1,2の行はランダム対応ができるのがベストですが
多めみて100で固定などをしてもOKです。

989 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 23:29:54.53
sheet3の数値の意味が分からん
なんで100になるの

990 :名無しさん@そうだ選挙にいこう:2013/05/21(火) 23:30:23.14
>>988
sheet3は↓でした

sheet3
  A 
1 95
2 80
3 60
4 50
5 95
6 90
7 80

991 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 00:29:19.02
マクロで、Forを二重にしたとき、Next i とかで区別できます。
For i=1 to 10
 for j=1 to 5
  hogehoge
 Next j
Next i

Doを二重にする場合は、コンピュータがどっちのLoopかを
判断してくれるのでしょうか?

Do While a >= 10
 Do While b >= 5
  hogehoge
  b=b+1
 Loop
 a=a+1
Loop

992 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 00:31:51.22
訂正

Do While a >= 10
 Do While b >= 5

    ↓

Do While a <= 10
 Do While b <= 5

993 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 00:39:11.41
基本的に制御構造の入れ子はその時点で対応する先頭に戻ると思う
内側から外側に一気に抜けられるFor Nextの方が例外的なのでは…

994 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 01:49:45.86
>>991
Forの場合でも、Nextに変数名を書かなくても、コンピューターは並んでる順番で区別してくれる

995 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 06:18:38.89


996 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 07:38:05.90
変数省略すると ちょっとだけ速度が落ちる

997 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 07:59:03.10
ケツにつけるだけなら普通にコピーすればいいじゃん

998 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 10:08:26.16
立てた
スマンが急いでるので誰かテンプレ頼む

Excel総合相談所 109
http://toro.2ch.net/test/read.cgi/bsoft/1369184868/

999 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 10:09:06.61

http://toro.2ch.net/test/read.cgi/bsoft/1369184729/

1000 :名無しさん@そうだ選挙にいこう:2013/05/22(水) 10:28:41.32
>>999が先か

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

306 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)