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

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

Excel総合相談所 96

1 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 20:08:12.19
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  ttp://www.google.co.jp/

前スレ
Excel総合相談所 95
http://hibari.2ch.net/test/read.cgi/bsoft/1293162589/

2 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 20:08:30.07
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 20:08:44.45
★ルールを無視すると…
 >>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 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 20:08:57.77
★ 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 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 20:09:08.51
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2010についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

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

以上でテンプレ終わり (Excel総合相談所 94からコピペ、一部改定)。

6 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 20:17:36.60
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

7 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 21:41:44.49
スレッド変わってみてないかもだから、
989の方、981です。ありがとございました。

8 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 22:02:27.15
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

お願いします。

・Sheet1のJ列の値がゼロまたは空白ではない場合
 Sheet1のJ列の値をSheet2のA1にコピー。
 Sheet1のA列の値をSheet2のB1」にコピー。 
 Sheet1のB列の値をSheet2のC1にコピー。
・Sheet2を別の新規ブックで保存。 (自パスに)
 ファイル名は「Sheet1のB列の値+Sheet2のシート名.xls」
※上記をSheet1の2行目からB列に値がある最終行まで繰り返します。


9 :名無しさん@そうだ選挙にいこう:2011/03/08(火) 23:20:44.56
>>993
ありがとうございます。
頂いた画像を見ながら考えています。


>>996
貰った表がこんな感じで、そこから項目名をくっ付けて
下の表に横並びで書かなければいけないのでこうなってしまってるのです。



上図の様な表が、個別にあと300個くらいあってそこからも一致する値を見つけ出して、下図の横に配置すると言う感じです。
関数で無理ならVBAしか無いと思ってるんですが、上の図の形を崩さずに抽出する方法はありませんか?

10 :名無しさん@そうだ選挙にいこう:2011/03/09(水) 00:10:23.80
>9
>上図の様な表が、個別にあと300個くらいあって〜

ちょっとおたずねします
シートが300くらいあるの? それとも前スレ>992でアップされた表でいうと B3:F10 のような表の
行数が300くらいあって、その下に B15:B65 の1次元の表が続くような感じですか?

11 :10:2011/03/09(水) 01:18:50.70
>9
こんなのでいいのかな? このマクロはシートに書いてください。
Option Explicit
Dim c_i As Range, find_area As Range, c As Variant
Dim m As Integer, x As Integer, y As Long, w As Variant, z(4) As String
Sub 前スレ992()
 Set c_i = Range("B3")  '←上の表の左上隅のセル位置
 Set find_area = Range("B16:B65") '←下の表の範囲
 find_area.Cells(1, 1).Offset(0, -1).Resize(find_area.Rows.Count, 1).ClearContents
 z(1) = "(" & c_i.Offset(0, 1).Value & "、" & c_i.Offset(1, 1).Value & ")"
 z(2) = "(" & c_i.Offset(0, 1).Value & "、" & c_i.Offset(1, 2).Value & ")"
 z(3) = "(" & c_i.Offset(0, 3).Value & "、" & c_i.Offset(1, 3).Value & ")"
 z(4) = "(" & c_i.Offset(0, 3).Value & "、" & c_i.Offset(1, 4).Value & ")"
 y = 0
 Do
  For x = 1 To 4
   w = c_i.Offset(y + 2, x).Value
    If IsNumeric(w) And w > 0 Then
    Set c = find_area.Find(What:=w)
    If Not (c Is Nothing) Then
     c.Offset(0, -1).Value = c.Offset(0, -1).Value + 1
     m = c.Offset(0, -1).Value
     c.Offset(0, m).Value = c_i.Offset(y + 2, 0).Value & z(x)
    End If
   End If
  Next x
  y = y + 1
 Loop Until (c_i.Offset(y + 2, 0).Value = "")
End Sub

処理対象セルは横方向に4列移動してから次行に移るので、前スレ992の例と出力順が異なります。
上の表にある数字が下の1次元の表にないときは出力しません。(前スレ992の表だと250のこと)

12 :11:2011/03/09(水) 01:27:48.86
補足
ClearContents の行は、下の表の左隣を作業用として使っている(出力列の相対位置を記録)ので、
毎回クリアするためのものです。なので、下の表がA列にあるとまずいです。
あと、Excel2003までは最大列数が256なので、特定の値にデータが集中するとオーバーフローするかも。

13 :名無しさん@そうだ選挙にいこう:2011/03/09(水) 03:35:08.35
>>8
文通りだとA1B1C1を何回も変えることになるからエスパーした
Sub aaa()
Dim a, b, c, d, e, f, g
Application.ScreenUpdating = False '描画更新ストップ
a = ThisWorkbook.Path & "\Sheet1のB列の値+Sheet2のシート名.xls"
If Dir(a) <> "" Then
MsgBox "すでにあるよ"
Exit Sub 'すでに存在してたら終了
End If
Set b = Workbooks.Add '新規ブック作成
b.SaveAs Filename:=a
b.Activate
Set e = Sheet1
Set f = b.Sheets("Sheet1")
Set g = b.Sheets("Sheet2")
c = Sheet1.Columns(2).End(xlDown).Row
'〜続く〜


14 :名無しさん@そうだ選挙にいこう:2011/03/09(水) 03:35:50.47
'〜続き〜
For d = 2 To c
If e.Cells(d, 10) <> 0 Then
f.Cells(d, 10) = e.Cells(d, 10)
g.Cells(d, 1) = e.Cells(d, 10)
f.Cells(d, 1) = e.Cells(d, 1)
g.Cells(d, 2) = e.Cells(d, 1)
f.Cells(d, 2) = e.Cells(d, 2)
g.Cells(d, 3) = e.Cells(d, 2)
End If
Next
Application.EnableEvents = False '警告メッセージを出させない
b.Save '新規ブック保存
b.Close '新規ブック閉じる
Application.EnableEvents = True
Set e = Nothing
Set f = Nothing
Set g = Nothing
Application.ScreenUpdating = True
End Sub

違ったらすまんこ

15 :名無しさん@そうだ選挙にいこう:2011/03/09(水) 08:58:25.99
初心者です。A 列に最大4桁の数字が入っています。
この数字を 例えば 12とあれば、国語12点 1356とあれば、国語1365点
9とあれば、国語9点
となるように 数字の頭と尻尾に文字を入れたいのですが
教えてくれませんか?

16 :名無しさん@そうだ選挙にいこう:2011/03/09(水) 11:19:20.70
>>15
右クリック→書式設定→ユーザー設定→"国語"0"点"

17 :名無しさん@そうだ選挙にいこう:2011/03/09(水) 12:37:07.55
ありがとうございます。やってみます。

18 :名無しさん@そうだ選挙にいこう:2011/03/10(木) 16:34:22.71
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

初めまして皆さんのお知恵をお貸し下さい。
ttp://www1.ttcn.ne.jp/yh006/YH006.files/musen/rp.files/kako.files/GCI/GCI.htm
↑のページ(真ん中辺り)にある
周波数を入力すると、該当周波数を使用者&その他
で出力させたいのですが
どんな風にすればいいでしょうか?

19 :名無しさん@そうだ選挙にいこう:2011/03/10(木) 17:28:00.71
>>18
VLOOKUPとかで

20 :名無しさん@そうだ選挙にいこう:2011/03/10(木) 22:26:48.76
>>18
出来るとしても俺は手を貸さない。

21 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 00:13:58.46
はじめまして、失礼します。
今現在以下のような表を作っています

 A   B      C   D  E F  G… W
1名前 可不可   数  @ A B C… S
2Aサン  0(不可) 
3Bサン  1(可)    6  ○
4Cサン  0    
5Dサン  1      0
6Eサン  1      4      ×
7Fサン  2(×のみ可) 2



この様な感じで横は@〜Sくらいまで
縦は30人くらいまで作っています。
この表を改良していき、次のことをしたいのです


22 :21:2011/03/11(金) 00:17:00.80
ごめんなさい・・・上のテンプレが切れてました;
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

1,D列(@)でRAND関数を使い乱数を求め、その数値の最大・最小が誰かを出す
2,最大を○・最小を×として、D列のその人の行にそれぞれ○、×を表示
(*1.この時にB列(可不可)が0になってる人はとばす、3になってる人は最小の時のみ表示)
(*2.先にD列〜に○、×を入力している人はそこは○、×にする)
3,○か×がついたらC列(数)に入力した数から-1する。この数が0になったらそれ以上その人に○、×をつけない
4,それをE列(A)、F列(B)…と繰り返していき、それぞれに○、×を表示する
(*3.C列(数)はあらかじめ合計が40になるように入力します)
(*4.A列には上から名前を入力しますが、後半は空欄が出ます。そこは乱数を求めなくていいです)

最終的にD~W列(@〜S)に○、×がそれぞれ一つずつ、
それぞれの人にC列(数)で入力した数だけの○+×が
出ているようにしたいです。
これをボタンを押すことによって計算させるようにしたいのですが…

ここ数日色々と試行錯誤したのですが、どうにもうまくいきませんでした。
もちろん、表の形は変わってしまって構いませんし、RAND関数なども使わなくて大丈夫です。
もしこれが可能そうな方がいましたら、どうか教えてください。
よろしくお願いします。

23 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 01:28:17.36
>>21
RAND関数はワークシートを表示するたびに数値が変わるので、ハードディスクに保存した物を
呼び出すごとに、完全に結果が変わってしまいますが、それでいいのでしょうか?

また、RAND関数と判定結果(○×)は同じセルに入れることが出来ないので、
別の列か別のシートを用意して、そこに数字を入れておく必要があります

RAND関数を使わない場合、○の人と×の人はどうやって決めるのでしょうか?

24 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 05:54:39.63
>>21-22
VBAの方が楽だろうな

とりあえずブックうpして
暇なときにコード組み込んでうpし直してあげるから

25 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 06:45:49.67
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007(ではあるが、2003形式で作成)
【3 VBAが使えるか    .】 うーん
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 偶数 抽出

賞状作りをしています。番号と名前、その他情報が振られた表を作成し、
以下のようにマクロで呼び出されるTextBox1〜2に番号を入力すれば
自動で賞状の枠に名前等がリンクされ一気に印刷できるというものを作りました。
しかし、これだと一回の印刷で1枚しか印刷できず、時間もかかり紙も勿体ないので
1回の印刷で一度に2枚分を出したいと考えました。
仮に、A5サイズの賞状枠を二枚並べ、A4として出します。
片方1とするならば2、次の印刷では3と4の番号が入力されるようにしたいのです。
Mod関数を利用すれば偶数奇数に表を分離することが出来そうですが、
それをこの関数に絡ませる知識が全くありません。良い知恵があればよろしくお願いします。

Private Sub CommandButton1_Click()
Dim BAN As Long, 開始 As Long, 終了 As Long

Unload Me

開始 = CLng(Me.TextBox1)
終了 = CLng(Me.TextBox2)

For BAN = 開始 To 終了
[Y1] = BAN

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Next

Selection.Select

26 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 06:57:38.34
>>23 俺も文面通りRNDの値を入れたいのかと思ったがおそらく○×だけだとおも
×のみ可が>>21で2で>>22で3になってるけど2で作った
×のみ可が複数いなければもっと簡単になる(×のみ可だけ残ると詰むから)
Sub aaa()
Dim a, b, c(4 To 23), d(100), e, f(), g, h(100), i, j
a = Columns(1).End(xlDown).Row
ReDim f(a)
Range(Cells(2, 4), Cells(a, 23)).Clear
For b = 2 To a
If Cells(b, 2) = 2 And Cells(b, 3) <> 0 Then 'aaa
g = 0
For e = 0 To 19
If d(e) <> 1 Then
h(g) = e
g = g + 1
End If
Next
For e = 1 To Cells(b, 3)
i = Int(Rnd * g)
Cells(b, h(i) + 4) = "×"
d(h(i)) = 1
'〜続く〜

27 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 06:58:13.92
'〜続き〜
For j = i To 18
h(j) = h(j + 1)
Next
Next
ElseIf Cells(b, 2) = 1 And Cells(b, 3) <> 0 Then
f(b) = Cells(b, 3)
End If
Next
For b = 4 To 23
g = 0
For e = 2 To a
If f(e) > 0 Then
h(g) = e
g = g + 1
End If
Next
i = Int(Rnd * g)
Cells(h(i), b) = "○"
f(h(i)) = f(h(i)) - 1
If d(b - 4) <> 1 Then
'〜続く〜

28 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 06:58:28.62
>>25
For BAN = 開始 To 終了 Step 2

1回目のループでは、BAN=1なので

 1:= BAN
 2:= BAN + 1

2回目のループでは、BAN=3なので

 3:= BAN
 4:= BAN + 1

3回目のループでは、BAN=5なので

 5:= BAN
 6:= BAN + 1

29 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 06:59:24.77
'〜続き〜
For j = i To a - 1
h(j) = h(j + 1)
Next
i = Int(Rnd * (g - 1))
f(h(i)) = f(h(i)) - 1
Cells(h(i), b) = "×"
End If
Next
End Sub

'B列の(可)とかは文字になっちゃうから消してね


30 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 07:27:08.34
>>20
どうして?

31 :21-22:2011/03/11(金) 09:31:06.21
>>23
>RAND関数はワークシートを表示するたびに数値が変わるので、ハードディスクに保存した物を
呼び出すごとに、完全に結果が変わってしまいますが、それでいいのでしょうか?
やっぱり変わってしまうんですよね><マクロとか使えば何とか…と思って頑張ったのですが;;

>RAND関数を使わない場合、○の人と×の人はどうやって決めるのでしょうか?
RANDから最大と最小で○、×を出したのは他に方法が思い浮かばなかったからで、○・×を出せればどのような方法でも大丈夫です

>>24
ありがとうございます
うpしてみましたので、見てくださるとありがたいです
ttp://www.dotup.org/uploda/www.dotup.org1413695.rar.html

>>26
×のみ可は2です。失礼しました;
それと早速VBAありがとうございます
試してみたいと思います

32 :21-22:2011/03/11(金) 09:40:53.15
すみません!すっかり大事な条件を忘れてました・・・
○か×が来たら、その後ろ3マスは○も×も入れないようにしたいです><
今更になってしまい申し訳ないです;;

33 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 11:10:26.20
> ○か×が来たら、その後ろ3マスは○も×も入れないようにしたいです

その条件だと明らかに詰みますよ
例えば

1 Aサン  0    
2 Bサン  1 2    ○
3 Cサン  1 5 ○ ×
4 Dサン  2 3 ×


2回目まで終わって、さて次に何処に○入れる?
Aサンは「0 不可」だから除外、Bサンは一つ前に○来たから除外
Cサンは一つ前に×来たから除外、Dサンは「2 ×のみ可」な上に二つ前に×来たから除外

ほら、○どころか×も、どこにも入れられない

序盤は良いけど、終盤はこうやって何処にも何も入れられずに詰み
詰んだ場合はどうする?そこで処理終了?詰んだ場合のみ「その後ろ3マスは」の条件外して続行?

34 :21:2011/03/11(金) 11:18:52.30
やっぱり詰んでしまいますか・・・
15人くらいはいるから最初の方は大丈夫だと思うのですが、終わりになるにつれ詰んでしまいますよね
3マス条件は外せないので少し前からやり直しに…は出来ないですよね

35 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 11:34:48.65
おそらくシフトの作成でしょ
大方、○×は夜勤で、○が夜勤のリーダーさん
夜勤入り始めの新人さんはリーダー役出来ないから×のみとかそんな感じ

はっきり言って詰んだ場合は、途中からじゃあまり意味無いので
最初からやりなおすしか無いけど、それを繰り返すことはVBAならいくらでも可能

ただし、詰まずに結果が出るまでどのくらい掛かるか解らないし
うpしてくれたブックの条件なら、確実に「詰まない結果」は存在するけど
条件によっては「詰まない結果」がそもそも存在し得ず、
無限ループに陥る可能性もあるけど、それでも良いの?

36 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 12:23:35.31
シフト作成ならソルバーつかえばいいのに


37 :21:2011/03/11(金) 13:14:07.80
>>35
素晴らしいです、お察しのとおりシフトを作りたいです
まさか夜勤まで当てられるとは・・・

無限ループは怖いですね…
途中でとめられるようなら何とか><

38 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 13:28:41.39
>>37
なるほど、だから直後の3つは絶対に空白にしたいわけね

こういうのって勝手に決めるんじゃなくて、みんなの都合を聞いて作るんじゃないの?
あと、ランダムに決めるんじゃなくて一定の決まったパターンにしないと間違いが起こりそう

39 :21:2011/03/11(金) 13:32:09.85
ちなみにこちらが自分で作っている勤務表です
ttp://www.dotup.org/uploda/www.dotup.org1413942.rar.html

勤務回数は休み10前後、夜勤5前後、早番3前後、2番2前後であとは適当に
夜勤、明け、休みをセットにしてその後にはなるべく夜勤が来ないようにする
一日のシフトは日曜は早番、2番、3番、4番。月〜金曜は6番〜8くらいまで
となるよう考えています

基本を教えていただいて後は自分で頑張ろうかと思ったのですが…
VBA見てると自分ではとても出来そうにない;;


40 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 13:46:13.49
>>37
途中で止められるようにも出来るけど、処理速度が落ちるんで
とりあえず数百回ループ回してダメなら一旦終了させ、任意で再度実行としようか?

適当に組んでみたけど、うpしてくれたブックの条件で結果が出るまでのループ回数は、
数十回試した上で、最大380、平均すると100回前後
500回のループ回すのに、数年前のPenM2GHzのPCで1秒掛からない程度だから
とりあえず使えないことはないだろう

ただ休暇の希望とかも出るだろうけど、そういうの一切無い条件で組んじゃったし
21がVBA使えないとなると、そういう細かい調整出来ないだろうから、実用可能かは
解らないけど、それで良いならうpするけど

41 :21:2011/03/11(金) 13:54:38.54
>40
それで構いません!
VBAはほとんど使えないけどこれを機会に少しずつ勉強して…

42 :VBA厨:2011/03/11(金) 14:23:38.10
>>41

ほれ
http://www.dotup.org/uploda/www.dotup.org1414006.xls.html

DLパス:up_hyou


あと、このやり方だと、回数が少ない奴(最大6、平均4.6に対して3回)は
夜勤が前半に集中する。乱数で平等に割り振る以上、
回数の少ない奴ほど早く回数が尽きる=尽きる前(前半)に夜勤が集中し、尽きた後(後半)には一切無い
ってことになるが、この辺も必要なら勉強して変えてみな

43 :21:2011/03/11(金) 14:29:15.98
>>42
ありがとうございます
前半に偏ってしまうのは悲しいですね…ちょっとそこも考えてみます
ちらっと見ましたが軽く眩暈がしました><エクセル自体ほとんどいじったことなかったので;
かなり大変なことになりそうです^^;

44 :VBA厨:2011/03/11(金) 14:39:30.34
まあ前半に集中するのは傾向であって、必ずしも前半のみになるわけじゃなく
3回の奴でも29、30あたりに夜勤が出てくることもあるけどね

あと、コードを移植する場合、クラスモジュールにもコードがあるので注意してね
これもちゃんとクラスモジュール作って移植しないと動かないから

45 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 14:58:45.33
驚いた。

46 :名無しさん@そうだ選挙にいこう:2011/03/11(金) 22:18:39.13
>>39
夜勤のあとは明けと休みを自動で入れるんだよな?てことは前の月の夜勤の続きの明けと休みは手書きで書いておくのか?
あと早番とか日勤も夜勤と同じように当てはめていくのか?かなり難しい気がするが…出来ないんじゃないか、詰んで

47 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 05:57:17.57
二点質問です。

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】ソルバー 使い方、エクセル 複利計算

@ソルバーについて
以下のように記入しています
a1~d1に12.3、34.5、56.7、78.9
a2~d2に0.9、0.8、0.7、0.6
a3~d3に0、0、0、0
a4~d4にroundup(a3,-1)、roundup(b3,-1)、roundup(c3,-1)、roundup(d3,-1)
a5~d5に=a1*a2*a4、=b1*b2*b4、=c1*c2*c4、=d1*d2*d4
d6に=sum(a5:d5)
(数字の変化を10刻みにしたいと思っています。)

ソルバーの設定は
【変化させるセル】a3:d3
【目的セル】d6
【制約条件】なし
【目標値】値 10000

これで実行すると、仮の解が見つかりません、と出ます。
どこがおかしいのでしょうか?

A複利計算について
a1に10000(初期値)、a2に5%(増加率)、a3に500(増加数)、a4に20(経過日数)
として、((((10000+500)*1.05)+500)*1.05)...
みたいな感じで20日分、1セル内の計算でやりきるには、
どうすればよいのでしょうか?

48 :47:2011/03/12(土) 07:24:03.79
複利については自己解決しました。

49 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 08:00:06.97
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】保護 移動 カーソル ロック 出来ない

VBAのスレで質問したんですが、こちらだったみたいなので
こちらで質問させてもらいます。

保護について教えて下さい。
シートを保護する時にロックをしてるセルを選択出来なくなる
する奴あるじゃないですか?
あれをやると時々エクセルの挙動がおかしくなります。

矢印キーが効かなくなったり
アクティブセルの周りに普段なら出る黒い枠線が出なかったりとか。
スクロールロックが掛かってるとかそんなんじゃないです。

前から時々なってて、ぐぐって調べたんですが
特にこれと言って解決策が見つかりません。
これだという絶対的な発生条件も不明です。なったりならなかったりします。

50 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 08:05:54.85
おう、マルチになっとる…。知恵袋とかで聴くか

51 :21:2011/03/12(土) 11:11:10.65
>>46
出来れば夜勤が出たらその後ろに明け休みも自動で表示されるようにしたいです
前の月からの夜勤の続き(明け、休み)は希望勤務に先に入力するようにします
夜勤が全部出たらそれをふまえたうえで早番、2番〜も同じように?出すつもりです

ただ教えてもらったり、途中まで作っていただいたものを見ながら色々調べて勉強してますが
正直自分で作れる気がなくなってきましたね…

52 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 12:54:56.69
>>28
よもや「step 2」をお尻に入れるだけで出来るようになるなんて……
どうもありがとうございました。とてつもなく助かりました。

53 :VBA厨:2011/03/12(土) 15:08:18.59
>>51
> 出来れば夜勤が出たらその後ろに明け休みも自動で表示されるようにしたいです
どういう文字や記号を入れるのか教えてくれれば簡単に出来ます

> 前の月からの夜勤の続き(明け、休み)
これも情報があれば簡単に対応可能です
情報というのは、例えばC列の後ろに列を挿入し、前の月が31日までなら、
31日に夜勤だった奴は1
30日に夜勤だった奴は2
29日に夜勤だった奴は3
というように、1日時点で前回の夜勤から何日経っているかとか、(4日以上なら不要)
前月の末3日分のシフトをコピペする欄を用意するとか(但しこの場合は
人が減ったり増えたり入れ替わったりした場合にズレるので注意)

このくらいなら時間くれれば作ってやってもいい

但し条件が一つ
今回の地震の募金が始まったら、1000円以上寄付すること
1日も経たないうちに>>51みたいな書き込み出来るってことは被害の大きい地域では無いようだし
上記だけで1000円は高いけど、前回>>42分も合わせればそんなに高くは無いだろ

54 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 17:52:53.60
EXCEL2007,Windows7です。

循環参照のエラーメッセージで出ているのを無視して作業していたら
データが消えてしまいました。
データを復元する方法があれば教えて下さい。

<現象>

(1)マイドキュメント内の
 問題ファイルABC.xls(97-2003形式;サイズ709KB)を
ダブルクリックして開く
 →「循環参照の警告〜」メッセージ表示
→[OK]→グレーの画面が表示される(Sheet非表示、タイトルはABC)。

(2)EXCEL起動→[Officeボタン]→右側に表示されるファイル名ABCを選択
 →「循環参照の警告〜」メッセージ表示
→[OK]→タイトルがBook1になり、白紙のSheet1(Sheet2,Sheet3タブ)が
  表示される。

 ※循環参照の説明画面表示と閉じる操作は省略

よろしくお願いします。


55 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 19:05:21.50
白紙になってから上書きしてないなら、今開いてるのを 別名保存でもしてABC.xlsを開き直す

既に上書き済みかつ自動保存もしてないなら無理、諦めろ、そして
今回の授業料:無くなったデータ
今回の教訓:バックアップはこまめに
ということで

56 :21:2011/03/12(土) 20:43:28.94
>>53
"夜勤1"と"夜勤2"の後ろに"明け"で"休みです

それでは別欄に先月最終日前が夜勤だった人と最終日が夜勤だった人を
入力する欄をあらかじめ作っておいてそこに入力する形で

募金の件は了解しました
こういう機会でもないとあまり募金はしないのでよい機会だと、させていただきます

57 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 21:36:35.10
>>54
googleが1秒以内に検索結果を出してくる今時後出しで「俺も初めから知ってた」か…
ここまでの馬鹿は初めて見た

58 :21:2011/03/12(土) 21:47:50.04
>>53
わがままを言うようで申し訳ないですが、これに入れてもらっても大丈夫ですか?;
http://www.dotup.org/uploda/www.dotup.org1417260.xls.html
VBA見ててもどこがB,C列を指定しているのか全然分からなくて…

59 :54:2011/03/12(土) 21:55:05.33
>>55
レスありがとうございます。


60 :名無しさん@そうだ選挙にいこう:2011/03/12(土) 21:56:13.10
>>54
ウィンドウズ7ならファイルの復元でもどるよ

61 :21:2011/03/13(日) 00:10:27.58
>>53
パソコンからの募金の方が早いと思い最初に目に付いたハンゲームさんで赤十字社に募金しました
http://www.dotup.org/uploda/www.dotup.org1417614.bmp.html
http://www.dotup.org/uploda/www.dotup.org1417615.bmp.html

作っていただいたものの様子を見てまた募金したいと思います

62 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 02:55:21.13
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL コンテキストメニュー onaction

コンテキストメニューからマクロを実行させたいんですが
なぜか実行できません原因が分かる方がいたら教えてください。

ソースは下のような感じで
sample1を実行して、コンテキストメニューにコマンド1を追加して
コンテキストメニューからコマンド1を選ぶと

マクロ"Book1.xls'!myMacro1' を実行できません。このブックでマクロが使用できないか、
すべてのマクロが無効になっている可能性があります。

とエラーが出てしまいます。
しかし[開発]-[マクロ]からmyMacroを実行させるときちんと動きます。
これって何が原因なんでしょうか?

Sub Sample1()
With Application.CommandBars("Cell").Controls.Add()
.Caption = "コマンド1"
.OnAction = "myMacro1"
End With
End Sub

Sub myMacro1()
MsgBox "印刷を実行します"
End Sub


63 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 14:01:23.01
>>62
シートモジュールではなく標準モジュールに
Public Sub myMacro1()

64 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 14:49:50.74
重複のリストを作ろうとしてるのですが
例えば
  A     B     C    D
山田    山本    山本 2
中村    世路塚  中村  2
瀬戸    古山
山本    坂村
長川    中村

このように C に重複したものを D には
重複した数を表記したいのですどのようにすれば
よいのでしょうか? よろしくおねがいします。

65 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 15:39:21.13
>>64
D1=COUNTIF(A:A,B1)
下にオートふいる。これでB列の名前で重複してるものが1以上になる
後はBをCにコピーなりしてD列を値で貼り付け、並べ替え

66 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 18:58:35.96
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい

マクロで計算してるとき、数字と文字だと計算できないのでエラー13になります。
このときだけ、その計算式を飛ばして続行させるには、どう書けばいいですか?

Sub Macro1()

 a = 2
 b = "b"
 c = a * b ←ここでエラーになる

End Sub

67 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 19:10:27.38
IfでIsNumeric検査するのが基本だが
On Error Resume Nextで強引に通す方法もある

68 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 19:11:39.53
>>66
if文でbが数字か判断してはじくか<On Errorで処理続行。

69 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 20:11:04.61
今、単語帖を作ろうと思ってます。
英語の文章から単語を収集したいのですが、
例えば
I love you. Do you like car.
とあるとき
I
love
you
.
DO
you
like
car
.
というように自動的に変えるにはどうすればよいのでしょうか?
Excelは2003を使っております。


70 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 20:17:19.42
>>69
VB使用ならsplit使って配列化&セル書き込み。

71 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 20:34:32.53
>>69
区切り位置でスペースで区切る。
そのあと行と列を入れ替える。

↑この工程をマクロで記録しておく。

72 :69:2011/03/13(日) 21:50:04.28
>>70
>>71
ありがとうございました。やってみます。

73 :66:2011/03/13(日) 22:11:59.57
ご回答ありがとうございます。

>>67
On Error Resume Nextは、できれば使いたくないです。
でも、計算する前に設定して、計算が終わったら解除が簡単かも。

>>68
前者は数字か否かの法方を調べてみます。
後者は、どういうことでしょうか?

If Error = エラー13 Then みたいな分岐はできないでしょうか?

74 :名無しさん@そうだ選挙にいこう:2011/03/13(日) 22:40:06.20
>>73
>If Error = エラー13 Then みたいな分岐はできないでしょうか

可能。On Error Resume NextとErr.Numberを使用する。つまり

If Err.Number = 13 Then

みたいにすればいい。


75 :66:2011/03/13(日) 23:14:38.96
>>74
ご回答ありがとうございます。
明日の早朝から停電なので、もう寝ます。
すみません。

76 :21:2011/03/14(月) 04:53:39.83
>>53
ニュース見てまだ想像以上に酷いと知った
早いほうがいいと思い期待値ということで5000円義援金募金しました

77 :VBA厨:2011/03/14(月) 10:47:17.42
>>76
募金ありがとうございます

とりあえず形になったので「vba@inter7.jp」にメール下さい
募金の交換条件をお願いしておきながら、関係ない人にまでばらまいたら
筋が通らないので、返信メールにファイル添付します

ただし、仕事と停電の関係で、返信は遅れるかもしれません

お約束の
・「○」「×」の替わりに「夜1」「夜2」を入力し、その後に「明」「休」を自動入力
・前月末の夜勤状況を入力することで、繰越の「明」「休」入力の自動化と、そこに夜勤割り振りの禁止

・夜勤回数が少ない者の夜勤が前半に偏らないように修正
 但し「偏る傾向」を修正しただけで、必ず満遍なく入るようにした訳ではなく完全ランダムなので、
 乱数の出方によっては、前半あるいは後半はたまた中頃に集中することもある
などを含め、
勝手にいくつかの機能を追加をしました

78 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 12:30:05.71
何、この腐ったやりとり

79 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 13:57:01.39

被災状況を鑑み、知識と労働力の提供の替わりに募金を促す奴

その意図を酌み取り、募金を承諾する奴

それを腐ったやりとりを茶化す奴

80 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 14:14:36.41
最初からメールでやれボケってことじゃ


81 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 14:56:30.41
最初は地震の前な件

82 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 15:20:40.64
確かにw

83 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 15:43:22.09
それもそうなだ

84 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 15:57:33.35
むしろ、「俺にくれ」じゃなくて「募金して」なのは、腐ってるどころか美徳を感じる
更には1000円って言われてるのに5000円募金する彼にも美徳を感じる

85 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 18:09:12.13
つーか、そんなの交換条件じゃなく言われるまでもなく募金しろと。

86 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 18:35:51.28
スレ違いだ。そろそろやめよヴぜ

87 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 18:53:12.46
つーか、チャリティー活動みたいなものだろ

88 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 21:37:39.15
windows vista のexcel2007で質問なのですが,テーブル機能とフィルタ機能の
2つの使い分けみたいな基準ってなんなのか簡単に教えてください。どちらも,同じような
機能のように思えてどう使い分ければいいのかよくわかりません。
よろしくお願いします。エクセルはあまりつかっていない初心者です。

89 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 22:31:33.02
フィルタはテーブル機能の一部です

90 :名無しさん@そうだ選挙にいこう:2011/03/14(月) 23:05:30.39
フィルタは,テーブル機能の一部なのに(どちらもよく使うので)タブ内ににどちらも表示されていると
いうことでいいですか?
どうもありがとうございました。

91 :名無しさん@そうだ選挙にいこう:2011/03/15(火) 15:40:50.44
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

お世話になります。
エンターキーを押すと横に移動する方法を教えてください。

92 :名無しさん@そうだ選挙にいこう:2011/03/15(火) 15:44:15.93
>>91
オプション > 編集 > 入力後にセルを移動する方向
を「下」から「右」に

byExcel2003


ただ、一時的にやるなら範囲選択という手もあるけど

93 :名無しさん@そうだ選挙にいこう:2011/03/15(火) 16:40:01.91
>>91
ご存じでしたらすいませんが、Tabキー押せば右に移動しますよ。

94 :名無しさん@そうだ選挙にいこう:2011/03/15(火) 19:05:29.79
>>91
2010の場合、
ファイル→オプション→詳細設定→編集設定→”□Enterキーを押した後にセルを移動する(M)”にチェックを入れ、方向(I)で”右”を選択。

95 :名無しさん@そうだ選挙にいこう:2011/03/16(水) 10:08:00.20
【Excelのバージョン】 Excel2010

B列に入力した項目がA列に無い場合に、入力したセルの色を変えるにはどうすれば良いでしょうか?

96 :名無しさん@そうだ選挙にいこう:2011/03/16(水) 12:35:19.38
>>95
ホーム→条件付き書式→新しいルール で設定してください。

97 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 00:42:12.94
【1 OSの種類         .】 Windows7 or Mac10.6
【2 Excelのバージョン   】 Excel2010 or 2011
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

VBAのユーザーフォーム上で他のExcelファイルを選択し、開けるようにしたいです(ハイパーリンクなどで)
その際にフォーム上にチェックボックスを配置し、そのオンオフによって読み取り専用/書き込み可を選択したいと思ってます
チェックボックスを使い、ファイルを読み取り専用で開くにはどうしたら良いでしょうか

98 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 00:52:21.01
>>97
ReadOnly:=True

これで理解できなければ君には無理

99 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 01:16:19.01
>>98
サンクス!

100 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 02:56:18.82
就活しています。
自宅のPCはExcel2002(OfficeXP)ですが、
中小企業さんではExcel2003が一般的でしょうか?

101 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 03:50:26.34
>>100
むしろ大きいところのほうが可能性は高いかもね。
なんせ、用意しなくちゃならないPCおよびソフトの量が半端じゃないもの。

102 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 05:53:15.69
>>100
大企業勤務だけど、大企業ほどまだ2003
中小はそろそろ変わってきてるんじゃね?
どっちかをしっかり勉強しておけば、他のバージョンにも対応できるよ

103 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 11:24:19.72
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007

R1 SUBTOTAL(109,OFFSET(R3,,,COUNTA($C:$C)-1,1))
現在上記の用に表示中のR列の合計を表示させています。

これに手を加えて、Q列が空の場合には無視してQ列に数字が入っている場合のみ合計する
という感じにするにはどうしたらいいでしょうか?

104 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 13:30:51.36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba 最小値

ある複数のセルに、0を含む任意の数が入っています。
その最小値をvbaで求めたいのですが、min関数だと0を返してしまいます。
求めたいのは、0以外の最小値です。
vbaを使わない方法はいくつか分かったのですが、vbaで処理したいと思います。
何か良い方法があれば教えていただけないでしょうか?

105 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 13:30:53.38
>>103
IF

106 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 13:34:48.14
>>103
IF関数使用。

107 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 15:56:30.28
>>104
worksheet.function

108 :103:2011/03/17(木) 16:44:33.46
質問がおかしかったorz

   P  Q  R 
01        ■
02 ー  ー  ー 
03 111 555 300
04 300    500
05  
06       100
07       999
08       1000 (非表示列)

99(可変)

A3-R99までデータが入っており、A2-R99までフィルタをかけています。
現在はR1に SUBTOTAL(109,OFFSET(R3,,,COUNTA($C:$C)-1,1)) が入っており、
R1には R3からR99の合計1,899 が表示されます

これに手を加えて、非表示列は無視しP行かQ行にデータがある場合のみ合計するという風にしたいのです。
この場合出力したい値は、800となります。

よろしくお願いします。

109 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 17:25:03.26
>>108
VBAで (>>3★2参照)

110 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 22:17:08.87
エクセルで出力した結果で複数ある中の任意のランプを光らせたい。
そういった質問はここでいいのかしら?

そういった用途のランプがあるかないか?
パソコンとランプの接続方法。
それらのプログラムというかそういった諸々へアプローチするためのウェブサイト。
以上の事を教えて欲しいの。

111 :名無しさん@そうだ選挙にいこう:2011/03/17(木) 22:22:55.90
>>110
プログラム板のほうがいいんじゃないか? 
つか、その回路はできているのか。

112 :名無しさん@そうだ選挙にいこう:2011/03/18(金) 00:00:47.65
>110
原始的な方法としては、画面上の複数のセルの背景を計算結果でそれぞれ黒と
白(塗りつぶしなし)にして、画面に密着させたフォトダイオードやCDSで光を
検知させる→トランジスタとリレーでランプを制御する というところかな。
(フォトダイオードなどは上記「複数のセル」に対応するように配置しておく)
PCと電気的に接続しないのでPCを壊すリスクはありません。

インターフェース・ボードを使う方法だとエクセルだけの知識ではムリ。

113 :112:2011/03/18(金) 00:40:39.19
>110
参考まで、インターフェース・ボードの説明書(pdf)です。
http://www2.contec.co.jp/dl_data/LYLK59/LYLK59_100728.pdf

これを見て理解できそうなら 学問・理系/電気・電子 板 へどうぞ。自分にはムリでした。

114 :名無しさん@そうだ選挙にいこう:2011/03/18(金) 20:51:44.83
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 sumif 複数条件 SUMPRODUCT 範囲

日付が混在しているリストで、3種類の個数合計を月毎に出力する
にはどうすれば良いですか?

[リスト]
  日付    項目  個数
2011/01/02 りんご  3
2011/01/03 ぶどう  2
2011/01/04 いちご  4
2011/01/10 いちご  3
2011/01/20 りんご  4
2011/02/10 いちご  1
2011/02/04 ぶどう  5
2011/02/15 いちご  3
2011/03/02 りんご  4
2011/03/10 いちご  3
2011/03/04 ぶどう  2

[出力]
・1月
りんご:
いちご:
ぶどう:
・2月
りんご:
いちご:
ぶどう:

115 :名無しさん@そうだ選挙にいこう:2011/03/18(金) 21:12:05.29
>>114
ピボットテーブル

116 :名無しさん@そうだ選挙にいこう:2011/03/18(金) 21:33:43.18
>>114
数式だけでやりたければ、作業列を作って
日付からMONTH関数で取り出した数値と項目を合体
(「=MONTH(A3)&B3」として「1りんご」とする)
で、この値を使ってSUMIF

117 :名無しさん@そうだ選挙にいこう:2011/03/20(日) 22:49:11.98
A  B  C
1  100  100
2  110  210
3  120  320





CにBの合計を表記したいです。
C1=SUM**:**)

教えてください。

118 :名無しさん@そうだ選挙にいこう:2011/03/20(日) 22:49:56.42
A  B  C
1  100  100
2  110  210
3  120  330





です。

119 :名無しさん@そうだ選挙にいこう:2011/03/20(日) 22:59:27.68
>>117
=SUM(B$1:B1)

120 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 01:36:28.69
>>117
SUMの必要なし
C1: =B1
C2: =C1+B2

121 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 04:52:07.01
無駄にSUM使わないことに拘って式を2種用意するのか
スマートじゃないな

122 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 07:59:51.26
>>121
何でSUMが無駄なの?

123 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 08:04:18.00
SUMが無駄なんじゃなくて
SUM使わないことに拘るのが無駄
その無駄の結果、>>199みたいに一つの式をフィルコピーすれば済むところを
>>120みたいにC1とC2に別々の式を入れなければならなくなってる

124 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 08:04:20.81
「SUMを使わない」という無駄な方法
という文章なのだと思う


125 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 08:13:43.95
SUMはプレミア

126 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 08:37:20.39
123はヴァカ?3万行くらいでB1を変えてみりゃすぐわかるだろうに
ちなみにSUMが無駄ってことはない
119みたいな使い方が無駄
普通は1行目に見出しがあるから=SUM(C1,B2)とすりゃよい

127 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:05:51.10
お前らしょーもないとこで論争するの好きだなw
どう見ても>119の方が早いし便利
>120でもこの量なら問題ないし、最初に思いついたのがこれならこれをさっさと採用すれば良いだけの話
こんなつまらん事で論争するのが一番の無駄

128 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:10:46.66
>>117は釣りで自作自演だろ?
=SUM(B$1:B1)がよくないって今時みんな知ってるもんな。

129 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:17:22.72
>>128
何で良くないんだよ

130 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:29:53.02
>>129
「SUMの必要なし」とか大口叩いて恥かいた120が
根拠もなくほざいてるだけだから気にするな

131 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:31:35.36
>>129
http://msdn.microsoft.com/ja-jp/library/aa730921%28v=office.12%29.aspx

図 6. 該当セルまでの合計を計算する SUM 数式の例

132 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:37:57.74
>>127
アンカー逆

133 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:43:13.15
>>132
必死だなw

134 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 09:48:13.55
>>133
落ち着け
少ない量で問題ないのは>>119

135 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 10:16:04.90
=SUM(B$1:B1)の無駄が分からないやつは少し頭が弱いな。
俺は無駄ってわかってても使うけどな。
行の削除でも#REF!にならん。

136 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 10:38:57.63
>>135
オツムが弱いのはオマエだw
自分だけは解ってる風に装っても
オマエより上手の奴にそんなハッタリは通用しない

137 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 10:45:51.01
>>135
天才の>>135様愚民共に示してやってください!
sum使いはどれだけ愚かか!さぁ!さぁ早く!
私には分かりませんwww

138 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 11:21:57.70
あんまり暴れるなよw

139 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 14:13:20.68
暴れすぎると後で余計に恥ずかしいからな
素直に自分の無知を認めるが良かろう

140 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 14:21:34.25
この累計の出し方って何年おきかに必ず論争がおきるよね。
ここはレベルが低いんだから正論吐いてもしょうがないよ。
一般的には>>119で十分だな。
行削除にも対応してるようだし。

141 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 15:36:15.62
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 不可

ピボットで、元の単位が(円)のとき、(千円)や(百万円)の単位で
表記するにはどうすればいいですか?
値を別シートへコピペする以外に何かあれば教えてください。

142 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 16:16:54.73
>>141
セルの書式を「0, 」にすれば千円、「0,, 」にすれば100万円単位になるよ

143 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 19:23:26.16
超初心者なんですがお願いします
画面をいじってたら上の方の「A、B、C・・・」の横棒の部分が
全てオレンジ色になってしまい
一枚続きだった画面上の紙が途中で縦に切れ目が入ってしまいました
元の画面に戻すにはどうしたらいいのでしょうか?
よろしくお願いします。

144 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 19:33:29.07
>>141
四捨五入でいいの?
それでよければ>>142だな。

145 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 20:01:13.66
>>143
右下の表示ボタン(3つくらいならんでる)を適当に押す

146 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 20:44:44.73
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 ?

A1にある文字列をB1のURLをクリックすることで標準ブラウザで検索したいです。

例えばYoutubeでは
http://www.youtube.com/results?search_query=%s&aq=f
の「%s」の部分を任意の文字列にすれば検索できるので、色々変えてみたのですがうまくいきません。

どのようにしたら可能でしょうか?
よろしくお願いします。

147 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 20:49:28.48
HYPERLINK関数で

148 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 21:00:30.81
>>146
=HYPERLINK(REPLACE("http://www.youtube.com/results?search_query=%s&aq=f",45,2,A1))

149 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 21:04:28.02
REPLACE関数は要らない

150 :名無しさん@そうだ選挙にいこう:2011/03/21(月) 21:05:40.91
>>147-148
ご回答ありがとうございました。
助かりました。

151 :141:2011/03/22(火) 00:50:50.71
>>142 >>144
ありがとうございます。
表記は四捨五入で構いません。
0,で確かに(千円)単位になりましたが、カンマも打てるでしょうか?
(例えば、元の数値が 1,234,567 なら、1,235 と表記したい)

152 :名無しさん@そうだ選挙にいこう:2011/03/22(火) 01:57:55.16
>>151
#,##0,
だったかな

153 :名無しさん@そうだ選挙にいこう:2011/03/22(火) 12:24:59.09
>>146,149
=HYPERLINK("http://www.youtube.com/results?search_query="&A1&"&aq=f")
ですね。

154 :名無しさん@そうだ選挙にいこう:2011/03/22(火) 16:48:40.45
Excel2007で情報を表状に管理したいのですが
画像を単純に貼り付けるとセルとは関係なくワークシート上に浮かぶような感じになります。
画像をセルに固定して管理し、かつクリックしたときだけ表示されるようにできたりしますか?
Excelでできないとすると、やはりHTMLなどでWebページを作成した方がよろしいでしょうか?
よろしくお願いします。m(__)m

155 :名無しさん@そうだ選挙にいこう:2011/03/22(火) 16:52:49.55
>>154
VBAで出来るから自分でコード書いてね (>>3★2参照)

まあHTML解るなら、そっちの方が楽だと思うが

156 :名無しさん@そうだ選挙にいこう:2011/03/22(火) 17:01:07.81
>>155
早速ありがとうございます。
VBAでやる場合のヒントをもう少し頂けないでしょうか?

157 :156:2011/03/22(火) 17:06:49.54
すみませんでした。あとは自分で調べます。
ありがとうございました。。

158 :141:2011/03/22(火) 22:30:12.63
>>152
できました。
ありがとうございます。

159 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 00:05:22.59
a1からd2のセル範囲に値がA,B,Cがあったとしてそれをe1に返すにはどうすればいいですか?
a1からd2のセル範囲でAが2つあるかもしれないし、白紙かもしれません。
白紙ならそのまま空白でいいです。ABCが同時にセル範囲にあったらAを優先する形にしたいです。
お願いします。


160 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 00:44:39.88
図形の曲線を書くのですが線の色が線なしでかかれる為、いちいち図形の書式設定で色を黒に選択しないといけません。既定の図形に設定後に書いてもまた線なしで書かれます。何ででしょうか?

161 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 06:16:16.50
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ピボット フィールド 小計

ピボットテーブルで、↓ファイルの部分です。
デフォルトで「なし」になるように設定することは可能でしょうか?

http://uproda11.2ch-library.com/290303RdB/11290303.jpg

162 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 08:08:08.87
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】エクセル 左矢印 修正

エクセルでセルに数式入力してる時間違いに気付いて左矢印で治しにいこうとした時
左矢印押したらその左のセルのアドレス?(D4で入力してたらC4)が表示されるので設定でなんとかする方法はないかと調べてみた結果F2キーを押せばその場で修正出来ることがわかったのですが
F2キーを押した状態をデフォルトに設定することは可能ですか?

163 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 08:40:11.00
>>159
IFで

>>160
うちでは一度既定に設定すれば曲線もその既定設定通りになる
君が何か間違えているんだろう

>>161
毎回設定するのが面倒ってことか?
VBAでも設定できるところだから、VBA使えばどうにでもなるので
あとは毎回手動で設定する手間と、自動化VBAコード書く手間のどっちが面倒か考えてお好きなように

>>162
その話は過去に何十度も出てきているが不可能です

因みに俺はAutoHotkeyというソフト使って、[かな/ローマ字]キー(スペースの2つ右)をF2に変えてる
F2はExcel以外でも何かと多用するキーだからね

164 :162:2011/03/23(水) 08:44:47.61
そうでしたか・・・ありがとうございます

165 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 11:47:34.89
>>162
上の数式バーで編集することを習慣付け給え。

166 :161:2011/03/23(水) 21:36:44.34
>>163
おっしゃる通り、毎回設定するのが面倒って事です。

VBAではどうコード書けばいいのでしょうか?



167 :名無しさん@そうだ選挙にいこう:2011/03/23(水) 21:36:49.90
>>163
ありがとうございます。Excel97の方がストレスなく図形が書けます。2010はストレスばかりです。曲線に限らず矢印を書くのに先端を変えて既定設定しても変換されません。ですが直線を引くと既定設定の矢印になります。もう訳わからないです(゚ω゚?)助けて下さい


168 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 09:58:59.13
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほんの少しだけ
【4 VBAでの回答の可否】 可

Sub Macro1()
a = InputBox("")
Columns("A:O").Select
Range("O1").Activate
Selection.AutoFilter
Selection.AutoFilter Field:=6, Criteria1:=a, Operator:=xlAnd
Selection.Copy

Sheets("シート2").Select
Range("A1").Select
ActiveSheet.Paste

Sheets("シート1").Select
Selection.AutoFilter
Range("A1").Select
Sheets("シート2").Select
Selection.AutoFilter
Range("A1").Select
End Sub

上記6行目の【Criteria1:=】aの検索条件を部分一致(aという語句を含むもの)にしたいのですが、
上手く行きません。
マクロの記憶でオートフィルタを動作させて確認して見ましたが、
"*語句*"という形で処理されており、これを【語句】部分に変数を入れても
変数名を検索対象としてしまいます。

変数の値を部分一致で検索させることは可能でしょうか?

169 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 10:11:37.38
>>168
アンパサンド(&)で結合。

"*" & 変数 & "*"

170 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 10:19:48.08
>>169
出来ました!
ありがとうございます!

171 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 11:08:21.38
windows7 64bit エクセル2010を使用。

セル内に文字を打ち込む時
文字入力して1回打ち込むたびに
日本語入力がキャンセルされて英語入力になるのですが
どうしたらいいですか?

エクセル以外のワードやテキストでは
そんなことならず普通に入力できました。

172 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 11:28:09.72
同じ環境だけどそんなことにはならんなあ
壊れてないとしたら、入力規則でIME入力モードを固定してるくらい?

173 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 11:36:22.38
>>172
具体的には
どこを どうしたらいいですか?

174 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 11:53:14.30
具体的に「入力規則」の「IME入力モード」って書いてあるじゃん

175 :名無しさん@そうだ選挙にいこう:2011/03/24(木) 22:59:14.85
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1358466873
知恵袋に質問してるのですが回答がなくて泣きそうです・・・・。
誰か助けてください!!!VLOOKUPを使おうとしても不便で死にそうです・・・


176 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 01:21:23.03
>>175
うちでは出てる
逆に消す設定がないか探してみたけど見当たらなかった

177 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 08:41:41.28
>>175
回答、どっちに書けばいい?
俺もその状態になったけど回避できた。

178 :175:2011/03/25(金) 08:47:02.29
177様
こちらでお願いします!


179 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 13:50:39.95
オク!でOffice2010を購入しようと思うのですが
元々PCにバンドルされていたものの場合出品者がPCからそのオフィスを削除していないと
購入してもインストールできないということになるのでしょうか?
一応Office自体は未開封新品です

180 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 14:06:48.02
出品者がPCからそのオフィスを削除していても使えません。
バンドル品は、セット購入したPC以外で使えない故に安いのです。
そもそもバンドル版OfficeはPCとセットでなければ中古販売や譲渡が出来ないものなので
出品自体がライセンス違反です。

181 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 14:25:57.46
>>178
177じゃないけど。
左上のボックスに出ているときはポップアップが出てこない、とかじゃないの?

182 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 15:37:04.18
>>180
そうなんですか?!
オク!では結構たくさん出品されているので使えるものと思ってましたが
使えないのであれば落札してる人たちは何が目的で・・・

183 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 15:42:04.51
騙されてるか、不正利用目的

でも不正利用のリスク覚悟の上なら
タダでの不正利用も可能なのに
半端に金払ってまで不正利用するのはバカバカしいと思うけど

184 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 17:42:00.35
最近はwinny辺りの取り締まりが厳しいからハンパに金払ってるんじゃないかな
まぁ、やめたほうが良いとは思う
たかだか数千円で人生棒にふることもないでしょう

185 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 17:50:58.83
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 SP3
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 否(配布予定があるので出来る限りVBAで実装したくないです)
【5 検索キーワード     】 Excel 文字列 検索

列に文字列を格納して指定された1つ上の行の文字を返す
関数を用意したいのですがどのように実装したらよいでしょうか

   A   
1 文字列
2 AAA
3 BBB
4 CCC
5 DDD
6 EEE
7 FFF

この場合にFFFを対象にした際にEEEが出力させるものです

申し訳ありませんが宜しくお願いします

186 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 17:59:54.92
>>185
「指定された・・・」ってどういうこと? どっかのセルで「FFF」という文字列があったら他のセルに「EEE」を返すってこと?
それとも 「A7」って指定するってこと?

187 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 18:02:09.48
>>185
indexとmatchを使用。match-1で一行上になる。
エラー処理等は自分で考える。

188 :複乳:2011/03/25(金) 18:17:27.88
>>185
B1=INDEX(A:A,MATCH($A$1,A:A,1)-1)
×関数を用意したい
○数式を用意したい
な。VBAで回答されまっせ

189 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 19:24:18.52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 最大値 範囲

質問させていただきます
B1~B10に数値(0〜100、ダブりなし)を入力しておいて
実行すると最大値の入っていたところの横(C列)に"最大"と表示し数値を消す
というマクロを考えているのですがうまくいきません
どのようにすればよいのでしょうか?
例えばB5が一番大きな数値ならC5に"最大"と表示したいです

190 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 19:36:12.37
>>189
=IF(ROW(B1)=MATCH(MAX($B$1:$B$10),$B$1:$B$10,0),"最大","")

こんな感じ?

191 :189:2011/03/25(金) 19:37:50.43
>>190
早速ありがとうございます
そうなるのですが、それをVBAで出来るようにしたいです><

192 :VBA厨:2011/03/25(金) 19:52:41.92
>>191
Range("B1:B10").Find(WorksheetFunction.Max(Range("B1:B10"))).Offset(, 1).Value = "最大"

193 :189:2011/03/25(金) 20:07:28.03
>>192
早いですね^^;
出来ました!ありがとうございましたm(_ _)m

194 :161:2011/03/25(金) 20:15:53.63
>>161です。
どなたか答えて頂けるかた、いらっしゃいませんか?


195 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 20:25:22.90
マルチw

196 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 20:26:35.53
答えは出てるじゃん
コードは自分で書ける(VBA使えるか=はい)って書いてるのに
丸投げでコードまで書けってのか?

197 :161:2011/03/25(金) 20:31:06.87
VBAを使用できる環境だから「はい」と記載しています。
コードを書いてもらえたら助かります。

198 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 20:31:27.07
>>192
たまたま>>189はうまくいったらしいが、数式の戻り値だと初期状態じゃうまくいかない。
With Range("B1:B10")
  With .Item(WorksheetFunction.Match(WorksheetFunction.Max(.Cells), .Cells, 0))
    .Offset(, 1).Value = "最大"
    .ClearContents
  End With
End With

199 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 20:34:26.42
>>193
たまたまうまくいったようだが、もし数式の戻り値だと>>192は初期状態じゃうまくいかない。
With Range("B1:B10")
  With .Item(WorksheetFunction.Match(WorksheetFunction.Max(.Cells), .Cells, 0))
    .Offset(, 1).Value = "最大"
    .ClearContents
  End With
End With

200 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 20:47:21.70
無駄が多いな

201 :189:2011/03/25(金) 21:00:54.06
>>198
そうなのですか?ちょっと難しいですが;
そちらで試してみます

続けて質問になってしまうのですが、
さっきの最大を求めるのでD1,E1,F1に(仮に)1と入力されていた場合
B1に入力されている数値を消して、そののち最大を求める
これをB1~B10まで同じようにしたいです
こちらの条件は自分で考えようと思っていたのですが、D1,E1,F1のどれか一箇所にでも
となると分からなくなってしまいます
すみませんがこちらもお願いいたします

202 :名無しさん@そうだ選挙にいこう:2011/03/25(金) 22:40:08.11
ほれ。あとお前もうくるなよw
With Range("B1:F10")
  With .Item(WorksheetFunction.Match(WorksheetFunction.Max(.Cells), .Cells, 0))
    .Offset(, 1).Value = "最大"
    .ClearContents
  End With
End With


203 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 00:29:39.49
177しね

204 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 06:59:20.11
>>175
選択範囲が画面内に収まっていれば出ない。
画面内で収まらない場合に表示されるようですが。

205 :189:2011/03/26(土) 07:26:35.39
ありがとうございました

206 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 07:59:04.13
177様
こちらでお願いします!

207 :175:2011/03/26(土) 09:22:45.46
あなたは誰????
あと、書き込むのなら回答を書いてくださいね!

208 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 19:31:12.92
初歩的な質問ですみません。
Sheet1のI列の一番下からL列の一番下までの値を、
Sheet2のD5からG5にコピペするマクロを自動記録しました。

Sub Macro1()
Range("I26").Select
Selection.End(xlUp).Select
Range("I8:L8").Select
Selection.Copy
Sheets("Sheet2").Select
Range("D5").Select
ActiveSheet.Paste
End Sub

これを手直しして次のように書きましたが、2行目で止まってしまいます。

Sub Macro2()
Range(Range("I65536").End(xlUp), Range("L65536").End(xlUp)).Copy
Sheets("Sheet2").Range("D5").Paste
End Sub

どう直せばいいでしょうか?

209 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 20:09:29.51
65536+5行が最大行を超えるからエラーになってんじゃないの

210 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 20:23:35.93
違う
カンマ取れ

211 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 21:16:36.64
俺の2010だと問題なく動く

212 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 21:31:24.46
>>208
Pasteの書き方が違う。
コピー先の先頭Range選択してからPaste。または引数で指定。
Range(Range("I65536").End(xlUp), Range("L65536").End(xlUp)).Copy
With Sheets("Sheet2")
.Paste .Range("D5")
End With

相対範囲がわかっているならもっと簡単に
Sheets("Sheet1").Range("I65536").End(xlUp).Resize(, 4).Copy
Sheets("Sheet2").Range("D5").PasteSpecial
または一行で
Sheets("Sheet1").Range("I65536").End(xlUp).Resize(, 4).Copy _
Sheets("Sheet2").Range("D5")

213 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 21:41:13.65
カンマじゃなくてピリオドじゃないの?

214 :208:2011/03/26(土) 23:01:05.40
>>212
できました。
ありがとうございます。

215 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 23:50:08.25
【テンプレ省略】

自治体などから放射線量が公表されてますが、累積被曝量の計算は
以下で間違ってませんか?

1日1行。放射性物質はすべてヨウ素(半減期8日)と仮定してます。

今日の放射線量(μSv/日)  累積被曝量(μSv)
[A2](測定値)           =[A2]
[A3](測定値)           =[A3]+[A2]*2^(-1/8)
[A4](測定値)           =[A4]+[A3]*2^(-1/8)
 :                   :

よろしくお願いします。

216 :215:2011/03/26(土) 23:51:36.83
すいません、訂正

今日の放射線量(μSv/日)  累積被曝量(μSv)
[A2](測定値)           =[A2]
[A3](測定値)           =[A3]+[B2]*2^(-1/8)
[A4](測定値)           =[A4]+[B3]*2^(-1/8)
 :                   :

217 :名無しさん@そうだ選挙にいこう:2011/03/26(土) 23:57:58.13
間違ってます

が、それはExcelの使い方が間違っているのではなく
計算理論が間違っているので、ここではなく
そっち系のスレで質問してください

218 :名無しさん@そうだ選挙にいこう:2011/03/27(日) 00:14:55.01
>>217
レストンです
他をあたります

219 :名無しさん@そうだ選挙にいこう:2011/03/27(日) 23:13:25.84
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
ピボットテーブルで売り上げ金額を集計してますが、
該当するデータがないときセルが空白になります。
元データを修正せずに、0と表示することは出来ますか?

220 :名無しさん@そうだ選挙にいこう:2011/03/27(日) 23:16:29.69
うん

221 :名無しさん@そうだ選挙にいこう:2011/03/27(日) 23:52:05.85
ありがとうございます

222 :名無しさん@そうだ選挙にいこう:2011/03/27(日) 23:56:19.94
いえいえ

223 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 08:33:18.24
あのーやり方を聞いてるんですがね。

224 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 10:10:31.42
半端にテンプレ端折る人は
可否だけ答えて貰ったら、後は自分でなんとかしろ

まともな回答もらえるのは、まともな質問した奴だけの特権

225 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 11:01:05.63
たしか右クリックのオプションかなんかから空白セルに表示する値設定できなかったっけかな?

226 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 12:02:09.14
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007

【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


エクセルで、下記のようなデータベースの元が作りたいです。
どなたか作り方をご教授願えませんでしょうか?


シート1、2、3に、それぞれA商店、B商店、C商店と名前を付ける。(データ入力用シート)
シートの中には商品の分類(「飲料」「果物」「野菜」など)が縦に並んだ表があり、
その項目の中に「りんご」「バナナ」のような商品名と、その商品の個数を入力できるようにする。

シート4には、商品分類の表があり、その分類の名前をクリックすると、シート1、2、3からその分類に入力した商品とその個数、引用元のシートが全て羅列される。(データ集計用シート)


↑こんな感じにしたいのですが、シート4にどういう処理を施せばこういった事ができるのかがわかりません。
もし分かる方がいらっしゃったらどうかお願いします。

227 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 12:04:15.78
> クリックすると
でやりたければ、VBA無しには不可能

228 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 12:47:15.50
>>226
> シート1、2、3に、それぞれ名前を付ける。

シート名の変更をパソコンにやらせようと思ったらVBA使わないと無理

229 :226:2011/03/28(月) 13:42:34.79
ありがとうございます。
VBAというのを使った事がないのですが、それがなければできないのであれば、
それを使ったやり方でお願いします。

>>228
シート自体に名前をつけるのは自動でなくても大丈夫です。

230 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 13:52:06.37
>>229
自分でコード書けるならヒント教えるけど
書けないならまずはブックをうpだね
で、暇で優しい人が現れるのを気長に待つ

231 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 17:24:58.68
>>229
とりあえずシート名を変更するVBA

Sheets(1).Name = "A商店"
Sheets(2).Name = "B商店"
Sheets(3).Name = "C商店"

あとは、何をやりたいのか質問が大雑把すぎてよくわからん

232 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 17:53:52.28
用途だけ見ると3シートそれぞれに入力して4シート目に集計らしいけど、
ゼロからやるなら4シート目に商店フィールド持たせた伝票データみたいなのを入力してく方が、構成的にはらくそうだけどなあ。

何か調べたい場合はオートフィルタなりピボットで絞り込めばいいわけだし。
商店ごとのデータ別シートにまとめたいならフィルタしてコピーでもすりゃいいだろうし。

233 :227:2011/03/28(月) 19:31:35.21
VBAはどうやってそれをやるのですか?

234 :名無しさん@そうだ選挙にいこう:2011/03/28(月) 20:07:21.29
>>233
http://www.officepro.jp/excelvba/ini/index1.html
分からなかったら「VBA 初心者」か「VBA 入門」でぐぐれ

235 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 00:05:07.80
答えられる能力が乏しいバカが偉そうにwww

236 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 00:11:26.01
エクセルの住所録からkmlファイルに変換してGoogleマイマップにインポートした時
画像入れることってできませんか?

237 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 00:12:41.74
できます。

238 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 00:20:49.50
>>237
サンプルでエクセルからkmlに変換できるファイル見つけたんですけど
それだとインポートした時、改行も画像も入れられないんです。
VBAもいじれないんですが教えていただけないでしょうか

239 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 05:40:52.67
>>238
君が、ここで教えて欲しいことがあるように、俺等もさ
君がどのOSと、どのバージョンのExcel使ってるかとか
VBAが使える人なのか、VBAでの回答でも構わないのかとか
いろいろ教えてほしいことがあるわけよ

でもね、君はそういう>>1にも書いてある
俺等の教えて欲しいことにちゃんと答えてないでしょ
>>3★2には、それらに答えないとまともな回答はもらえないと
注意書きまでしてあるのに

だからそういう奴にはお引き取り戴くのがここの習わし
いまさらテンプレ書いて出してきてもダメ
ルール無視した質問を撒き散らしても、質問し直せば回答貰えるんじゃ
一向にこういうバカ質問者が減らないんで
今回は教訓として、回答無しでお引き取り戴こうか

240 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 05:54:08.14
偉そうだなw

241 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 06:34:18.26
でも言ってることは何も間違ってないw

242 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 07:08:55.01
回答位剤の書き込みはやめてくれませんか?

243 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 07:13:11.72
つーか、テンプレに書いてあることを少しキツめに言ってるだけやんw

244 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 07:16:01.60
いいからさっさと教えろや

245 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 07:52:15.66
> 教えていただけないでしょうか

に答えればいいわけね


回答:「イヤですw」

246 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 08:12:38.00
>>236に回答できる頭(つまり、VBA、xml、kmlを理解できる頭)がありながら
バカ質問者を甘やかして助長し、バカ質問者を増長させるような愚行をする者は居ないと思われ。



if is回答に必要な情報(質問文) then print 回答 else print "お引き取り下さい。"

function is回答に必要な情報(質問文 as string) as boolean
  if instr(1, 質問文, OSの種類) = 0 Then exit function
  if instr(1, 質問文, Excelのバージョン) = 0 Then exit function
  if instr(1, 質問文, VBAが使えるか) = 0 Then exit function
  if instr(1, 質問文, VBAでの回答の可否) = 0 Then exit function
  is回答に必要な情報 = true
end function

247 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 08:34:30.38
>>239
出し直しもダメとかかわいそうすぎてワロタ
>>236
ヤフー知恵遅れでもいけば?
あそこなら答えてくれるよ。多分。

248 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 09:04:39.30
そこは
 「ここじゃ答える空気じゃないが、向こうで俺が答えてやるから
  阿呆知恵遅れに来い」
じゃないのか?
無責任すぎてワロタ

249 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 09:25:56.69
>>248
いや、kmlとか知らないから答えられなかったのよ
知ってたら答えてたんだけどね

250 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 09:39:39.46
>>249
知らない言葉が出てきたら、回答の意思がなくてもとりあえずぐぐるだろjk
無駄知識が増える

こういう地道な積み重ねができるやつとできないやつの差になる

251 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 10:14:56.20
エクセルの範疇なら答えるけどグーグルマップとかはさすがにめんどい
あと画像がどう格納されてるかわかんねーしもう聞いてもいそうにないし

252 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 10:24:49.20
お前らが無能なのは分かったから他所でやってくれ

253 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 10:31:53.40
「お前ら」は一人称じゃないぞ

254 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 10:49:36.03
おもしろいとおもってんのかねそれ

255 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 10:58:00.23
皆に「お引き取り下さい」「他いけば?」「他所でやってくれ」と言われて236涙目

256 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 11:36:38.31
xml解ってればkmlなんて楽勝だけど
xmlから、更にはVBAでのxml操作から始めるとなると結構大変かも

257 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 18:13:10.67
間違えてプログラム板のVBAスレに書き込んでたのでこちらであらためて質問させてください

上記条件付書式のコピーについて質問です

Z1に入力した数字次第(○○以上○○未満の場合)で、W1セル背景が5段階に変色するという書式をAND関数を使って設定しています
以降入力数字に対する変色は同条件で、Z2に入力したものをV1に反映、Z3に入力したものをU1に反映と、縦の入力データを横左方向に出力、という風に一括で書式コピーしたいのですが方法はあるでしょうか

現状W1をコピーすると、V1にもZ1からデータをひっぱってくる数式がコピーされてしまいます

W1セルに対して
 Z1<5001 のとき背景赤色
 AND(Z$1>=5001,Z$1<10001) のとき背景黄色といった感じで記入してます

$の位置が悪いか不要なんでしょうか

258 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 18:19:29.48
>>257
OFFSET

後は自分で調べろ

259 :238:2011/03/29(火) 19:48:34.58
説明不足で失礼しました。
エクセルの住所録をkmlに変換し、グーグルマイマップにインポートした時
それぞれのポインタで各種データや画像が表示されるようにしたいです。
色々と検索してみたところ、変換すること自体はできるんですが
インポートした時に画像を入れたり改行したりする方法がわかりません。
よろしくお願いします。

【1 OSの種類         .】 Windowsvista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel kml 変換など

260 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 19:55:38.03
無理です。

261 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 19:57:20.66
>>259
もう遅いよ
二度と答えは出ないからさっさと諦めて死んでね

262 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 20:02:31.42
居るよね、不躾な質問を叩かれると
> 回答以外の書き込みはやめてくれませんか?
とか強気で言ってたのに、しばらくすると
それは別人ですみたいな顔して、下手に出て質問し直す奴w

263 :259:2011/03/29(火) 20:05:02.82
いいからさっさと教えろや糞が

264 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 20:13:54.00
回答位剤の書き込みはやめてくれませんか?

265 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 20:19:32.57
位剤ってなんですか?

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 位剤

266 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 20:22:51.34
>>259
> バカ質問者を甘やかして助長し、バカ質問者を増長させるような愚行をする者
               . . .
が出てくることを祈って 黙 っ て 待つか
               ~~~~~~~~
ここでの質問取り下げて他に行くかしろ

267 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 20:49:50.81
そもそもExcelの質問じゃないし
昔ならawkやsedでやる作業だろ
いまはなに使うのかしらんけど

268 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 20:50:57.43
エクセル(またはCSV形式)の住所録を、googleマップ(マイマップ)に一括登録する方法ってありますか?

住所録データには名称、住所、備考欄があります。

269 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 21:32:46.42
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 特記 引き出し線
外国語の勉強にエクセルを使っていますが
文法上の解説をセルに矢印みたいな感じで
付けたいのですがその付け方がわかりませんので教えて下さい
以前、セルの端っこに引き出し線とフキダシみたいなのが付いて
そのセルに備考を書けるのがあったような気がするのですが・・・?

270 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 21:43:51.96
>>269
セルを右クリック 「コメントの挿入」で


271 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 21:48:02.34
>>268
そういうネタで奴をおちょくるのは止めてやれ

272 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 22:04:36.49
>>270
有難うございます!
できました!!

273 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 23:10:26.27
回答位剤の書き込みはやめてくれませんか?

274 :名無しさん@そうだ選挙にいこう:2011/03/29(火) 23:28:57.29
質問者叩いてる>>262ですら訂正した上で引用してるのに
単なる打ちミスに何時までも食いついてる奴ってどんだけ下劣なんだよw
>>264,>>265,>>273

275 :219:2011/03/30(水) 01:08:12.10

          ∧∧
        ⊂(・∀・)つ-、  早く答えろや!ゴラ!!
      ///   /_/:::::/   
      |:::|/⊂ヽノ|:::| /」
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |

276 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 07:56:02.98
Googleマップのkml君、本当にアホー知恵遅れに行ったんだなw

しかし相変わらずOSやExcelのバージョンも、何を使って変換したのかも書かないんだな
まあ簡単な質問だし、向こうではOSやExcelのバージョン書くのは「常識的なマナー」であって
「絶対的なルール」とはされていないから、そのうち誰かが答えてくれるだろう

277 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 08:35:16.55
ソースは?

278 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 08:50:01.28
>>275
表示形式

279 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 09:22:58.97
>>277
誤爆?

280 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 11:18:42.46
【1 OSの種類     .】 WindowsVista(会社はXP)
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか .】 少しだけ(勉強始めたばかりです)
【4 VBAでの回答の可否】 可
【5 検索キーワード .】 FindNext Do Loop 全て検索 For など

お願いします。
商品データの「商品名」でお客様リストを検索し、注文した方の氏名を
商品データと合わせて日付順シートに書き出したいのです。
商品データ、お客様リストは順次増えていきます。

「日付順シート」は書き出した後に、見やすいように同じワードが続くところは
セル結合、罫線も引く予定ですが、まずは書き出しが失敗してしまいます。
最初に商品一つにつき、最初のお客様だけ書き出すのは成功しましたが、
2人目以降が書き出せず、いじっているうちに全く書き出せなくなってしまいました…
コードのどこが変なのか教えて下さいませんでしょうか?

281 :280:2011/03/30(水) 11:19:25.06
「商品データシート」
  A     B       C      D      E 
1 商品名 商品コード メーカー 合計個数 日付
2 りんご 222    AAA    2  20
3 メロン 333 BBB    1  23
4 ぶどう 111    CCC    3  24
◆合計個数は「お客様リスト」をCOUNTIFで出しています。

「お客様リスト」
   A     B       C    D    E     F      G
1  番号 お客様名 住所   電話   注文品 注文品2 注文品3
2   1  山田  東京都 03    りんご ぶどう
3   2  鈴木  愛知県 052   ぶどう
4   3  田中  静岡県 042   りんご メロン  ぶどう 
◆番号はSUBTOTALで振っています。
 
「日付順シート」完成予想図
  A     B      C       D    E
1 日付 商品名 商品コード 合計個数 お客様名
2 20 りんご 222    2    山田
3 20 りんご 222    2    田中
4 23 メロン 333    1    田中 
5 24 ぶどう 111    3    田中 
6 24 ぶどう 111    3    鈴木
7 24 ぶどう 111    3    山田

282 :280:2011/03/30(水) 11:21:32.90
Dim wsD As Worksheet
Dim wsZ As Worksheet
Dim wsT As Worksheet
Dim lngYLine As Long
Dim mykey As String '商品名
Dim g As Long
Dim i As Long
Dim FoundCell As Range
Dim firstAddress As Range
Set wsD = Worksheets("日付順シート")
Set wsZ = Worksheets("商品データ")
Set wsT = Worksheets("お客様リスト")
i = 2 '検索結果の表示行は2行目からなので
g = 2 '検索キーの商品名も2行目からなので
mykey = wsZ.Cells(g, 1).Value '商品名
Set FoundCell = wsT.Columns("E:G").Find(What:=mykey, LookIn:=xlValues, lookat:=xlWhole)
lngYLine = wsT.Columns("E:G").Find(What:=mykey, LookIn:=xlValues, lookat:=xlWhole).Row
For g = 2 To Range("b65536").End(xlUp).Row '2行目からデータの最後まで
If Not FoundCell Is Nothing Then
firstAddress = FoundCell.Address
Do
wsD.Cells(cnt, 1).Value = wsZ.Cells(g, 3).Value
wsD.Cells(cnt, 2).Value = wsZ.Cells(g, 1).Value
wsD.Cells(cnt, 3).Value = wsZ.Cells(g, 2).Value
wsD.Cells(cnt, 4).Value = wsZ.Cells(g, 9).Value
wsD.Cells(cnt, 5).Value = wsT.Cells(lngYLine, 2).Value
i = i + 1
Set FoundCell = wsT.Columns("E:G").FindNext(FoundCell)
lngYLine = FoundCell.Row
Loop While Not FoundCell Is Nothing And FoundCell.Address <> firstAddress
End If
Next g

283 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 11:32:05.48
まだ全部読み切ってないけど
> wsD.Cells(cnt, 1).Value = wsZ.Cells(g, 3).Value
とりあえず cnt ではなく i なのでは?

284 :280:2011/03/30(水) 11:48:09.87
>>283
すみません,失礼しました。
見て頂く方にわかりやすい変数に、と変えているうちに見落としていました。
改行が多いと言われてしまいましたので、次のレスに貼ります。

285 :280:2011/03/30(水) 11:48:57.93
Dim wsD As Worksheet
Dim wsZ As Worksheet
Dim wsT As Worksheet
Dim lngYLine As Long
Dim mykey As String '商品名
Dim g As Long
Dim i As Long
Dim FoundCell As Range
Dim firstAddress As Range
Set wsD = Worksheets("日付順シート")
Set wsZ = Worksheets("商品データ")
Set wsT = Worksheets("お客様リスト")
i = 2 '検索結果の表示行は2行目からなので
g = 2 '検索キーの商品名も2行目からなので
mykey = wsZ.Cells(g, 1).Value '商品名
Set FoundCell = wsT.Columns("E:G").Find(What:=mykey, LookIn:=xlValues, lookat:=xlWhole)
lngYLine = wsT.Columns("E:G").Find(What:=mykey, LookIn:=xlValues, lookat:=xlWhole).Row
For g = 2 To Range("b65536").End(xlUp).Row '2行目からデータの最後まで
If Not FoundCell Is Nothing Then
firstAddress = FoundCell.Address
Do
wsD.Cells(i, 1).Value = wsZ.Cells(g, 3).Value
wsD.Cells(i, 2).Value = wsZ.Cells(g, 1).Value
wsD.Cells(i, 3).Value = wsZ.Cells(g, 2).Value
wsD.Cells(i, 4).Value = wsZ.Cells(g, 9).Value
wsD.Cells(i, 5).Value = wsT.Cells(lngYLine, 2).Value
i = i + 1
Set FoundCell = wsT.Columns("E:G").FindNext(FoundCell)
lngYLine = FoundCell.Row
Loop While Not FoundCell Is Nothing And FoundCell.Address <> firstAddress
End If
Next g

286 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 12:04:36.13
>>280
とりあえずやっつけで冗長な処理が多いが、やりたいことはこんな感じか?

Private Sub Sample()
 Dim wsD As Worksheet
 Dim wsZ As Worksheet
 Dim wsT As Worksheet
 Dim mykey As String '商品名
 Dim FoundCell As Range
 Dim KeyRow As Range
 Dim i As Long

 Set wsD = Worksheets("日付順シート")
 Set wsZ = Worksheets("商品データ")
 Set wsT = Worksheets("お客様リスト")
 i = 2 '検索結果の表示行は2行目からなので
 For Each KeyRow In wsZ.Rows(2).Resize(wsZ.Cells(2, 1).End(xlDown).Row - 1)
  mykey = KeyRow.Cells(1).Value '商品名
  For Each FoundCell In wsT.Range("E2:G2").Resize(wsT.Cells(2, 1).End(xlDown).Row - 1)
   If FoundCell.Value = mykey Then
    wsD.Cells(i, 1).Value = KeyRow.Cells(5).Value
    wsD.Cells(i, 2).Value = mykey
    wsD.Cells(i, 3).Value = KeyRow.Cells(2).Value
    wsD.Cells(i, 4).Value = KeyRow.Cells(4).Value
    wsD.Cells(i, 5).Value = FoundCell.EntireRow.Cells(2).Value
    i = i + 1
   End If
  Next FoundCell
 Next KeyRow
End Sub

287 :280:2011/03/30(水) 12:20:02.78
>>286
できました!
何日も悩んでいたのが嘘のようです、本当にありがとうございました。
お手数お掛け致しました、とても助かりました。
ありがとうございます!

288 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 12:22:46.51
悪いこと言わないからデータベースソフトにそういうこと移行さしてやりなさい。

289 :280:2011/03/30(水) 12:31:16.71
>>288
アドバイスありがとうございます。
うちは小さなお店で、会社のPCにはExcelとWordくらいしかなく、
私自身も詳しくない上に、私以外のスタッフはExcelでPOPと売上グラフ作るくらいです。
件数もそれほど多くないため、データベース導入は敷居が高くて無理そうです。
Excelで頑張ってみます。



290 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 12:33:00.32
初心者ですみません。
セル範囲指定のRangeについてお聞きしたいのですが
普通にRange("A1:A5")としてRangeを使うのではなく
Range("cells(1,1):cells(5,1)")のように
別のものと組み合わせて使うことは出来るのでしょうか?
どうしてもエラーが出てしまって、うまく直せません

291 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 12:40:05.60
その場合""はいらないのでは

292 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 12:41:17.19
 " 要らない
 : の替わりに ,

293 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 13:04:45.06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 2007 セル内 文字列 コピー ctrl+A

エクセル2002を普段は利用していまして
1つのセル内の文字列をCtrl+Aですべて選択し
Ctrl+C、Ctrl+Vでエディターやその他のソフトにコピーして使っていました
(セル自体のコピーではありません)。
エクセル2007を使うと
どうやらセル内でCtrl+Aを入力しても反応しないようですが
仕様が変わったのでしょうか?
ご存じの方がいらっしゃいましたらよろしくお願いします。

294 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 13:05:03.10
>>290
Range(Cells(1, 1), Cells(5, 1))

295 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 13:08:31.58
>>293
2002はないから2003で試したけど、2007と同じ動作だった
セル内編集状態の時はCtrl+Aは使えない

296 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 13:10:34.84
>>293
Shift+HOME
もしくは
Ctrl+Shift+←


297 :290:2011/03/30(水) 13:16:25.05
ありがとうございます。一歩前進できました。
ですが、それをIFの中に組み込むとやっぱりうまくいかず、、
For a = 1 TO 5
If Range(Cells(a , 1), (Cells(a, 5))) = "A" Then
このような構文なのですが、どう直せばいいのでしょうか

298 :293:2011/03/30(水) 13:19:06.15
>>295
>>296

ありがとうございます。
Shift+Ctrl+HomeやShift+Ctrl+Endで
代用できそうですね。
後ほど、エクセル2003でも確認してみたいと思います。

299 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 13:28:19.53
>>297
単一セルではなく複数セルの値は配列になる
正確にはVariant型2次元配列

この説明で理解できないなら、基礎を勉強してから出直せ

300 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 13:43:30.95
>297
やりたいことが
 A1からE5までの5行5列のセル範囲内で
 セルの値が ”A” の場合に以下の文を実行する
ってことなら、
For a = 1 To 5    ' 縦位置
  For b = 1 To 5  ' 横位置
    If Cells(a,b).Value = "A" Then
      文
    End If
  Next b
Next a
となります

301 :290:2011/03/30(水) 16:26:44.05
ありがとうございます。
やりたいのは、5×5ではありません。いただいたコードを使ったら、文、のところでエラーが出るようなのですが、ここはミスでしょうか?

302 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 16:30:26.50
>>301
「文」になってるのは>>297でThenのあとどんな処理するか書いてないからでしょう

303 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 16:33:19.33
>>301
それから
If Range(Cells(a , 1), (Cells(a, 5))) = "A"
っていうのはどんな条件を想定してるの?
A1〜A5のどれかが"A"のとき?
複数のセルが"A"の時は同じ処理を繰り返すの?

304 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 16:39:09.64
>>297だと
IF range(a1:e1)="A"
IF range(a2:e2)="A"
中略
IF range(a5:e5)="A"

みたいなことになるから5x5だね
やっぱり条件がよくわかんないや

305 :300:2011/03/30(水) 16:44:46.62
>290,301
このスレの >1-6 を読んでください。次にやりたいことを具体的に書いてください。
例えば・・・
1 判定対象のセル範囲は A1:E5 でなければどこからどこまで?
2 判定は単独のセルの値なのか、同じ行のA列〜E列(列番号の1〜5)のセルが全て"A"の場合なのか
という具合です。

306 :290:2011/03/30(水) 18:41:48.62
ありがとうございます、説明不十分ですみません
A列の1〜5でどれかがAのときです

あと>>301は自分ではなくいたずらです…

307 :305:2011/03/30(水) 18:58:55.34
>306
であれば、
For a = 1 To 5    ' 縦位置
  If Cells(a,"A").Value = "A" Then
    文 ←条件に合ったときやりたいこと
  End If
Next a
になります。 Cells(a,"A") は Cells(a,1) でもいいです。

308 :290:2011/03/30(水) 19:45:24.67
ありがとうございます。
縦はわかりましたが、横に広げたい時は
どうすればよいでしょうか?

309 :290:2011/03/30(水) 20:22:47.83
>>308
これも自分ではないので大丈夫です
何とかなりそうです。ありがとうございました

310 :290:2011/03/30(水) 21:04:24.01
今、すべての真実を書きます
最初の質問以外はすべて、自分以外の人が書いています。せっかく回答をしてもらっていたのに、間違った方向にいってしまい、申し訳ありません
しばらく自力でやってみます

311 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 22:36:04.28
セルに入力を行う度にRAND関数が再計算されますが、かなり多くの関数を使っているので再計算に1分弱ほど時間が掛かってしまいます。
再計算を行わないようにする方法は無いでしょうか?お願いします。

312 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 22:57:32.18
>311
ツール、オプション、自動再計算をオフ 計算結果が必要なときは[F9]キー

313 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 23:21:02.68
言い忘れましたがマック用エクセルです。
そんなオプションがないのですが…

314 :名無しさん@そうだ選挙にいこう:2011/03/30(水) 23:34:34.90
>>313
よく探して
マックにもあるから

315 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 07:47:57.29
数式リボンの右端

316 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 08:13:23.31
セルの書式設定で m:ss:0 として
「1:32:2」と入力したら
「32:02:0」と表示され、数式バーにも「1:32:02」となります。
ちゃんと表示されるにはどう入力したらいいですか?

317 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 08:42:22.99
>>316
なにがやりたいんだよ。どう表示して欲しいの?

318 :316:2011/03/31(木) 08:45:02.53
自己解決しました。サーセン

319 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 09:19:38.81
初心者です。A 列に最大4桁の数字が入っています。
この数字を 例えば 12とあれば、国語12点 1356とあれば、国語1365点
9とあれば、国語9点
となるように 数字の頭と尻尾に文字を入れたいのですが
教えてくれませんか?

320 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 09:32:39.23
>>319
セルの書式設定でユーザー定義を選んで
種類のところに「G/標準」のかわりに「"国語"0"点"」と入力する

321 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 10:20:45.97
>>319
以前、同じ質問したよね?

322 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 13:18:36.41
質問です

OSはウィンドウズXPを使ってます

エクセル2003で作ったファイル(又は、表データ)が、いつの間にか、エクセル2010でしか開けないファイル(又は、表データ)になっています。

ファイルは、エクセル2010が入ったパソコンに移し替えたら開けますけど、エクセル2003しか入っていないパソコンでは開けません。

ワード2003のファイルも同様に、ワード2003しか入っていないパソコンでは開けません。

ファイルの頭には、エクセルのマークや、ワードのマークがついていたはずですが、今は、どちらのファイルも四角の青みがかった同じマークに変わっています。

どうしてこうなったのでしょうか?

また、エクセル2003で開くにはどうしたらよいのでしょうか?

323 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 13:41:36.92
>>322
保存したファイル形式が違うんだろ。2010で開いて97-2003形式で保存しなおす。

324 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 15:43:09.99
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 カウント関数?

数字のデータが10.5や100.23等がずらっとあってそれらを
××以上××未満のデータの個数が何個
みたいに集計したいのですがどうやればできますでしょうか?

325 :324:2011/03/31(木) 15:44:19.96
すみません!わかりました!!
ごめんなさい!

326 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 16:25:40.69
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 吹き出し サイズ変更

オートシェイプの吹き出しで、テキスト入力できる枠線のサイズを変更すると、吹き出し線が
移動してしまうのですが、こちらを固定する方法はありますか?
また、枠線を移動する際に、吹き出し線の先端を固定して移動させる方法はありますか?

よろしくお願いします。

327 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 19:51:40.17
あります。

328 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 20:07:31.12
>>326
吹き出しを右クリック→図形の書式設定→テキストボックス→自動調整の
□テキストに合わせて図形のサイズを調整する・・・チェックを外す。または
その下の、 □テキストを図形からはみ出して表示する・・・をチェックを付ける。

とかいじってみると幸せになれるとおもうよ。

329 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 20:50:37.42
それをやっても吹き出し線は移動しますね。

330 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 22:16:30.05
エクセルファンクラブで水上が顔真っ赤な件w

331 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 22:22:52.92
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2007だと
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

1 複数のオートシェイプを削除することはできますか?
またセルとオートシェイプを同時に削除することはできますか?

2 セルを選択すると選択されたセルは薄い紫になりますが、この薄い紫を他の色に変更できますか?

332 :名無しさん@そうだ選挙にいこう:2011/03/31(木) 23:59:57.02
1できます
2できません

333 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 00:48:06.64
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

現在、上のセルの値を加算させて下へ計算しており、途中で小計を出したいのですが、
小計をはさんでしまうと以降のセルがその小計を参照し、加算されてしまいます。
このような場合、小計毎に新たに計算式を作るしかないのでしょうか?
小計のセルのみ飛ばして加算できる方法があれば是非教えてください。

イメージとしては、もし上のセルから1ずつ加算してゆく場合
   1
   2
   3
小計6
   4
   5
   6
このようになります。

334 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 00:57:51.05
>>333
で、今使っている計算式は?できるだけ詳しくお願いします。
(場合によってはその計算式から小計列の値を計算させない、または差し引く事を
 織り交ぜた式を回答できるかもしれないので。)

335 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 01:00:38.16
>>333
文面からできる回答は、IF使えというところか。
だが俺の直感は、SUBTOTALが使えると言っている。

336 :334:2011/04/01(金) 01:01:08.96
小計”列”じゃなくて小計”行”だな。orz

337 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 07:05:35.15
上の回答は無視してOK。
ピボットを使え。それで解決する。

338 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 09:35:44.20
ありがとうございました。PIVOTを使うことで何とかしたいと存じます。

339 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 10:04:03.88
自演の薫り・・・

340 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 11:24:55.44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 縦 並び コピー 反映

A1-A400まで400個の数字データを入力すると同時に
B1-B400までA欄の数字を上下反転で出力されるようにしたいです
B400に=A1、B399に=A2という作業になるのですが、なんとか一括でというか楽にできる方法はないでしょうか

341 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 11:44:29.66
>>340

B1に
=INDIRECT("A"&400-(ROW()-1))

でオートフィルは?


342 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 11:54:13.26
>>341
そのままではなぜかズレてたのですが400の部分を405にしたらできました
ありがとうございます

343 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 13:45:51.44
【1 OSの種類         .】 WindowsXP**
【2 Excelのバージョン   】 Excel*
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】保護 移動 カーソル ロック 出来ない

VBAのスレで質問したんですが、こちらだったみたいなので
こちらで質問させてもらいます。

保護について教えて下さい。
シートを保護する時にロックをしてるセルを選択出来なくなる
する奴あるじゃないですか?
あれをやると時々エクセルの挙動がおかしくなります。

矢印キーが効かなくなったり
アクティブセルの周りに普段なら出る黒い枠線が出なかったりとか。
スクロールロックが掛かってるとかそんなんじゃないです。

前から時々なってて、ぐぐって調べたんですが
特にこれと言って解決策が見つかりません。
これだという絶対的な発生条件も不明です。なったりならなかったりします。

344 :280:2011/04/01(金) 14:15:03.78
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほんの少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 If Then Not <> "" 入れ子 複数

先日教えて頂いたばかりですのに申し訳ありません。
>>286さんの下さったお答えで解決していたのですが、

「商品データシート」
     A       B          C      D      E       F        G
1 商品名  商品コード  メーカー   合計個数   日付    日付2     日付3
2 りんご    222    AAA        2      20      23       28
3 メロン    333     BBB        1      23
4 ぶどう    111    CCC         3     24

上記のように新たに日付(発送日)の列が2つ加わってしまいまして、
こちらも抜き出して書き出したいです。
(例 「りんご」で検索したときは、日付が3つあるのでそれぞれ1データとして3行分書き込む)
自分で書き足したコードだと、表示が崩れて抽出出来てないものもあります。
コードのおかしいところ、または適した検索ワード等を教えて下さいませんか?


345 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 14:18:21.75
Dim wsD , Dim wsZ , wsT As Worksheet
Dim mykey As String '商品名
Dim hiduke2 As String '日付2
Dim hiduke3 As String '日付3
Dim FoundCell , KeyRow As Range
Dim i As Long
Set wsD = Worksheets("日付順リスト")
Set wsZ = Worksheets("商品データ")
Set wsT = Worksheets("お客様リスト")
i = 2 '検索結果の表示行は2行目からなので
For Each KeyRow In wsZ.Rows(2).Resize(wsZ.Cells(2, 1).End(xlDown).Row - 1)
mykey = KeyRow.Cells(1).Value '商品名
hiduke2 = KeyRow.Cells(6) '日付2
hiduke3 = KeyRow.Cells(7) '日付3
For Each FoundCell In wsT.Range("E2:G2").Resize(wsT.Cells(2, 1).End(xlDown).Row - 1)
If FoundCell.Value = mykey Then
wsD.Cells(i, 1).Value = KeyRow.Cells(5).Value
wsD.Cells(i, 2).Value = mykey
wsD.Cells(i, 3).Value = KeyRow.Cells(2).Value
wsD.Cells(i, 4).Value = KeyRow.Cells(9).Value
wsD.Cells(i, 5).Value = FoundCell.EntireRow.Cells(2).Value
i = i + 1


346 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 14:19:04.33
If hiduke2 <> "" Then
wsD.Cells(i + 1, 1).Value = KeyRow.Cells(6).Value
wsD.Cells(i + 1, 2).Value = mykey
wsD.Cells(i + 1, 3).Value = KeyRow.Cells(2).Value
wsD.Cells(i + 1, 4).Value = KeyRow.Cells(9).Value
wsD.Cells(i + 1, 5).Value = FoundCell.EntireRow.Cells(2).Value
If hiduke3 <> "" Then '日付3が空白でないときは必ず日付2も入っているので
wsD.Cells(i + 2, 1).Value = KeyRow.Cells(7).Value
wsD.Cells(i + 2, 2).Value = mykey
wsD.Cells(i + 2, 3).Value = KeyRow.Cells(2).Value
wsD.Cells(i + 2, 4).Value = KeyRow.Cells(9).Value
wsD.Cells(i + 2, 5).Value = FoundCell.EntireRow.Cells(2).Value
End If
End If
End If
Next FoundCell
Next KeyRow

改行が多すぎると出ましたので、分けました。
どうぞよろしくお願いします。

347 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 14:23:54.15
Cells()の指定値が一個ずれてる

348 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 14:26:53.34
>>343
それってバージョンが大切だと思う。

349 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 14:36:56.62
>>344
wsD.Cells(i + 1, 5).Value = FoundCell.EntireRow.Cells(2).Value
wsD.Cells(i + 2, 5).Value = FoundCell.EntireRow.Cells(2).Value

の後にも i = i + 1

wsD.Cells(i + 1, 1).Value
wsD.Cells(i + 2, 1).Value

これらの +1、+2を全て(5x2=10カ所)外す



350 :280:2011/04/01(金) 14:44:08.14
>>347さん
>>349さん

お二方ともアドバイスありがとうございました。
できました!
次の行に書き込むから、と+1してたのがダメだったのですね・・・
cell()の指定値のどこだろう、と試していたところでしたので、
349さんには指摘頂き、本当に助かりました。
ありがとうございました。


351 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 15:34:26.77
× A→C→D→B→D→E

i →A
i=i+1      (i=3)
 i+1 →C  (i=3、i+1=4)
  i+2 →D (i=3、i+2=5)
i →B
i=i+1      (i=4)
 i+1 →D  (i=4、i+1=5)
  i+2 →E (i=4、i+2=6)

〜〜〜〜〜〜〜〜〜〜〜〜〜

○ A→B→C→D→E→F

i →A
i=i+1      (i=3)
 i →B
 i=i+1     (i=4)
  i →C
  i=i+1    (i=5)
i →D
i=i+1      (i=6)
 i →E
 i=i+1     (i=7)
  i →F
  i=i+1    (i=8)

352 :280:2011/04/01(金) 16:43:58.12
>>351
分かりやすいご説明ありがとうございます!
書類を作っていましたのでお礼が遅れてすみませんでした。
もっと自分で出来るように頑張ります。

353 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 22:40:09.26
こんばんわみなさん 質問です

エクセル2000から2010を使いたいんですがメニューが変わりすぎて使いづらいです
2010を2000風にできないですかね?

354 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 22:45:05.22
こんばんわみなさん 質問です

エクセル2000から2010を使いたいんですがメニューが変わりすぎて使いづらいです
2010を2000風にできないですかね?

355 :名無しさん@そうだ選挙にいこう:2011/04/01(金) 23:27:20.44
こんばんわみなさん 質問です

エクセル2000から2010を使いたいんですがメニューが変わりすぎて使いづらいです
2010を2000風にできないですかね?

356 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 00:10:55.66
>>353
2010見当たらないね
http://blog.hushlogue.com/?eid=689511
2007ならあるんだけどねぇ
「エクセル 2010 2003 2000 見た目 メニュー」辺りをテキトーに組み合わせて検索したら出てくるかも

357 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 00:14:05.77
>>353
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1345530803
2007用でも動くかも知れないから試してみてはいかがかなー
どうなってもしらんけど、うまくいくかもしれない

358 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 09:18:00.01
売上一覧で
A列に営業の名前が入っていて、
B列にはその営業のお客さんの名前が入っていて、
ひとりひとりの営業が今月何人お客さんがいるかをいっぺんに見たいので、
[Aにその営業の名前]かつ[Bの文字列の種類]の数を出す関数はありませんか?

359 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 09:57:46.18
ああ、いくつかあるよ。

360 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 11:15:00.18
それは、どの関数でしょうか?
それにしても、質問の空気が読めない人が多い気がするのは、私だけ?

361 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 11:28:30.58
それにしても質問スレの空気が読めず、
Excelのバージョンも書かずに質問する人が多い気がするのは、私だけ?

362 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 11:47:13.12
関数探すだけならここに質問するよりヘルプ検索したほうが速いのに

363 :複乳:2011/04/02(土) 11:52:39.00
>>358
データベース関数でできたかも知れないけど、よく知らない
ピボットテーブル使うのが一番早い

まあ関数の質問だから関数で答えるけど
http://www.dotup.org/uploda/www.dotup.org1486531.xls.html
AB列の結合した文字列をcountifでもとめてその逆数の和が種類になる
そんな気がする

364 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 11:58:26.49
ふつうの関数じゃ無理だね 営業と客の同じ組み合わせが複数行あったら重複してカウントしちゃう

365 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 13:55:31.28
ありがとうございます。良心のある方がいるようで安心いたしました。
逆数とは何でしょうか?

366 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 14:21:51.11
>>365
その数字で1を割ったのが逆数
3の逆数は1/3

367 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 15:21:24.96
>>363
ありがとうございます。
できればlとoをどっちも両方一緒に見たいのですがどうすればいいですか?

368 :複乳:2011/04/02(土) 17:55:50.07
>>367
2.3種類なら右に似たような数式を作ればいい。もう作らない。
それ異常あるならピボットテーブルのほうが早い

369 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 22:24:57.18
ありがとうございます。
異常はありませんのでこのままやってみます。
また、ピボットテープは関数でしょうか?

370 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 22:29:37.09
>>369
ピボットテーブルでググれ。話はその後だ

371 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 23:02:24.96
種類数えるのにCOUNTIFの逆数なんてアホカよ。
データ数の2乗に比例して遅くなるものはクソだぞ。
並び替えて上と違うものの数を数えろよ。

372 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 23:15:56.21
どうか、回答者様同志で喧嘩をしないよう、よろしくお願いします。

373 :名無しさん@そうだ選挙にいこう:2011/04/02(土) 23:42:36.83
お前が原因を作ってんだよ

374 :複乳:2011/04/03(日) 00:05:42.84
>>371
それもそうだな
>>372
別に喧嘩はしてないと思うけど

375 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:07:14.98
【1 OSの種類         .】 Windows7 64bit
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba excel 2010 違い

現在、Office2000をまだ使用中です。
VBAを仕事で使用したいと思い、これを機にOffice2010に変えようかと検討しています。
ざっくりとした意見でかまわないので、やめておけとかおすすめとか、2010の評判を教えてください。

ちなみに現在特に重要なVBAの資産もないですし、自宅では上記の環境、職場では
WindowsXP/VISTA Office2003/98のいずれも使用可能です。(いずれかで作成したVBAが
使用できれば良いです。Win32のAPI等凝ったことはしない予定です。)

Office2003のエクセルを使用した感じだと、関数を入力中にヘルプが表示されたり、
初心者には優しいのかなと思ったので、さらに使いやすくなってるのでしょうか・・・?


376 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:09:15.81
就活しています。
自宅のPCはExcel2002(OfficeXP)ですが、
中小企業さんではExcel2003が一般的でしょうか?

377 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:13:37.24
>>376
リース期間の関係もあって2003が多いと思います。
中小であれば、それより古いものも結構多い。


378 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:16:53.20
>>375

2007は評判が悪かったけど、2010は諦め感があるし、もう2003から移るべき時期には来ていると思う。
タイミング的には乗り換えても。
2010で便利な機能もあるし、相変わらず使い勝手の悪いイライラする面もあるけど。

>>376
中小企業が2003を使っている、って事はない。意外と乗り換えやすいのは中小企業。
ただ、これは会社に拠るからなあ。
未だにXPを使い、OFFICE2003を使っているのは大企業が多いと思う。


379 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:21:45.24
>>378
くさっても最新版ってとこでしょうか・・・
じゃあ今から買ってきます
いくらするんだろう・・・・・高いんだよなオフィス・・・。
ありがとうございました。



380 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:30:18.29
>>377-378

>>100


381 :219:2011/04/03(日) 12:36:29.30
>>224
テンプレ端折っても「ピボットテーブルで」と書いてるから
VBAが使えるか、VBAでの回答の可否は省略しても
意味が通じると思うんだよね。

煽り厨は、答えられるスキルがないなら引き篭もってろよ(はぁと♥

382 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 12:55:26.22
あーあ、やっちゃったね。これで回答貰える確率はグンと下がった。

しかしまだ希望はある…そう、複乳だ。

奴は実社会で他人から必要とされることがなく、頼られること、お礼を言われることに飢えてるから
バカ質問者を助長し、スレの秩序を乱すことになるのもお構いなしで、解ることにはなんでも答えちゃう。
どんなバカ質問者でも、回答くれた人にまで悪態付くことは無く、大抵お礼を言ってくれるどころか
複乳だけがまともな回答者かのような物言いをしてくれることもあるので、複乳的には超ご満悦なわけだ。

ただ問題は、複乳はここの回答者としてはかなりレベルが低いということ。
まあレベルが低いとは言っても回答者としてなので、ちゃんとまともに答えられることも結構あるが
答えたくても答えられない事が多く、また答えても無駄が多かったり、一応出来てるように見えて
実は不適切だったりすることも多々。

383 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 13:01:48.77
複乳で済むならそれに越したことはない 最近怠けてるけどな

384 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 13:09:56.05
へんな名前の奴多いんだねここ

385 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 13:12:45.97
いや、多分先の震災で複乳は被災してたんだとおもう。

最近ようやく落ち着いたんじゃないかな。

386 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 13:35:57.53
でも複乳じゃ例のグーグルマイマップの件とかには答えられないだろうな
アホー知恵遅れに逃げて5日になるけど、まだ回答付かず放置状態w

複乳よ、解るなら盛大に喜んで貰えるチャンスだぞw

387 :複乳:2011/04/03(日) 14:16:52.34
>>381
http://www.relief.jp/itnote/archives/001255.php
ピボットテーブル 0を表示 で検索すれば一発だった
>>385
就職活動中なんだよー
地震と関係なく結構最悪のタイミングで会社なくなった<>
>>386
わかんないです><

388 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 16:36:33.20
eXcel kattekitayo

instal tyuu

389 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 17:04:22.22
Aのブックに写真付のデータを入力し
Bのブックに入力したデータの一覧化というのは可能でしょうか?

Aに原紙があり、データを入力すると新しいシートにデータを出力(原紙はそのまま)
BのシートはAで作成したデータシート(n枚)を一覧かつハイパーインク付き

Aのブック
入力用シート(原紙)
入力したデータシートA
入力したデータシートB
    ・
    ・
    ・

Bのブック
Aの入力したデータを一覧
ハイパーリンクAをクリックするとAのデータシート
BをクリックするとBのデータシート

390 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 17:14:23.59
>>389
「VBAで出来るから自分でコード書いて」 (>>3参照)

391 :219:2011/04/03(日) 17:57:14.37
>>382
あのね、もう220-221で解決済みなのよw

複乳さんを小馬鹿にしてるけど、俺は彼を支持するね。
中には「そりゃないだろう」って回答もあるけど、質問者の大半は
とりあえず「動く」「集計できる」ってことで満足してるんじゃないかな?

それより、質問者のレベルを無視して回答してる人の方が
自己満足してると思う。


>>387
いつもありがとう。
大企業の求人倍率は0.47倍、中小なら4.35倍(だったかな?)
大手に拘らなければ、複乳さんならいくらでも仕事があると思う。

392 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 18:03:27.27
可哀想な子、、、

393 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 18:37:03.15
解決してるんなら同じ質問投げるなよ

394 :複乳:2011/04/03(日) 20:04:27.84
あら、終わってた問題に回答しちゃったのね。まぁいっか
>>391
ありがとう。今も中小企業で就活してるよ。昔大企業にいたけどほんとうにだるかったわ。一年いたけど支店従業員120人の名前最後まで覚えられなかったわ
コジキになる心配はしてないけど、さすがに就職活動はめんどくさいわー
あと公務員に近いと言ってできるだけ仕事が少ない協同組合を選んだら見事に会社ごとなくなったわ。因果応報としか言いようがないわ。まぁいいわ。
ちなみにとある薬品を処理する工場よ。特定しいなでね。
さすがに次は真面目にやるわ。ありがとうね。

395 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 21:35:10.92
自分かたりうざい

396 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 21:39:38.04
Excelの勉強も真面目にやった方がいいぞ

397 :複乳:2011/04/03(日) 22:47:32.43
>>395
失礼。私の話題が出てたもんで乗ってしまいました

398 :複乳:2011/04/03(日) 22:48:28.12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002(officeXP)
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】様々
私は今、転職活動中です。現在はオフィスXP(エクセル2002)を使用しています。
vbaはCOMは使えませんが、コマンドプロンプトを通じてファイル操作する程度はできます。
転職のためには2007や2010を買って勉強したほうが良いでしょうか。

399 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 22:55:46.97
>>398
冗長なコードや数式を書くことが多々見受けられるので
まずはそういうところを直しましょう。
バージョン気にするのは、そのレベルを卒業してからで十分です。

400 :名無しさん@そうだ選挙にいこう:2011/04/03(日) 22:55:56.91
いいえ

401 :複乳:2011/04/03(日) 23:22:51.57
>>399-400
そうですか、ありがとうございます

402 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 00:15:10.72
>>398
転職のためにはまず>>394みたいな発言をしないことじゃないかな?

403 :複乳:2011/04/04(月) 00:25:54.96
>>402
お気遣いありがとうございます
面接中・勤務中では猫をかぶりますので大丈夫です

404 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 09:03:21.17
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

左右を見比べながら入力作業をしたい
モニターに2つのデータを出す方法を教えてください。
例えば右側はAデータ、左がBデータ
または上下でもできたはずです。

わかりづらいかと思いますがよろしくお願い致します。

405 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 09:44:05.18
【2 Excelのバージョン   】 Excel2000
Webから、タブ区切りのcsvをダウンロードした時にタブ区切りを認識させたいのですが、
ggっても設定方法が分かりませんでした。 
区切り無しの一行で読み込んでしまっているんので、やり方を教えて下さい ><

406 :複乳:2011/04/04(月) 09:51:09.86
嫌です〜

407 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 09:57:58.73
>>405
データ>区切り位置

408 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 12:00:06.10
>>404
2つのブックを並べて表示するなら表示→整列
同じシートの中の離れた場所を表示するならウィンドウ枠の固定

409 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 13:27:51.27
そういう時は嫌じゃなくて分かりませんて言うんだぜ?

410 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 14:08:20.55
2000だとwebクエリまだ無かったんだっけな?

411 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 18:46:41.24
【1 OSの種類】 Windows7
【2 Excelのバージョン】 Excel2010
データの種類を表示する方法が知りたいです

企業名が無作為に重複しつつ存在しているとして(空欄はない)
ある範囲に含まれている企業名の種類をすべて抽出したいのですが
良いやり方はありませんか?

412 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 18:54:44.21
>>411
企業名の他に何か数列や文字列などデータは入っていますか?

413 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 18:59:08.95
>>412
入ってません

414 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 19:30:56.22
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 MOS試験

MOS試験を受けようと思っています。
現在、会社でも自宅でもExcel2003なので、2003を受けるつもいです。
ところが、本屋に行っても2007と2010の模擬試験集しかありません。
出題は同じと思えばいいでしょうか?

415 :複乳:2011/04/04(月) 19:33:26.34
全然違うよう

416 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 19:36:51.94
>>411 ピボットテーブル

417 :複乳:2011/04/04(月) 20:21:54.29
>>404
新しいウィンドウを開く
>>414
大体おなじ。2007で減った機能はなかったと思うんで2007用でもいいけど
見た目が違うので避けたほうがいいかも
何ならヤフオクで落とすほうがいいかも
ttp://page13.auctions.yahoo.co.jp/jp/auction/r74495547


418 :複乳:2011/04/04(月) 20:24:58.27
>>411
2003だとフィルタオプションで重複するレコードは無視する
2010は知らん

419 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 23:11:46.79
パソコン一般の初心者スレからこっちに誘導されたので同じ質問します。

今、excelで列6行3000位のデータを扱っています。
データは
1,2,3,4,5,6
7,8,9,10,11,12
というような順番になっているのですが、
これを
1
2
3

というように並べ変えたいと思っています。

行列を入れ替えようとすると、エクセルの列の上限(Excel2000なので256)に当たり
出来ません。

質問は何かこれを簡単にやる方法ってありませんでしょうか?
(当方マクロの知識は一切ありません……)
もしくはExcelっぽいソフトで列数の制限が広いヤツとかってないでしょうか?

420 :名無しさん@そうだ選挙にいこう:2011/04/04(月) 23:16:48.50
計算の必要のない単なるデータなら、csvやtsvでいいんじゃね?
行数、列数ともにほぼ無限

あと、1,2,3を
1
2
3
にするのも、csvに出力してカンマを改行に置換すれば一発


421 :419:2011/04/04(月) 23:34:19.41
>>420
なるほど!
ありがとうございます
早速やってみます

422 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 00:51:22.32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 コピペでなら
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ふりがな VBA 関数

簡潔に言うと、B1セルの文字を、A1セルの漢字の「ルビ」として
振ることは可能かどうか教えていただきたいです。

現在名札を製作中です。LEFTやらFINDやらで名簿の氏名を苗字と名前に分け、
それにVBAの「SetPhonetic」をかまして、オートでルビを振るところまでは
できました。しかし、入力時のデータが生かされるため、正しい名前の読みは
完全に出てきません。せっかくフリガナのデータがあるのだから、
それをルビに流用したいと考えております。

どうぞ、よろしくお願いいたします。

423 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 07:39:22.99
>>422
フリガナを自動できちんとつける方法はない

Range("A1").Characters.PhoneticCharacters = Range("B1")

みたいにすれば一応設定は出来るけど、これだと
名前の一文字目にすべてのフリガナが関連付けられてしまうため、
データの位置関係はこんなふうになってしまうので注意

ヤマダ タロウ
山      田 太郎

まあいっぺん試してみて
書式やフォントの大きさによってはフリガナがちゃんと乗ってるように見えることもあるから

424 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 08:20:34.12
>>419
もう見てないかな?
元のデータがAからF列に入っている場合、どこか空いてる列にこの式を入れれば一列になるよ
=INDEX($A:$F,INT((ROW()-1)/6)+1,MOD(ROW()-1,6)+1)

425 :VBA厨:2011/04/05(火) 08:53:20.90
>>422
イ ロ  ハ ニ ホ   イロ ハニホ   イロハニ ホ ヘ
姓姓 名名名   姓 名名   .姓姓 名名

. イ ロ    ハ ニ ホ
姓  姓  名 名 名

こんな感じでよければサンプルあげるよ
漢字書きの氏名、ふりがな共に、姓と名を全角スペースで区切っていること前提のコードなので
現状、区切りが無いなら区切りを入れ、半角スペース区切りならデータを置換で直すかコードの「姓と名の区切り文字」の""内を書き換え
下段の例のような場合は、コードの区切り文字は全角スペース2個にして、ふりがなの区切り文字も全角スペース2個にしてね
(「イロ  ハニホ」とすれば良しで、「イ ロ  ハ ニ ホ」のようにする必要は無い)

Private Sub Sample()
 Const s = " " ' 姓と名の区切り文字
 Dim n() As String, p() As String, r As Long

 For r = 1 To 2 ' 1行目から2行目まで
  With Cells(r, 1)
   n = Split(.Value, s)
   If UBound(n) <> 1 Then MsgBox "名前が不正です": Exit Sub
   p = Split(.Offset(, 1).Value, s)
   If UBound(p) <> 1 Then MsgBox "ふりがなが不正です": Exit Sub
   .Phonetics.Alignment = xlPhoneticAlignDistributed
   .Characters(1, Len(n(0))).PhoneticCharacters = p(0)
   .Characters(Len(n(0)) + 2, Len(n(1))).PhoneticCharacters = p(1)
   .Phonetics.Visible = True
  End With
 Next r
End Sub

426 :複乳:2011/04/05(火) 09:04:28.50
助けてください。もう自分が理解できません。
あー桃太郎!ぼつちやーん\(^o^)/

427 :VBA厨:2011/04/05(火) 09:13:14.96
おっと間違いがあった
×.Characters(Len(n(0)) + 2, Len(n(1))).PhoneticCharacters = p(1)
○.Characters(Len(n(0)) + Len(s) + 1, Len(n(1)) + 1).PhoneticCharacters = p(1)

428 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 10:24:05.05
VBA厨氏が居るときは、複乳は出てこなくていいよ。

429 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 10:59:06.06
Excelに直接入力した時でも、結局は
山←ヤマダ

太←タロウ

になっちゃうんだよな。フォントサイズを変えると激しくずれるから、名札とか作るにはあんまり向いてない。
漢字とカナが対応できない名前は別として、理想はこうなんだけどね
山←ヤマ
田←ダ
太←タ
郎←ロウ

430 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 11:26:18.34
文章ルビなら
山←ヤマ
田←ダ
太←タ
郎←ロウ
が理想かも知れないが、人名ルビは
山┐←ヤマダ
田┘
太┐←タロウ
郎┘
が理想だろjk
スペースで位置整えてる場合はフォントサイズ変更で激しくズレるけど
割付けで位置整えてる場合はフォントサイズ変更してもズレないし。

それに
> 漢字とカナが対応できない名前は別として
と言うが、自分のだけ作るならまだしも、不特定多数のを作る場合は
別として、じゃ済まないからな。

431 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 11:49:40.77
>>430
普通に拡大するとこんなんになるんだけど、バランス悪い思わない?
ttp://ourfilehost.net/up/file1/img/up3203.png

漢字とカナが対応できない場合は均等に割ればいい
そうでない場合はきちんと並べた方が見栄えがいい
あと、小説や文章のルビと名前のフリガナは別として考えるべき

432 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 12:21:57.32
それは位置バランスが悪いのではなく
漢字とふりがなのサイズ比を故意に極端に悪くしてるだけやんw

故意にやったらいくらでもバランス悪く出来るよ。
http://ourfilehost.net/up/file1/img/up3204.png

Aは、@を君がバランスが良いと言うところの単字ルビ(きちんと並べた)に
したものだが、サイズ比が極端に悪ければ結局バランス悪く見える。

しかしサイズ比さえ極端に悪くなければ、単字ルビではないCDEも
バランス悪くはならない。

433 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 12:39:31.20
バランスなんてのは、好みの問題もあるから絶対的な正解なんて無いんだろうが
画像検索でフリガナ付きの名札、名刺、表札などを見てみると、漢字1文字単位でフリガナ付けているものは殆ど無いね

434 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 15:00:40.34
昔は印刷屋にやってもらったものが、最近はなんでもパソコンで自作するようになって
バランスの悪い印刷物が増えたよね
とくにExcelで印刷された文書はバランスが悪くて読みにくいものが多い
ExcelはDTPソフトじゃないのに

>>433
世の中には黄金比というものがあってだな…

435 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 15:28:05.04
>>434
全然的を射てない話だなw
どうにも退けなくなっちゃって、詭弁や屁理屈で自分の正当性を確立しようと必死になってる感じ
これ以上頑張っても滑稽なだけなので、もう少し勉強してから出直した方がいいぞ

436 :複乳:2011/04/05(火) 19:37:11.61
>>422
IMEのフリガナデータを使うーGetPhonetic
http://officetanaka.net/excel/vba/tips/tips49.htm
>>432
の5ぐらいは十分キレイじゃないか
名札なんてアルバイトでもそんなに変えないんだし、作るたびに列幅変えてもいいわけだし
ある程度は作る人が調節するでしょ

437 :414:2011/04/05(火) 19:47:28.94
>>417
ありがd

438 :名無しさん@そうだ選挙にいこう:2011/04/05(火) 20:28:57.98
>>423
A1セルに山田 太郎、B1セルにヤマダ タロウと入れてやってみたけどウンともスンとも......
何がダメぽなの??

Sub test()
Range("A1").Characters.PhoneticCharacters = Range("B1")
End Sub

439 :複乳:2011/04/05(火) 21:16:56.77
>>438
http://www.dotup.org/uploda/www.dotup.org1499394.jpg.html
>>423のマクロはセル内の漢字データに、B1の文字列を、フリガナとするマクロ
http://www.dotup.org/uploda/www.dotup.org1499398.jpg.html
こっちはIMEのデータをフリガナとするマクロ

フリガナをどういう風に表示させてるかで活用法はいろいろ異なるが、
お主の場合はshift+enter+↑でフリガナを付け直したほうが早いかも知れない

440 :422:2011/04/06(水) 07:12:49.73
皆様どうもありがとうございます。
皆様のVBAをためさせていただきました。
>>423さんのであっさり出来ることに驚き、>>425さんのものでは
目に見えるセルの指定がないのに何故できるのか驚いております。
しかも、メッセージボックスまで出る。VBAとは奥が深いのですね。

問題の「ズレ」ですが、漢字振り仮名共に全角にて苗字と名前を分け、
別々のセルに送った上でルビを振る、という名札なので均等配置にすれば
問題なさそうです。正直に申し上げると

1年1組
   山
   田
 太
 朗

のような「どこか」でよく見る名札を作っております。40人分ずらーっと。
その為、別シートの名前やらの一覧から、名札のシートに全角スペースで
苗字と名前を分けながら送りつつルビを振る、しかも上のセル構成、
という結構複雑な流れになっております。
後日また、シート付で質問させて頂いてもよろしいでしょうか。
どうぞ、よろしくお願いします。

441 :複乳:2011/04/06(水) 07:18:01.24
ワードでやればいいのに…

442 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 07:20:41.16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 コピペでなら
【4 VBAでの回答の可否】 できれば関数で
【5 検索キーワード     】 Phonetic ふりがな VBA

連続ですがもう一つ質問をさせてください。
A1のフリガナに対し、苗字と名前に分けながらふりがなに変換する、
という作業をしたいのです。
苗字 =IF(A1="","",LEFT(A1,FIND(" ",A1)-1))
名前 =IF(A1="","",MID(A1,FIND(" ",A1)+1,LEN(A1)))
という感じですが、これに「phonetic」を先頭にかましたり、LEFTの前にかましても
エラーが出てきてしまいふりがなにしてくれません。
何処で間違ってしまっているのでしょうか。
これもまた名札のような複雑なセル構成の所で活用したいので、
出来うる限り関数で処理したいのです。ご教授お願いいたします。

443 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 07:24:50.14
>>441
環境もスキルも意識も「10年遅れている」、という現場の事務作業軽減の為、
誰でもワンタッチで使えるものを作る必要があるのです。本当に申し訳ない。
われながらしつこいと思うので、「やってられないぜ!」という場合はどうぞ軽く流してください。

444 :複乳:2011/04/06(水) 07:35:08.36
>>442
A1をphonetic(A1)

445 :293:2011/04/06(水) 08:50:37.51
2003でも試してみたところ
>>295さんが書いてくださったように
2003から仕様変更があったようです。
新しい仕様に慣れようと思います。

446 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 15:05:34.25
>>293
Ctrl+A押せばその仕事するマクロを記録しておけば良くない?

447 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 15:10:56.03
セル内編集状態では、マクロが動かないことを知らないのか?

448 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 16:15:54.03
2011.04.05 09:02 -5
2011.04.05 09:06 -2
2011.04.05 09:21 10
     ・         ・
     ・         ・
     ・         ・    
2011.04.05 11:10  3

というデータがエクセルにあるのですが、これを縦棒グラフで
9時台の合計・・・10時台の合計・・・ というようなグラフを作りたいのですが
どうすればいいでしょうか?

説明下手ですがイメージとしてはこんな感じです
http://www.dotup.org/uploda/www.dotup.org1502491.jpg.html

よろしくお願いします


449 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 16:28:02.41
2段階で考えろ

×9時台の合計・・・10時台の合計・・・ というようなグラフを作る
○9時台の合計・・・10時台の合計・・・ をシート上に出す
  それをグラフにする

そうすりゃ至極簡単なことだ

450 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 16:53:36.48
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 集計 関数 セルの色

A1:A10にランダムに数字をあてはめ、入力された数字によって5段階にセルの色が白〜赤に変わるような条件付き書式を設定しています
この結果をB1(白のセル=○個)からB5(赤のセル=○個)という風に集計出力したいのですが、いまいち検索結果では理解できませんでした

色で判定させる方が楽なのか、条件付き書式で判定させる方が楽なのか
またどの様な関数を使えば良いのか、よろしくお願いします

451 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 17:07:39.78
関数というか数式では背景色条件の式は組めないよ
数値を基準に色分けしてるんだから、
例えば10以下を白にしてるなら、10以下の数を数えれば、白セルの個数になる

452 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 17:20:08.81
>>449
返事どうもありがとうございます

○9時台の合計・・・10時台の合計・・・ をシート上に出す
というのは、オートサムを手動でやる以外に方法はありますか

453 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 19:47:48.81
>>452
ピボットテーブルで「時」でグループ化しろよ。
グラフはピボットグラフ。

454 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 21:28:23.39
A1セルに
あああいいいい
とあって

「あああ」が赤色
「いいいい」が黒だった場合
置換で「いいいい」を「おおおお」にした場合
「あああうううう」が全て赤になってしまいます

これを色を変えずに置換って可能でしょうか?


455 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 21:42:09.08
>>454
ナニイッテマスカ?

456 :名無しさん@そうだ選挙にいこう:2011/04/06(水) 22:05:38.56
>>451
キーワードでggってみたところ
ttp://okwave.jp/qa/q6034747.html
がHITしたので解決しそうです

ありがとうございました

457 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 06:44:48.84
>>454
1セル内で2つ以上の書式ある場合の置き換えは、マクロで作らないとそうなっちゃう。
マクロならできるけどめんどくさい。

458 :448:2011/04/07(木) 09:55:18.18
>>453
返事遅くなってすいません
どうもありがとうございます。

ピボットテーブルって全然知りませんでしたがググッてやってみました

ただ、グループ化で日付の表記が 

2011.04.05 09:02

なのが原因なのかわかりませんが、「選択対象をグループ化することはできません」とエラーが出ます
何かいい方法はないでしょうか

459 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 15:31:37.00
平成08年07月11日を平成8年7月11日という表記するいい方法はありますか?

460 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 16:01:37.00
シリアル値で入力してあるなら、普通に「ggge"年"m"月"d"日"」とすればいいだけじゃね?

文字列で入ってるなら「成0」「年0」「月0」を、それぞれ「成」「年」「月」に置換

461 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 19:08:29.43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

すみませんが、どなたか教えて下さい。

例えば、EXCELのブックの中に、11個のシートがあるとします。

その内の1〜10番目のシートは全て同じ内容で、
同じ場所に数字が書かれています。
仮にその数字の場所を「D20」とします。

11番目のシートは、合計を表示する特別なシートです。
1〜10番目のシートのD20の場所を合計して、
11番目のシートの「B10」に表示させたいと思っています。

この時、11番目のシートのB10に
「=シート1!D20+シート2!D20+・・・・」というように、
1〜10番目のシートを全てプラスしていけば合計は表示されますが、
この方法だと、シートをさらに追加した時、毎回手入力で追加して書き込んでいかないといけません。

シートは日々どんどん追加してゆく予定なので、
できれば、追加しても自動的にD20の位置の数字を合計に加算したいと考えています。
合計を表示するシート11のD20の位置はブランクにしているので、
要は「全シートの同位置の数字を自動的に合計する方法」が知りたいのです。

このような対応はEXCELで可能でしょうか?
どうかよろしくお願いいたします。


462 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 19:25:39.88
>>461
シートが
[1][2][3][4][5][6][7][8][9][10][集計]
と並んでるとしよう。で
[1][2][3][4][5][6][7][8][9][10][11][集計]
[1][2][3][4][5][6][7][8][9][10][11][12][集計]
と増えるとする

この場合、まずは
[1][2][3][4][5][6][7][8][9][10][ダミー][集計]
として
[1][2][3][4][5][6][7][8][9][10][11][ダミー][集計]
[1][2][3][4][5][6][7][8][9][10][11][12][ダミー][集計]
のようにシートを追加していく。

で、使用する式は
=SUM(1:ダミー!D20)

これで
[1]〜〜〜〜〜〜〜〜〜〜[ダミー]
までの全てのシートのD20の合計が出る
ダミーシートの名前は、数式と一致させればなんでもいいし
ダミーシートには何も入力しなくて良し。

普通はこうやるんだが、集計シートの対象セル(D20)が
ブランクというのが確実な条件なら、ダミーシート使わず
=SUM(1:集計!D20)
でも構わない。

463 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 19:37:34.38
>>461
串刺し計算

sheet11!B10 =SUM(Sheet1:Sheet10!D20)

464 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 19:43:31.71
>>462
>>463
お返事、ありがとうございます!
早速やってみましたら、うまくいきました!
本当に助かりました。感謝感激です!!


465 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 20:09:01.82
>>458
俺のExcelではできてる

466 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 20:47:10.82
ちょうど昨日そんなエラーに遭遇したのよね。
年月日が入力されているセルをピボットテーブルでグループ化しようとしたら出来ないんだわ。
書式の問題かと思って揃えたんだけどうまく行かなかった。

人のエクセルの表で急ぎだったから何が原因なのか分からんまま別の方法をとった。
自分のエクセルでは当然グループ化出来た。

467 :名無しさん@そうだ選挙にいこう:2011/04/07(木) 21:21:23.47
>>463
それだとシートの追加には対応出来んぞ
まあ上にちゃんとした回答あるからいいけど

468 :463:2011/04/08(金) 09:56:52.91
>>467
シートの追加に関しては>>462が説明していますが基本的な串刺し計算について
説明が曖昧だったので。


469 :名無しさん@そうだ選挙にいこう:2011/04/08(金) 10:25:10.53
素直になろうぜ

470 :名無しさん@そうだ選挙にいこう:2011/04/08(金) 15:52:09.44
僕は男が好きです

471 :名無しさん@そうだ選挙にいこう:2011/04/08(金) 15:53:40.86
僕もです

472 :名無しさん@そうだ選挙にいこう:2011/04/08(金) 16:46:00.56
ちなみにボクは女ですが

473 :名無しさん@そうだ選挙にいこう:2011/04/08(金) 16:57:13.69
私、ヅラです

474 :名無しさん@そうだ選挙にいこう:2011/04/08(金) 23:03:16.36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】COUNTIF関数

××以下の数字の個数を数える場合にたとえばCOUNTIF関数を用いて
=COUNTIF($A$1:$A$99999,"<21.47")
という風にセルに入れると21.47以下の数字の個数をカウントできますが
この21.47という数字をセルを指定する事ってできないんでしょうか?
いちいち手入力でやるのがめんどくさくてたまりません。
どなたかいい知恵がありましたらご教授下さい


475 :複乳:2011/04/08(金) 23:08:43.96
>>474
C1に21.47といれて
=COUNTIF($A$1:$A$99999,"<"&C1)

他にはCtrl+Hの置換で,「"<21.47"」を「,"<33.33"」でも数式を書き換えることができる

476 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 07:17:54.88
>>474
$A$1:$A$99999としてるということは、その他の数値以下も数えたいんだろ?
だったらCOUNTIFじゃなくFREQUENCY関数を使え。
C1:C100に数値がありD1:D101に答えを求めるなら、D1:D101を選択して
=FREQUENCY(A1:A100,C1:C100)としてCtrl + Shift + Enterでいける。
D101はC100を超えた数値の数な。
超えることがなければD1:D100を選択して同じ数式を入力汁

COUNTIFはひとつの数値以下だけ数えるなら正解だが、そうじゃなければ不正解。






477 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 07:22:11.67
A列はA99999までだったな。
=FREQUENCY(A1:A99999,C1:C100)
としてCtrl + Shift + Enterだな。

478 :476:2011/04/09(土) 07:32:25.52
頻度分布と勘違いしたわ。
上のFREQUENCYの答えの累計を求めればいい。
E1に=D1、E2以下は=E1+D2だな。
C列の値は昇準になってることが前提。

479 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 07:54:17.25
>>475-478
ありがとうございました

480 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 11:20:58.00
何か突然何も入力できなくなりました。
ファイル等は開けます、2時間前までは普通に作業していました。
シートの保護などはしてません、何だかツールバーとか全体的に透明
がかっていて使用できません。セル番は動かしたりできるのですが、
何も入力できません。
2003を使っています。アドバイスお願いします。


481 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 11:35:15.27
ぼくのせいじゃないからね。

482 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 12:00:35.04
>>480
Excelを一度終了して再実行
PCを再起動
Excel(Office)をアンインストール後に再インストール
OSを再インストール

ここまでやってダメならまた来なさい

483 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 14:34:10.67
飼いねこがキーを押していた、が真相

484 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 15:26:03.71
>480
それはエクセルだけの話ですか? 他のアプリは異常ありませんか?
2chへの書き込みは同じPCでやっているんですか?

485 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 15:36:00.57
Excelだけです、いまのとこ。

486 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 16:54:55.84
Excelで新規ブック作ってもそれならExcel壊れてんじゃねーの?
特定のブックだけだったらブック壊れてる

487 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 16:55:58.45
それかapplicationのプロパティでなんかあったな
ユーザーの入力受け付けなくするやつ
そのマクロ実行中に落ちたとかじゃない限り壊れはしないだろうけど

488 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 17:11:02.76
エクセルについて質問。誰か教えてください。

「A2が空白ならB2に空白を返し、A2に0以上の整数が入っていれば100からその数字を引いたものをB2に返す」
ってのがやりたくて、

=IF(AND(A2<>"",A2>0),100-A2,"")

を入れたんだけど、 A2に0を入力すると空欄になっちゃうのね。
A2に0を入れた場合は、「100」って数字を出したいんだけど、どうしたらいいでしょう。

489 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 17:13:06.21
IFを2段構えにするとか

490 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 17:16:56.67
>>489
それを教えて欲しいんです・・・

491 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 17:22:09.22
またテンプレ厨がパチギレそうな予感

492 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 17:37:01.64
>>488
A2>0
0以上?

493 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 17:44:47.11
>>488
A2に0以下の数字や文字がはいらなければ
=IF(A2="","",100-A2)
でよいかと。

494 :複乳:2011/04/09(土) 18:21:10.81
>>480
新規ファイルは大丈夫なら新規ファイルにコピーするとか
無理ならエクセル再インストールしたほうが早いだろうねぇ

>>488
0未満なら空白でいいんかな
=IF(A2>=0,100-A2,"")
こんな感じ

495 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 18:54:25.37
>>493
>>494

助かりました・・・。解決しました。
ありがとうございます。
調べようと思ったのですが、あまりに時間がなく、困っていたので。
ホント、ありがとうございます。

496 :複乳:2011/04/09(土) 20:19:10.65
良かったね

497 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 22:25:45.32
>>488の条件を忠実に式にすりゃ=IF(ISNUMBER(A2),IF(A2>=0,IF(A2=INT(A2),100-A2,""),""),"")だなw
これほど厳しい条件じゃないと思うが。

498 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 23:40:17.91
>>497
IFは3段ではなく2段でいけるよ

499 :複乳:2011/04/09(土) 23:46:53.99
&0か+0かiferrorか何でもいいか

500 :名無しさん@そうだ選挙にいこう:2011/04/09(土) 23:48:16.47
1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 板取り 二次元資材割付問題 アルゴリズム

Excelで板取計算ができないかと考えています。


やりたいことは
1 母材の縦横サイズを入力
2 部材の縦横サイズと必要数を数種類入力
3 部材毎に縦横回転可否の条件入力
4 最適取り数とレイアウト図を表示

です。


ナップザック問題等でも
有名な、難解な問題ですが、
宜しくお願いします。


501 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 00:10:13.62
>>500
スレ違い

ここはExcelの使い方を聞くところで
数学的問題の解き方を聞くところじゃない

もう少し簡単な問題に例えると
「8の3乗というべき乗はどう入力したら良いですか?」
という質問には「=8^3 です」と答えるが、
「べき算とはなんですか?」はスレ違いってことだ

更に言えば当然VBAになるわけだが
>>3★VBAについて に書かれている通り
解法が確立されたところでこのスレの範疇では無い

ということで、解法を求めるところまでは学問板へ
それをプログラムコードにするところはプログラム技術板へどうぞ

502 :複乳:2011/04/10(日) 07:50:05.90
>>500
http://search.vector.co.jp/vsearch/vsearch.php?&query=%258D%257C%258D%25DEhttp://www.vector.co.jp/soft/win95/business/se249340.html
この辺と思う
検索しませう

503 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 11:29:36.93
む?

504 :422:2011/04/10(日) 15:30:30.50
先日ふりがなの件で質問させていただいたものです。
いろいろ勉強し、考えて、名札を作るシートに、苗字と名前に
それぞれふりがなをふった一覧を作り、そこから名札の枠に
ペタペタはっていくというマクロでも組もうかと考えました。
http://www.dotup.org/uploda/www.dotup.org1516168.gif.html
一覧までは>>425VBA厨さんのVBAを参考(パクリ)にさせて頂き、
上記の画像の下の方に作ることが出来たのですが、
さて、ここから先、たぶんstep2を使ったForの二重がけやらが
必要になる貼り付けのところでもはや手も足も出ません。
どうかお力添えをよろしくお願いいたします。

Sub ふりがな()

Dim r As Long, i As Long

For r = 40 To 81
With Cells(r, 2)
.Phonetics.Alignment = xlPhoneticAlignDistributed
.Characters(1, Len(Cells(r, 2))).PhoneticCharacters = Cells(r, 3)
.Phonetics.Visible = True
End With

With Cells(r, 4)
.Phonetics.Alignment = xlPhoneticAlignDistributed
.Characters(1, Len(Cells(r, 4))).PhoneticCharacters = Cells(r, 5)
.Phonetics.Visible = True
End With

Next r

End Sub

505 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 15:35:35.39
>>498
2段じゃどうなるの?

506 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 15:53:54.93
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 入力規則 名前の定義 複数ヶ所 リスト
名前の定義を離れたセルでしてそれを入力規則でリストの範囲で
=定義した名前
としたらエラーになりました。
離れたセルで名前を定義したものを入力規則のリストで使うにはどうしたらよいのですか?


507 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 15:55:57.83
>>504
ブックうpした方がいいんじゃね?

>>505
普通に

508 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 16:27:50.41
>>507
その普通が分からん
>>493>>494は整数の条件が抜けてるし、そもそも>>494はA2が空白のときおかしくなる。

509 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 16:28:16.80
>>506
無理ぽ

510 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 16:34:21.04
>>488は整数じゃないときどうしろとは書いてないから忠実な式は無理だな。

511 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 16:57:47.66
【1 OSの種類         .】 WindowsVista Home Premium SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 チェックボックス If フォーム Hide 条件 選択

ユーザーフォーム上でのチェックボックスのチェックの有無による
条件分岐についての質問です。
まず、UserForm1、UserForm2、UserForm3を作成しました。
UserForm1には1つのコマンドボタンと5つのチェックボックスを配置しており、
CommandButton1とCheckBox1〜5のオブジェクト名が付いています。

この時、分岐1としてCheckBox1をチェックしたときは
CheckBox2〜5のチェックの有無にかかわらずUserForm2を表示する。
分岐2としてCheckBox1にチェックがないときかつ、CheckBox2〜5のいずれかにチェックがあるときはUserForm3を表示する。
分岐3としていずれのCheckBox(1〜5)にもチェックがないときはUserForm1を非表示
にするコマンドボタンを作成したいと考えています。

Ifステートメントを用いてコードを書いてみたのですが、
Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then 'CheckBox1が選択された時UserForm2を表示
UserForm2.Show
Else
UserForm3.Show
End If
End Sub

これだと、いずれのCheckBox(1〜5)にもチェックがないときでもUserForm3が表示されてしまいます。
これに、いずれのCheckBoxにもチェックがないときUserForm1を閉じる(.Hideなど)コードは
どのように記述すれば良いのでしょうか?
よろしくお願い致します。


512 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 17:10:31.61
>>508
普通、複数条件で不一致時に返す値が同一なら、IF多段ではなくAND使うんだよ
そうすれば「〜,""),""),"")」みたいな無駄を減らせる

=IF(ISNUMBER(A2),IF(AND(A2>=0,A2=INT(A2)),100-A2,""),"")

これは条件数が増えるほど差は顕著で、例えば追加条件で
「100超の値の場合も空白を返す」というのを含めて4条件必要な場合だと

=IF(ISNUMBER(A2),IF(A2>=0,IF(A2<=100,IF(A2=INT(A2),100-A2,""),""),""),"")
=IF(ISNUMBER(A2),IF(AND(A2>=0,A2<=100,A2=INT(A2)),100-A2,""),"")

のようになるわけだ

ISNUMBERだけは別段にしなくちゃならないから2段は必要なので
2段と3段じゃあまり見た目ではあまり代わり映えしないけど、式の長さだけではなく、
論理演算(AND関数)に比べて、IFの入れ子は処理も重いから
普段から無意味にIFを多段にするのは避けるように覚えて置いた方がいいよ

513 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 17:35:21.21
>>512
ワークシート関数のANDやORってショートサーキットだっけ?

514 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 18:28:38.90
潔癖症なヤツに聞きたい
百万円単位で表にしたとき、Q1にはどう書いてる?

4月 1,450,000  5月 2,430,000  6月 3,400,000  1Q 7,280,000 

 4月   5月   6月   1Q
  1     2       3     ( )

515 :422:2011/04/10(日) 18:36:27.21
>>507
やはりそうですか。思いがけず個人情報があったら怖いのですが、
教えていただくのですからやむをえないですね。
必要最低限のシートを残したブックを用意させていただきました。
それと、VBA組むなら絶対に並べ替えたほうが良いと思い、
名札の並びも左からに変えました。

http://www.dotup.org/uploda/www.dotup.org1516758.xls.html
パスワード:vba

どうぞよろしくお願いいたします。

516 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 18:42:53.50
>>515
登録名、もっと普通のにしたほうがいいよ
あと住所も消さないと

517 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 18:48:55.77
>>514
7月 だな。

518 :517:2011/04/10(日) 18:52:45.93
あ”引っ掛けにひっかかっちまったぁ。

1Q≠Q1   orz

519 :422:2011/04/10(日) 19:05:32.17
>>515
登録名?住所?シートには元から住所は打っていないはずだけれど。
後学の為、具体的に教えていただけませんか。
前回保存者名は残ってしまっていますね。

やっぱこういうのあげるの怖いですわ。

520 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 19:06:58.01
>>519
いまはgoogleearthですぐ見れるな

521 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 19:07:23.95
>>513
違うよね。
おれもまさかこんなレベルのレスがあるとは思わんかったわ。
聞いて損した。

522 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 19:16:04.49
>>521
>>512の脳内では=IF(ISNUMBER(A2),IF(ANDALSO(A2>=0,A2=INT(A2)),100-A2,""),"")なんだよ。w


523 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 19:21:38.31
>>522
なるふぉろ
ついでにORELSE関数も作ってほしいね。

524 :514:2011/04/10(日) 19:23:57.33
>>517
引っ掛けじゃねーよ!ヴォケ!

One Quarterだから1Qでいいんじゃね?

525 :517:2011/04/10(日) 19:31:32.68
>>514さま。
>>514ではどう書いたか今一度ご確認を。

526 :517:2011/04/10(日) 19:34:44.23
もしQ1=1Qであるとするならば月の連続で7月が1Qに入ることになります。

527 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 19:50:01.48
>>514
の1Qは合計って意味では
4月〜6月の合計は繰り上がって7百万になるけど、
下段の4月〜6月の合計は6になっていて、ずれる
6にしたい気持ちは分かるけど、普通は正規の合計の7にする


528 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 20:39:32.38
>>512はVBAでもAndをよく使うの?
VBAが出来る人はAND関数がショートサーキットじゃないことくらい検証できるから、VBAはできないのかな?


529 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 21:13:11.06
>>528
http://d.hatena.ne.jp/oe-roel/20090602/1243950112

530 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 21:30:18.46
・VBAエディタ上のCtrl+Yは行削除である。進むことは許されない(笑)
このショートカットがウンコすぎてつらい

531 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 21:33:38.23
かなり逝っちゃってるなwww
だから512みたいな電波飛ばしたんだなぁ
普通なんて言葉はお前は使っちゃいかん

532 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 21:36:22.53
解ってない奴大杉w

533 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 22:07:30.73
>>530
読んでくれるとは

534 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 22:25:23.21
何を分かったつもりになってるんだろ?
ほとんど常識的なことばっかの内容なのに。

535 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 22:46:37.29
「常識」ほど危険な言葉はない
ほとんどの人は常識を他人と共有できていると思っているが、実際は独りよがりなことが多い
そして、その内容が正しいか間違っているかは、また別の問題であるのに、
議論を始めるとこの2つの問題が入り乱れて収拾が付かなくなる
だから頭の悪い人間と議論するのは嫌だ

536 :名無しさん@そうだ選挙にいこう:2011/04/10(日) 23:11:58.57
ifとiifの違いも理解してなさそうなのが複数居るな

537 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 01:42:00.33
517=526
キチガイ?

538 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 04:40:17.64
>>536
お前512か?
何でIfとIIfの違いが分かってるのに、ANDがショートサーキットみたいな書き込みしたの?

539 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 05:48:47.58
何勘違いしてるの?

540 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 07:30:57.92
>>539
おめーも勘違いしてるだろ?
ISNUMBERにIFが必要って書いてるからショートサーキットじゃないのは分かってるらしいが、IFのネストが重いってのは勘違いだよなぁ。
すべてTRUEのときはほとんど変わらんが、前がFALSEならIFのネストが軽いわ。
0以上10以下で
=IF(ISNUMBER(A1),IF(AND(A1<=10,A1>=0,A1=INT(A1)),A1+1,""),"")
=IF(ISNUMBER(A1),IF(A1<=10,IF(A1>=0,IF(A1=INT(A1),A1+1,""),""),""),"")
これでA1<=10がFALSEになるデータなら後者が軽い。
100万行に=A1+1みたいなデータ入れて実際試してみればわかる。
可読性や作法的に同レベルの評価はANDにするのを否定はしないが、重さに関してはIFのネストがANDより重いということはない。

541 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 07:32:22.61
何勘違いしてるの?

542 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 07:47:39.47
くだらないことでだらだらと無駄話するのはもう終わりにしようぜ
どうしてもやりたければ雑談スレへ

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

543 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 07:47:41.36
上のすべてTRUEならほとんど変わらんってのは間違いだったわ。
実際試したらすべてTRUEでもANDが重い。
よって512は大嘘。

544 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 07:49:00.60
>>542
勘違い君を啓蒙しないと、あとあと嘘を垂れ流されても困るからねぇ。

545 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 08:32:14.77
遠吠えが続く・・・・・

546 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 08:39:08.46
バカって自分がバカって気づけないんだな。さすがバカだ。

547 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 09:28:25.98
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A列とB列にそれぞれ数字が並んでおり、基本的にはA列の数字の合計を算出したいのですが、
A列a行目の数字がxよりも大きい場合は代わりにB列a行目の数字を加算する、
という式はどう書けばいいですか?

548 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 09:55:25.86
x=10で100行目までデータが入ってるとして
=sumif(a1:a100,"=<10",a1:a100)+sumif(a1:a100,">10",b1:b100)とか
それかC列を作業列にして合計出すか

549 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 10:28:26.88
>>546
だな
実際に試してみればわかるのにね
試しもしないで重い軽いを論じちゃいかんぜよ。
まぁ>>512が嘘なのは試さなくてもほとんどの人は分かると思うけどな。

550 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 10:40:09.48
俺もIFのネストが重いと思ってた
ショートサーキットなんて言葉も知らなかったよ
勉強になった

551 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 10:46:56.53
>>548
"=<10"のとこの数字にセルを代入するにはどうすればいいですか?
"=<C1"とかだとうまくいきません。

552 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 11:01:21.84
>>551
=SUMIF(A1:A100,"=<"&C1,A1:A100)+SUMIF(A1:A100,">"&C1,B1:B100)
ややこしいんならD列に
=if(a1=<c1,a1,b1)
って入れてD列の合計出した方が速いかも

553 :名無しさん@そうだ選挙にいこう:2011/04/11(月) 11:11:13.81
>>552
なるほど、有り難うございます!

554 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 12:13:39.24
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセル初心者ですが、学校の時間割を作る事になりました。
時間カウントで困ってますので、誰か助けて下さい。
科目の時間数を1日ごとにカウントしていきたいのですが
できません。

科目
国語(30) 数学(30) 英語(10) 理科(30) 社会(20)
()内は時間数

        月       火       水       木       金
1時間目 国語(1/30)  国語(2/30)
2時間目 数学(1/30)  国語(3/30)
3時間目 社会(1/20)  数学(2/30)
4時間目 英語(1/10)

上記みたいにカウントして行きたいのですが、
カウント関数で複数行を範囲指定ができません><
また。シート1枚で1日〜30日まで作りますので
簡単な方法があれば教えて下さい。

555 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 12:22:19.10
> カウント関数で複数行を範囲指定ができません
普通に出来るよ

556 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 12:22:36.13
>>554
エクセル初心者がそういうのを安請け合いしちゃいけません。

557 :複乳:2011/04/12(火) 13:10:41.71
>>554
二種類あって、上は設定と入力と出力を分けてある
下は1シートにして時間割と、科目だけにしてある
時間割が頻繁に変わるならうえのほうがいいんだろうけど、一回作って終わりなら下にしてもいいんじゃないかな

http://www.dotup.org/uploda/www.dotup.org1522151.xls.html
http://www.dotup.org/uploda/www.dotup.org1522153.xls.html


558 :554:2011/04/12(火) 14:16:00.43
>>555
調べて、+を入れたらできるみたいな事がわかりました。

>>556
無理矢理させられています><
入ってすぐ押しつけられました。

本とインターネットとにらめっこしてます

>>557
わざわざありがとうございます。
上のを使って勉強したいと思います。

うpロダって使った事ないけど試して
うpしてみます。



559 :554:2011/04/12(火) 15:03:39.86
うpできてるかな?
http://www.dotup.org/uploda/www.dotup.org1522299.xls.html

こんな感じで作って見ました

まだ理解できない部分が多くて未完成です。
もっと簡単なやりかたや、関数などがあれば教えて頂きたいです。

560 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 15:05:13.80
>554
私も作ってみました。
http://www.dotup.org/uploda/www.dotup.org1522300.xls.html
ちょっと複雑ですが、入力した科目の横に累計の数字が出ます
ひと月に必要な週は6週だけど、5週分しかありません。あしからず

561 :560:2011/04/12(火) 15:08:12.44
>559
見てみました。日付は縦方向でもよかったのか

562 :554:2011/04/12(火) 15:10:34.07
>>560
ありがとうございます。
さっそく見てみます。

表はこれから動かしてはダメと言われました><;



563 :554:2011/04/12(火) 15:11:31.43
>>560
パスがわかりません><

564 :560:2011/04/12(火) 15:13:29.93
>563
ゴメン、パスは excel です

565 :554:2011/04/12(火) 15:28:59.67
>>564
細かい時間割ありがとうございます。
>>559で作った表を元に完成させると
下に行けばカウントの関数の量が多くなってきます><

またAクラス Bクラスが間に入っているので範囲指定が
いっぺんにできません;;

これを4月〜12月まで作るとすごい量になっちゃいます。
科目によっては5ヶ月掛けて行う物もあり、どう作って行くかわかりません><

今週で作れるか・・・・


566 :560:2011/04/12(火) 15:34:34.62
>565
必要とする要件を書いてくれたら手伝えるかも。
1 年間スケジュールが必要ですか?
2 科目数はいかほど?
3 1日あたりの時限数の最大値は?
4 A,B別々に作ったらダメ?
5 科目を指定したら、すぐ横に累積時限数が必要ですか? 週単位ではダメですか?
6 VBAつかったらダメ?


567 :554:2011/04/12(火) 16:28:52.07
>>566
1・年間スケジュールが必要です。
2・36科目あります。
3・1時間の最大数は60時間
4・A・B別々ではダメと言われました・・・私も一緒なら楽に作れると言ってるのですが・・・
5・科目を指定したら、横に時間数の累積が必要です。学生の出席と進度に影響があるので必要になります。
6・VBAつかってOKです。560さんが使うなら私も勉強します。

備考
専門学校なので、1科目で教師が最大11名居る事があります。(11名は同じ時間にはかぶらないです)
時間のコマは1コマで2時間なので本当は2/30→4/30→6/30と進んで行きます。

私の力不足でご迷惑をかけますがよろしくお願いします。
ちなみにVBAは本を買って勉強したら覚えられますか?
本当に初心者なので何を買えばいいかも分かりません><

568 :560:2011/04/12(火) 16:45:34.24
>567 を元に再度おたずねします
1 年間スケジュールを実現するのに1シートにひと月分割り当てて12シートでもOKですか?それとも>559をずーっと下まで延ばす方がいいですか?
2 36!
3 そういう意味ではなくて、1日の時間割でみた場合の1時限目から始まって昼食をはさみ6時限目まで、とかの意味です。
4 A,Bの2パターンを>559でアップされたように並べる件、了解(ちとややこしいか)
5 了解
6 VBAの勉強もしながらだと数ヶ月はかかります。

>559 の様式で決定なのであれば、VBAでやってみます。 >560(私)の方法でよければ計算式だけでなんとかできたけど。
で、もうひとつ質問ですが、>559のファイルで1日分を4行使い、AとBそれぞれ2行ずつとっているのはなぜですか?
何かデータが入るのですか?



569 :560:2011/04/12(火) 16:49:38.51
>568の3は「おバカな質問」でしたorz
ファイルを見たら4時限で確定だった

570 :554:2011/04/12(火) 17:02:43.15
>>568
失礼いたしました。

1・12シートでお願いします。
2・2年生が一番多く、36科目あります。1年〜3年の合計すると79科目あります。
3・把握しました。 午前2時限と午後2時限の4時限になります。
4・
5・
6・数ヶ月!!!今週で作れと言われたのが数ヶ月以上はかかるんですね・・・退職届準備しなきゃw

>>559 の様式でお願いします。他の先生方から見たらあの様式がいいそうです。

>559のファイルで1日分を4行使い、AとBそれぞれ2行ずつとっているのはなぜですか?
上には科目名がはいり、下には単元名が入ります。

例 科目 論理学 単元名 言語表現技術T

科目によっては単元が20以上あるので入力が早いと思い上下に分けました。



571 :554:2011/04/12(火) 17:06:25.70
>>569
全然大丈夫です。
560さんに感謝しております。

この後の為に私もVBAを勉強しておきます。

572 :560,568:2011/04/12(火) 17:16:12.86
>570
計算式でなんとかなりそうです。Q列〜AZ列まで使って、開始日〜当日までの科目別累積時間数を求める方法です。
>560でアップした表でいうと、10行目〜16行目に相当する部分です。
ただし、重くなるかも

573 :554:2011/04/12(火) 17:25:14.28
>>572
重くなっても大丈夫です^^
私は今は>>560で作ってくれた物で勉強しています。

574 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 17:47:55.83
おまえらもう一緒に暮らせよ。なんだこれw

575 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 17:52:16.30
似たようなやりとりw は去年もありましたよ

576 :560,568:2011/04/12(火) 18:27:26.64
>554,573
upしました 計算式だけでやってます
http://www.dotup.org/uploda/www.dotup.org1522731.xls.html

とりあえず3ヶ月分(3枚のシート)です。
シートを増やす際は、Q1〜AZ2の計算式の参照先を修正してください。

577 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 18:30:07.17
パスは前と同じです

578 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 18:59:55.68
>>555
お前、コテハンつけろよ。

579 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 19:15:20.83
複乳が役立たず過ぎてワロタw

580 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 19:25:02.92
それ、笑うほどの事か?

複乳が役立たずなのはデフォでしょ
いつも通り、仕様通り

581 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 20:07:05.80
エクセル2002なんだけど、インデントをやると全角2文字分が動きますo
全角1文字分を動かすには、どうすればいいのか教えてくだちいo

582 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 20:51:56.33
>>581
> インデントをやると全角2文字分が動きますo
そのそも、それが勘違い
動くのは全角2文字分ではなく、インデント1つ分

「全角2文字分」はフォント種とフォントサイズに依存するが、「インデント1つ分」は文字サイズに依存しない
例えば「MS Pゴシック」で6ptだと「1インデント≒3全角スペース」だが、16ptだと「1インデント≒1全角スペース」
というように「全角n文字分」とインデントは全く別概念なので「全角1文字分」動かしたければ、全角スペース入れるしか無い

まあ全角スペース入れる方法としては、手動でセルに直接入れる方法と、表示形式で自動的に入れる方法があるけどな

583 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 21:06:29.50
>>579
>>574>>579みたいな流れで複乳が変な回答でかませ犬になって
>>580以降の正常な流れになってる気が
いなくてもなってるかも知れないけどな

584 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 21:32:22.88
複乳はバカじゃないけどバカなんだよね

なんて言うか、偏差値は人並みだけどIQ低いタイプって言うか
学校の勉強はそこそこ出来るが、仕事は出来ないタイプって言うか

585 :複乳:2011/04/12(火) 22:02:29.31
俺が答える前に、お前らが適切な回答をしてみろよ

586 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 22:13:32.53
excelの保護パスワードって最近のバージョンだと
大丈夫?
むかしのはすぐ破られたらしいんだけど。

587 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 22:17:35.67
>>585
メール欄に気付かずマジレスしてきた奴を嘲笑うつもりだったのか?

588 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 22:23:49.40
>>586
昔はバグで違うパスワードでも突破されるという恐ろしい仕様だったな
あれを考えれば、現行でも重要なデータを保護して配布というのはやめたほうがいいだろう

589 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 22:38:26.48
>>586
わざと破られやすいように作られているのは、今も昔も変わらないけど、何か?

Excelの保護ってのは、不用意な改変、誤っての改変を防ぐ物であって
他者による改変そのものを強固に防止したり、数式やVBAコードを他人に見られないようにするものじゃない

例えるなら、部屋の外からでもコインなどで開けられる屋内個室用の鍵付きドアみたいなものさ
一般住宅のトイレなんかは、使用中に不意に開けられることが無いように一応内鍵が付いているが
冬場に暖房のないトイレで高齢者が意識を失ったり、子供が一人で入って鍵掛けたはいいが
開けられなくなったりって時の為に、特別な工具を使ったりドアを壊したりしなくても外から開けられるようになってる

Excelも同じで、パスワードを忘れたり、設定時に誤ったパスワード入力したりして解除出来なくなった時に
せっかく作ったブックやコードを丸ごと失うことを避けるために、わざと破ろうとすれば破れるレベルの保護に留めている

Excelで作る程度の物は、その程度の保護で十分と考えられており、もっと強固な保護が必要なら
まともなプログラム言語を使えって話になる

590 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 22:43:57.34
昔はハッシュを使ってたから誤判定があったし、ファイルが破損してると無条件で開けてしまうという
トンデモ仕様だった
2007以降はちゃんとRSAで暗号化されているので突破は容易ではない
不可能ではないけど現時点では非現実的

591 :名無しさん@そうだ選挙にいこう:2011/04/12(火) 22:48:12.69
突破方法確立されてるけどね。

592 :554:2011/04/13(水) 09:45:20.21
>>576
仕事の都合により、返事遅くなりました。
見てみました。すごい時間割ありがとうございます。
これを使って勉強し、改良版も作れるように頑張ります。

本当にありがとうございました。
詰まってわからなくなった時にまたお願いします。


593 :名無しさん@そうだ選挙にいこう:2011/04/13(水) 10:24:45.46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しは
【4 VBAでの回答の可否】 可

VBAを少しずつ勉強しているのですが、次のような場合どうしたらいいのか分かりません。

aは横方向、bは縦方向の数値です
A2~A21が空白の時は次のB2~B21に…という風にしたいのですが
Exit For?を使うのでしょうか?
どうしたらうまくいくのか分からないので教えてください

For a = 1 To 10
If Range(cells(2,a),cells(21,a))=""then

Else
For b = 2 To 21
If 〜

Else

End If
End If
Next b

Next a


594 :名無しさん@そうだ選挙にいこう:2011/04/13(水) 11:25:54.21
一列全部空白だったら何らかの処理をするってことですかね
一列空白かどうか判定する変数flagを用意して

For a = 1 To 10
flag = 0

For b = 1 To 21
If Cells(b, a) <> "" Then flag = 1
Next b

If flag = 0 Then
'1列全部空白の時の処理
End If

Next a

for each使うとかもっといい方法あると思うけどよくわからないっす

595 :名無しさん@そうだ選挙にいこう:2011/04/13(水) 12:09:52.29
ごめんなさい、逆です
一つでも空白があったらです
分かりにくいのでIf Range(cells(2,a),cells(21,a))="1"then
A2~A21のどれか1マスに1があったらでお願いします

596 :名無しさん@そうだ選挙にいこう:2011/04/13(水) 12:40:44.85
For Each cc In Range("A2:J21").Columns
  If WorksheetFunction.CountBlank(cc) > 0 Then
    MsgBox "空白あり" & cc.Column
Else
    MsgBox "空白なし"
  End If
Next

WorksheetFunction.CountAで調べてもいいよ。
0ならすべて空白、列のセル数の20ならすべて埋まってる。

597 :名無しさん@そうだ選挙にいこう:2011/04/13(水) 12:42:46.30
インデントが変になったよ。

598 :560,568:2011/04/13(水) 20:39:10.96
>567,592
いくつか忘れてた。
>567の中にあった >時間のコマは1コマで2時間なので本当は2/30→4/30→6/30と進んで行きます
の件については、各シートのE、H、K、N列の式の途中に *2 を付けたら数字が倍になります。
(一番最後に付けたらダメよ) Q〜AZ列の式には不要です。

累積時間数/全体時間数 の形式にしたいんであれば、Q〜AZ列の106行目より下の部分に
全体時間数を入れておいて、INDEXとMATCHを組み合わせて科目別の全体時間数を拾ってきて
文字列結合で組み合わせればいいと思う。
「4月」のシートのQ1〜AZ2セルの内容は、実際にはなくてもいいので、ここを科目別全体時間数
に利用してもいいと思いますが、5月以降のシートではこの部分(Q1〜AZ2セル)が重要なので
4月のシートのQ1〜AZ2セルの内容を同シートのQ106〜AZ107で参照し(参照式はQ106〜
AZ107の方に書く)、5月以降のシートもQ106〜AZ107に4月シートのQ106〜AZ107を
参照するようにしておくとわかりやすいと思います。その際は、4月シートだけ、E4〜N6の式から
+INDEX($Q$1:$AZ$1,,MATCH(D4,$Q$3:$AZ$3,0)) ←E4の式の例です
などの部分を抜いてください。

599 :名無しさん@そうだ選挙にいこう:2011/04/13(水) 21:15:25.91
はいはい

600 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 00:55:20.47
Office2010の60日間お試し版をインストールしました。
2003風にしたくて、ググってみたら、「Office 2007 オールドスタイル
メニュー アドイン ver.0.92」というのがあったので
試してみようと思ったらインストールできません。
お試し版だからでしょうか?

OSはWindows7で、もともとOfficeが入ってないノートPCです。
よろしくお願いします。

601 :複乳:2011/04/14(木) 08:38:20.38
>>600
http://www.ka-net.org/ribbon/ri53.html
http://www.vector.co.jp/soft/winnt/business/se483273.html
こっちじゃだめか

602 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 12:49:08.73
excel2007です

A1に1111-1と入力すると
A2に1111-2と表示されるようにするには、どうしたらいいですか?

603 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 13:02:29.11
>>602
自己解決しました

604 :554:2011/04/14(木) 14:15:19.13
>>598
ありがとうございます。
さわる時間がなく今は家に持ち帰ってます。

今週でがんばって仕上げて行きたいです・・・

605 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 15:30:41.40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否? よくわかりません
【5 検索キーワード     】 エクセル 数字変換 切り上げなど

ほとんどエクセルを使ったことが無いので、
簡単なことかもしれませんが、よろしくお願いします。
数字が0から99までありまして、
時間ごとに出力された数字を一覧表にしました。
数字の誤差をわかりやすくするために5刻みの数字に変換したいのです。
3から7は5、8から12は10というように変換する数式はありますでしょうか?

  A    B
1 数値A 数値B
2 13    15
3 48    50
4 92    90
5 22    20
6 77    75

上記のように変換出来ますでしょうか。
よろしくお願いします。



606 :複乳:2011/04/14(木) 15:39:51.09
>>605
B2=CEILING(A2-2,5)

607 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 15:45:33.36
=(round(a1*2,-1))/2とか

608 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 15:46:32.36
うわ、そんな関数あったんや

609 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 15:54:39.99
CEILINGだと2〜99はいいけど0〜1はエラーだよ

=ROUND(A1/5,0)*5
もしくは
=ROUND(A1*2,-1)/2
が正解

どうしてもCEILING使うなら例外処理をすること

610 :605:2011/04/14(木) 15:55:36.59
>>606
そのような関数があるんですね。
無事出来ました。
ありがとうございました。
>>607
返答ありがとうございました。



611 :605:2011/04/14(木) 15:59:41.38
>>609
エラーはしょうがないかと思って手で処理しようと思ってました。
=ROUND(A1/5,0)*5か
=ROUND(A1*2,-1)/2でやってみます。
ありがとうございました。

612 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 16:12:12.11
また複乳がポカやらかしたのかw

613 :複乳:2011/04/14(木) 16:53:21.23
あぁ、じゃあ
B2=CEILING(A2+3,5)-5みたいな感じか


614 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 16:58:38.84
質問者ではなく回答者としてやっていくなら
そのくらい指摘される前に気付けるようになろうね

615 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 20:22:37.29
>>609
>>614
エラーになるか?
整数だったら答えは同じじゃね?
少数もありなら
=FLOOR(A2+2.5,5)と=ROUND(A1/5,0)*5は同じ答えだと思う。

616 :600:2011/04/14(木) 21:00:00.19
>>601
おぉ、ありがdございmあすた。
海女損でOffice Home and Business 2010もポチってきますた。

でも、罫線とか、セルの塗り潰しとフォントの色の設定は2010のままなんですね・・・
罫線はともかく、色の並びは2003と同じにならないでしょうか?

617 :複乳:2011/04/14(木) 21:05:07.60
>>616
俺は2010も持ってないし、このソフトを使ったこともないよ
作者に要望でも出せば作ってくれるかも知れないよ

618 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 21:43:12.34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 プルダウンリスト コンボボックス

エクセルの入力規則-「リスト」でリスト化したものをA1に表示させています。
(たとえば、ばなな、みかん、りんご、などこれらをカンマで区切ります)
当然のことながら、A1を押すと下向き三角が出てきて

ばなな
みかん
りんご

と表示されて、好きなものを選択することが出来ます。
ここまでは問題なく分かるのですが・・・

そこで「ばなな」を選んだら「100」と数値が表示されるように
しかもA1セルにその表示がされるようにできますでしょうか?
(「ばなな」はプルダウンリストとして最初見るだけ、「ばなな」を選んだら
  実際にA1セルに入るのは「100」という感じです)

match関数やらindirect関数やら試しましたが、ダメでした・・・。

619 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 21:58:00.17
家計簿を作っています

カテゴリの欄に"食品""日用品"等のジャンルが10個ほどあります
その2つ右のセルに金額を書いています
 カテゴリ 購入店舗  金額
ーーーーーーーーーーーーーー
|食品|○○店 | 600
|文具|△△店 | 300
|書籍|☆☆店 |1200
・・・ ・・・ ・・・

そのカテゴリの合計値を別の場所に出したいのです
食品合計:\〜
文具合計:\〜
書籍合計:\〜

IFやVLOOKUPとSUMを併用したりしてもうまく出来ません
どうすれば上手く表示できますか?


620 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 21:58:22.89
>>618
無理ぽ。
特に、vbaが駄目って言うんだったら無理


621 :名無しさん@そうだ選挙にいこう:2011/04/14(木) 22:00:52.70
>>619
sumifで出来るよ。
でも、一番楽なのはピボットテーブル。

622 :複乳:2011/04/14(木) 22:24:32.39
>>618
B1セルにプルダウンリストを作って、A1セルに表示するしか

623 :581:2011/04/14(木) 23:35:52.09
>>582
なるほどo
ご丁寧にありがとうございますo

624 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 00:06:02.96
>>615だがCEILING(-1,5)では2007と2010では動作が違うようだ。
2007だと#NUM!のエラーだが2010だと0になった。
複乳が反論しなかったということは2010は持ってないんだな。

625 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 00:29:11.34
> 2007と2010では動作が違うようだ。
そんなことは大抵の回答者は解ってる
CEILING、FLOORで、数値と基準値の符号違いが2010からエラーにならなくなったのは、
ちゃんと「更新された統計関数」として告知されてるんだから

おまえは今更そんな解かり切ったことをドヤ顔で言う前に
質問者の使ってるExcelのバージョンをちゃんと見ろ
何のためにわざわざExcelのバージョン書かせてるのか考えてみろ

2010を持っていようが、2007と2010の違いを知っていようが
質問者が2003使っていると言っている以上、2003(2007以前)でエラーになるなら
それは完全に間違いって話になるので反論の余地はない

おまえは複乳以下

626 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 01:32:48.08
すんまそん、ついでに先生教えてください。
CEILING.PRECISE関数ってどう使うのですか?

627 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 01:47:24.24
統計関数www

628 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 01:50:35.15
>>626
CEILINGと同じみたいね。

629 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 01:55:35.82
あごめん俺は先生じゃないからね。

630 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:02:03.19
>>626
どうもです。
先生にも是非聞きたかったです。

631 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:07:32.61
すんまそん、ミスりました。
上は>>628へです。

632 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:14:15.17
すまん628だが=CEILING(5,-5)とかで違うらしい。
=CEILING(-5,5)は同じだな。

633 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:22:35.61
レベルの低い奴が多すぎて困るな。

634 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:23:52.29
レベルの高い先生にききたいです。
「更新された統計関数」ってどこで見れるんですか?

635 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:53:09.62
レベルの高い先生はおやすみになられたようです。
またお待ちしてます。

636 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 02:59:49.26
>>634
その一つ下の表に載ってるね。
どうやら彼は表題を一つ読み飛ばしたようだ。

637 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 04:18:36.68
>>618
カメラ機能を使えばそれっぽく出来る

638 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 08:33:01.33
>>634
同じく先生じゃないが
http://technet.microsoft.com/ja-jp/library/cc179167.aspx
CILINGについては「更新された統計関数」の下に書かれているが、そのように仕様変更されたとはどこにも書かれてない。
文面だけ読む誤差に強くなったように感じとれる。
「Excel 2010 CEILING 変更」などでググってもどこにもそのように変更されたなんて出てこない。
出てくるのはCEILING.PRECISEが追加になったってくらいだな。
俺も知らなかったから参考になったよ。
>>625はハッタリだろう。
知ってたら>>615にすぐに答えてるよ。
前からおかしいのが住み着いてるからねぇ。


639 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:12:02.46
>>638の方が余程「おかしいの」に見えるのは気のせいですか?

640 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:21:46.25
それは君がテンプレ廚の>>625だからです。

641 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:23:12.38
むしろ>>638が悔しくてたまらない>>615なんだろw
バカには構うな。

642 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:26:36.24
また暴れてるなwww

643 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:31:40.60
質問者のエクセルバージョンちゃんと見てませんでしたって素直に言えば終わる話なのになんで暴れるかねぇ

644 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:39:33.39
コテの複乳がコテの名誉のために反抗するならまだしも
名無しの奴なら旅の恥は掻き捨てならぬ
名無しの恥は掻き捨て的に考えて引っ込み
また別件で素知らぬ顔して出てくればいいのに
名無しなら素知らぬ顔してれば前件の恥なんてつつかれないんだから

645 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:40:21.99
なんか勘違いしてるねぇ。
まぁいいや。
とにかく俺には仕様変更は参考になったよ。

646 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:52:07.63
バカはなんでも自分は最初から知ってたことにできるからな
だからバカなんだよ

647 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 09:53:11.98
624が

僕は知らなかったんだけど、僕が使ってる2010からCEILINGの仕様が変わったみたいだね。
でも質問者さんは2003使ってるから複乳の最初の回答式ではエラーになる。>>615は間違いでした。

と素直に言ってれば何の問題も無かった。

648 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:01:46.33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 オートシェイプ マクロの登録 Selection

オートシェイプにマクロの登録をした際に、そのマクロの中で
クリックされたオートシェイプを取得するにはどうしたら良いのでしょうか?
マクロの登録をしていないオートシェイプなら、クリックすると選択状態になり
Selectionで取得できますが、マクロの登録をすると、クリックしてもマクロの実行の直前に
選択がセルに移ってしまいSelectionでオートシェイプを取得できません。
複数のオートシェイプにひとつのマクロを登録し、クリックされたオートシェイプに対して処理をしたいのですが。

649 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:19:21.38
なんかもう疲れたが2010とそれより前のExcelを使える人教えてくれ。
Excel2010でA1に-1と入力してB1に=CEILING(A1,5)としてから保存してExcel2007とかで開くとどうなるの?
A1の値を-2にしたりB1の式を編集したりするとどうなる?

650 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:26:43.56
#NUM!エラーになる

651 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:28:32.93
>>650
dクス

652 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:39:25.05
>>649
おれんとこじゃ-2にしたってそのまま0だ。
式の編集もF2でエンターとかじゃそのまま0だ。
B1を消してから再度同じ式を入力すれば#NUM!になった。

>>650
ほんとに#NUMになるの?

653 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:50:04.54
自動再計算が無効だと#NUMにならないかも

654 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:51:13.26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
質問です。VBA×数式のみで算出したいのですが

  |A B C
---|-------------
10 |2 1 1
20 |3 3 2
30 |4 4 3

求めたい値(Y軸の10or20or30)

条件
X軸の値と表の中の値が分かっている場合。
【例1】
参考値2と、X軸がBの時
Y軸の20を求めたい。
【例2】
参考値3.5と、X軸がAの時
Y軸の30を求めたい。

可能でしょうか?お願いいたします。

655 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:51:40.77
>>652
そうですか。
人によって違うとは困ったものですね。
とにかくmicrosoftは仕様変更はきちんとアナウンスすべきでしょうね。
マイナスの値で使う人はあまりいないと思うけど。

656 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 10:59:50.72
>>653
俺は自動再計算はオンだが、A1を変更しただけじゃ再計算しないみたいね。
100にしてもそのまま0だったよ。

657 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:07:52.37
>>654
ぶっちゃけ意味がわからない

658 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:20:09.03
>>654
=INDEX(A$2:A$4,MATCH(2,INDEX(B$2:D$4,0,MATCH("B",B$1:D$1,0))))
ってことか?

>>656
有益な情報dクス.

659 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:31:01.77
>>656
2002はA1変更で結果も変わる。

660 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:35:01.30
すまん>>658の式は駄目かもな。
Y軸がが1でX軸が"A"のとき#NUM!でよければいいんだが。

661 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:41:55.04
>>659
もうなんかグチャグチャだね
>>652>>657は2007なの?

662 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:45:00.73
すまん、>>652>>656

663 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:47:24.00
>>661-662
そうだよ。

664 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:52:20.29
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 ほとんどいいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 COUNTIF , セル , 複数条件 ,

COUNTIF関数で、指定した範囲内で検索条件に一致したセルの個数を求めたいです。

例えば 1,2,3の使用してる携帯電話の使用機種が下記の列Bのとおりで、
検索条件は列C「一覧」にずらっと並べてます。
例では3機種だけですが、実際は例えば現在のドコモの現在の販売機種全部、といった感じです。

(例)
1 | A| B | C
----------------------------
2 |あ|SH-01C |SH-01A
3 |い|W62S |SH-01B
4 |う|iPhone 3G|SH-01C
...

COUNTIF関数で、=COUNTIF(B2:B4,"SH-01C") 
とすると、1 と結果が返ってくるのですが、
=COUNTIF(B2:B4,C2:C4)
とすると 0 となってしまいます。

複数の検索条件をセルで指定したい場合、どのように指定すればいいでしょうか?

また COUNTIF でなくほかの関数が適当であればあわせてご教示ください。

665 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 11:58:33.25
>>652>>657だが大ウソだった。
セルの参照が1個ずれてたよ。
>650、>>659が正しいと思う。

666 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 12:16:51.97
>>665
了解です。

667 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 12:17:12.83
>>664
たとえば、セルC2("SH-01A")を使用している人の件数をセルD2に求めたければ
D2に次のように入力すれば出ると思いますよ。
=COUNTIF($B$2:$B$100,C2)

668 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 12:23:10.23
>>664
配列数式使う

=SUM(COUNTIF(B2:B4,C2:C4))

って入力したら、Ctrl+Shift+Enterで確定
式が { } で囲われればOK

669 :664:2011/04/15(金) 13:34:44.19
>>667, >>668
ありがとうございます。
また、図がズレてしまって見づらく申し訳ございませんでした。

こちらの質問がまずかったんだと思います、
したかったことは >>668 さんのとおりでできました。

Ctrl+Shift+Enter と 配列数式、
ともに知らなかったので
今から勉強して蓄えられるようにします。

お二方ともありがとうございました!

670 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 18:53:03.40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 if

A列に数字があり、B1に =IF(A1>=30,"","") と書いたらエラーになりました。
何で?

671 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 19:00:39.62
>>670
=lF(A1>=30,"","")
だったからとか。

672 :654:2011/04/15(金) 19:26:23.96
>>654です。
>>657-658
レスありがとうございます。
説明べたで申し訳ないです。

表の値を調べるとき、XとY値から表の値を参照すると思うのですが、
【例1】X=B Y=20 なら 3
【例2】X=A Y=30 なら 4

今回知りたいのは>>654の表で
X=B 参考値3 なら Y=20
X=C 参考値3 なら Y=30
X=C 参考値1 なら Y=10
という時感じで、Yの値を数式で導き出したいのです。
※実際は参考値が2.5とか少数なので、完全一致じゃなく、直近上位で検索したい。

お手数おかけいたしますが、お分かりいただける方レスいただけると助かります。
お願いいたします。

673 :670:2011/04/15(金) 19:50:28.51
>>671
すまん、何が言いたいのか理解できん。

674 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 20:03:35.84
>>670
2003だとエラーにならないよ

675 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 20:56:54.76
>>673
見たまんまじゃん

つーかむしろオマエ(>>670)の方が何言いたいのか理解できん

676 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 21:17:34.42
>>648
Application.Caller
でオートシェイプの名前がStringで返ってくるハズ

677 :670:2011/04/15(金) 21:29:14.01
>>674
Excel2010って書いてるだろ!よく読め!

>>675
Excel2010でやってみたかい?



678 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 21:44:21.34
615か

679 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 22:07:22.25
>>615だけど迷惑かけた人ごめんね。
俺が謝罪の言葉を入れなかったばっかりに荒れてしまったらしい。
正直すまんかった。
これでこの件は終了な。

680 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 22:10:59.54
>>678
なんだ?おまえの見てなかったわ。

681 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 22:18:07.04
615だが>>677と混同されたのか?
変なのといっしょにされてもらっちゃ困るね。

682 :名無しさん@そうだ選挙にいこう:2011/04/15(金) 22:30:50.29
まさかと思ってカマ掛けしてみたんだが、
この反応っぷりで疑惑から確信になっちゃった

683 :複乳:2011/04/15(金) 22:51:55.80
>>648
http://homepage3.nifty.com/boole/kousure2.htm#no28
vba クリックしたオブジェクト などで検索されてみては


684 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 04:12:21.27
はぁ>>674にたいしてあんな言い草の>>670と一緒にされるとは...。
そんなものに2003も2010も関係あるわけないよ。
A1に数字が入ってたらエラーにはならない。
エラーになるのはA1がエラーのときだけだ。
だいたい>>670はエラーになるならエラー値くらい書け。

685 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 07:53:44.52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 プルダウンリスト

エクセルの入力規則-「リスト」でリスト化したものをA1に表示させています。
たとえば、りんご、みかん、バナナなど。
A1でりんごを選択した場合、次のA2では使用済のりんご以外をリストで表示したいのです。
みかん、バナナ。
さらにA3ではA1,A2で選択されてないものを表示。
VBAなしでやりたいのですが。

686 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 08:11:09.51
>>672
  |A B C
---|-------------
30 |4 4 3
20 |3 3 2
10 |2 1 1
と並べ直して、2とBで求める値が20なら>>658の式を少し変えるだけだな。
=INDEX(A$2:A$4,MATCH(2,INDEX(B$2:D$4,0,MATCH("B",B$1:D$1,0)),-1))
元の表のままでってのは出来ないことはないが、複雑になるから断る。

687 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:26:17.30
>>670関連の回答では>>671は俺にも意味不明だが、>>674はまともな回答だな。
2010じゃなければ答えてはいけないような>>677の言い草はない。
もしかして682=678=670で、俺615は>>671>>675だと思ってファビョってたのか?
入院をすすめる。

688 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:30:27.31
>>687
>>671は実際にやってみると解るよ。

689 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:31:39.84
アンカーミス
671は多分675だから
>>671>>674だと思ってファビョってたのか?だな

690 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:39:26.13
>>688
実際に2010でやってみた。
A1がエラー値以外は文字列でも数値でも""が返る。
エラーになるならお前のExceが壊れてるんだよ。

691 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:42:55.29
>>690
ふつうは>>671をコピペすると解るが、エラーが出るのだが。
なぜならIFではなくてlFだから。

692 :691:2011/04/16(土) 09:46:19.48
解らないかもしれないからカタカナで書くとね、
イフじゃなくてエルエフという記述がされているということ。

693 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:50:07.61
>>691
それをもったいぶらないで早く書けよ。
疲れるよまったく。

694 :mogi:2011/04/16(土) 09:52:51.94
いいaha体験が出来たね!

695 :複乳:2011/04/16(土) 09:58:59.91
>>685
A列はC:Cの範囲でリストを作成
B列に値、りんご、みかん、ばななと入ってるとして
C1=IF(COUNTIF(A:A,B1)>=1,"",B1)

696 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 09:59:40.89
イイハナシダナァ

697 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 10:20:45.89
スレチな質問でなければ良いのですが・・・
自分は今からVBAの入門書の一ページ目を開こうかという技能レベルで
今会社のPCのほとんどがWindowsXPsp3+Excel2002(たぶんOfficeXP)です
自宅ではWindows7の64bit版でして、これからエクセルを単体で購入したいのですが
エクセルのどのバージョンを買うのがいいのでしょうか
第一目標は”会社のエクセル2002で動くごく簡単なVBAを覚える”事です
2002と2007・2010では数年の開きがあるのでVBAの仕様がガラリと変わっていないか心配です
また背伸びして買った64bit版の自宅PCで古いエクセル2002(+VBA)が正常に動くのかも心配です
両方買うことも考えたのですが両方を共存させるのは難しい・面倒だと聞きます
どのバージョンを買うのが無難でしょうか

698 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 10:21:21.95
>>692
エルじゃないだろ?

699 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 10:28:46.43
>>698
コピペしてlと比べたら違うね。
ということは>>671はエルじゃないのは分かってるから>>691とは違う人か。
違う人に>>693は的外れだったな。

700 :複乳:2011/04/16(土) 11:21:41.23
>>697
安く売ってるなら2002当たりでいいと思うけど、多分売ってない
ヤフオクなんかはコピー品が多いのでやめたほうがいいと思う

2010のvbaも基本的な機能ならほとんど変わってないので、2010でいいと思う

701 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 11:27:06.09
>>700
ありがとう!早速2010買います

702 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 11:30:13.55
>>686
ありがとうございます。
無事解決です。
今回私が使う表も降順でしたので、>>672タイプで大丈夫でした。

とっても助かりました。

703 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 12:20:26.44
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 add phonetic フリガナ ユーザーフォーム excel VBA

sheet1はお客様名簿、sheet2はお客様カードです。
ユーザーフォームのお客様カード作成ボタンを押すと、sheet2の表の中に名簿の情報を転記します。
sheet1のB列に名前(山田太郎)、C列にフリガナ(ヤマダタロウ)があります。
カードの名前欄に名前とフリガナを表示したくて以下のようにしてみましたが、
フリガナだけが表示されません。
どこを直したらいいのか教えて頂けませんか?

n = target.Row
With sheet2.Cells(6, 3) 'カードの名前欄
.Value = sheet1.Cells(n, 2).Value
.Phonetics.Delete
.Phonetics.Add 1, Len(.Value), sheet1.Cells(n, 3).Value
End With

704 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 12:55:03.65
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ある程度
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 色 色なし

Excelの挙動が変です。
まず、以下のファイルを見てもらえますでしょうか。
http://2sen.dip.jp/cgi-bin/upgun/up1/source/up56980.bin

ダウンロード後、ファイルの拡張子 binを xlsに変えてから実行してください。お手数ですがお願いします。

でそのないようなのですが、
セル46、A (★↓の下のセル)なんですが、何も入力してないとセルの色は無色なのに、
文字を何か入力すると何故か色が変わります。
そのセルの書式設定で、セルの色を「色なし」にして、無色に戻しても、セルの入力内容を削除→また文字を入力 とやると
やっぱり色がつきます。
これはいったいなぜなのでしょう???

windowsXP の Excel2003です。

705 :複乳:2011/04/16(土) 13:37:36.73
>>703
読むのめんどいから個人情報消してブックごとアップしてほしい
>>704
2002だとならない、残念。マクロも登録してないようだし、原因はサッパリわからん
ttp://www.dotup.org/uploda/www.dotup.org1534624.xls.html
2002で保存しなおしたけどやっぱりなるのかな。
なるなら2003のバグか仕様か、他の場所にマクロが登録してあるか

706 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 13:40:19.61
>704
ファイルは見てないけど、 セルの書式 ではなく、 条件付書式 は調べてみましたか?

707 :706:2011/04/16(土) 13:50:17.81
>704
自分のPCもxp(sp3)、Excel2003ですが、実際にダウンロードしてみたら・・・・・再現しました。
A44セルと同じく、紫色になりますね。条件付書式はありませんでした。 何なんだろう?


708 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 13:55:02.67
>>704-705
ウチも2002(SP3)だけどなるよ。
文字だとならないけど、数値だとなる。
文字を入れてから、数値を入れてもならない。
データを消去してから数値を入れると、やっぱりなる。

他のセルから書式をコピーするとならなくなる。
他のセルに書式をコピーしてもそのセルではならない。
その下のA47も今のデータを消去するとなる。
値貼り付けではならない。手入力するとなる。
ほんと、わからん。


709 :706,707:2011/04/16(土) 14:11:57.52
思い出した。Excelのおせっかい機能(の誤作動?)と思われます。

どこか適当なところに5行以上の表(列数は任意)をつくり、
上から順に「表の下まで」適当に数字を入れてみてください。
罫線のなかった場所にまで罫線が自動的に引かれます。
元の表にセルの塗りつぶしがあれば、塗りつぶしもなされます。

本来なら、A45セルは塗りつぶしがないので途切れるはずですが、
データ的には連続しているので書式が引き継がれたものと思われます。

710 :705:2011/04/16(土) 14:14:24.89
皆様ありがとうございます。
自分固有の問題ではなかったのですね。謎です。


私の場合、問題のセルに別のセルの書式をコピー&ペーストしてもやっぱりなります。

あと、ALT E→A→F で問題のセルの全書式をリセットしてもやっぱりなります。

また、その問題のセルを含む表をまるごとコピーして、別の新しく作ったファイルに貼り付けても同様になります。


全く謎ですorz

711 :複乳:2011/04/16(土) 14:15:55.54
ttp://www.dotup.org/uploda/www.dotup.org1534777.jpg.html
私だけならないというのも不思議な話ね

712 :709:2011/04/16(土) 14:18:27.60
追加 表じゃなくても再現します。罫線をひかず、セルの塗りつぶしだけでも再現します。
3行以上のデータ(数字だけじゃなく、文字でも)を上から連続して入力し、既入力の
1個のデータを飛ばして入力しても再現するようです。
2個以上既入力のデータがあると途切れるようです。


713 :712:2011/04/16(土) 14:22:05.57
原因発見

ツール>オプション>編集のタブ で、「データ範囲の形式および数式を拡張する(L)」のチェックをはずしてみてください

714 :704:2011/04/16(土) 14:23:38.42
>>709-712
どうもありがとうございます。
なるほど、言われてみれば確かに過去にそういう経験あったような気がします。
今回のもそういうことなのですね。

>>704のファイルの場合、上の紫色の部分のセルの罫線を解除すると、
問題は起こらなくなるようです。


しかし、ほんとに余計なおせっかいな機能ですね・・・・・。

715 :複乳:2011/04/16(土) 14:33:09.40
あぁ、私のは最初からチェックが外れていたわ
便利なような、不便なような・・・

716 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 14:36:47.80
このお節介機能 と 作業グループ状態で保存したときに自動再計算機能がオフになる件 は、
テンプレートに追加しといた方がいいのかな?

717 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 14:42:36.86
こういう初心者が混乱する機能はデフォルトがオフであるべきだよな。

718 :名無しさん@そうだ選挙にいこう:2011/04/16(土) 14:43:27.42
初心者って偉そうに書いちゃったけど、俺も知らなかったけどww

719 :703:2011/04/16(土) 23:28:46.82
>>705
レスありがとうございます
帰宅が遅れてお礼が遅れました、申し訳ないです

今日担当者に急かされて、フリガナの件は細い行を作って急遽対応することになりました…
大変失礼しました


720 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 00:29:58.82
>>685を自分も考えてたんだけど、>>695だと
┌───
│りんご
│みかん
│バナナ
└───
からみかんを選ぶと
┌───
│りんご

│バナナ
└───
となり、更にりんごを選ぶと
┌───


│バナナ
└───
ってなるよね?
質問者はこれでいいのかな?

┌───
│りんご
│バナナ
└───
┌───
│バナナ
└───
ってしたかったんじゃないの?

721 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 02:24:32.09
>>720
配列数式廚が大喜びしそうだなw
へんなことあんま教えちゃいけないと思うなぁ。
ほんとはVBAでやるべきとこだからな。


722 :685:2011/04/17(日) 07:42:40.52
>>695
お礼遅くなりましてすいません。
ありがとうございました。

>>720
できれば空白ないほうが良いです。
可能なら教えて欲しいです。

723 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 08:41:02.86
>>722
B1=りんご、C1=みかん、D1=バナナ
の3項目の場合、

A1:A3に入力規則のリストで元の値=OFFSET(B1,0,0,1,4-ROW(A1))
B2:D3=INDEX($B1:$E1,1,SMALL($F1:$H1,COLUMN(A1)))
F1:H3=IF($A1=B1,4,COLUMN(A1))
で、必要に応じてB:H列を非表示にする。

下で選択したものは上のリストに反映されないので、
質問内容の通りA1、A2、A3と上から順に選択するように。

724 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 09:23:42.75
因みにF1:H3=ってのは、
F1に式を入れて、3行目(F3)までフィルコピー、更にF1:F3をH列(H1:H3)までフィルコピーでもいいし
F1:H3を選択(F1アクティブ)して数式を入れ、Ctrl+Enterで確定しても良い。

Ctrl+Enterでの確定は範囲への一括入力で、Ctrl+Shift+Enterの配列数式確定とは違う。


あと、項目数が増える場合の注意は、式の中に2カ所有る「4」は項目数+1
=OFFSET(B1,0,0,1,【4】-ROW(A1)) =IF($A1=B1,【4】,COLUMN(A1))

右の表の入力範囲は、3行3列と行列共に項目数分、
左の表は、1行目の項目入力(B1:D1)と2行目以降の数式(B2:D3)合わせて3行3列、
右の表と左の表の間は1列空けて、左の表で使ってるINDEXの第一引数はその空列含めて指定すること。

つまり項目数が5なら
A1:A5に入力規則のリストで元の値=OFFSET(B1,0,0,1,6-ROW(A1))
B2:F5=INDEX($B1:$G1,1,SMALL($H1:$L1,COLUMN(A1)))
H1:L5=IF($A1=B1,6,COLUMN(A1))

725 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 09:52:21.49
        |\           /|
        |\\       //|    
       :  ,> `´ ̄`´ <  ′  訳がわからないよ
.       V            V   
.       i{ ●      ● }i    
       八    、_,_,     八  
.       / 个 . _  _ . 个 ',   
   _/   il   ,'    '.  li  ',__

726 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 10:09:46.19
勉強しようね

727 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 11:02:46.09
わざわざAAまで使って何したいのか訳がわからないよ。

728 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 12:02:28.53
なんで縦にしないんだろうね?
いずれにしてもSMALL使った式は脳味噌がSMALLな人が使うってのが定説だな。
ROWも同じ。

729 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 13:15:27.05
行単位でまとめてあるだけだろjk

リストが縦配置なら作業セルは横配置にして行単位にまとめ、
リストが横配置なら作業セルは縦配置にして列単位でまとめるのが自然。
DBと表計算ソフトを区別できないSMALLな脳味噌じゃ理解できないか?



リスト1 リスト1の作業セル─────→
リスト2 リスト2の作業セル─────→
リスト3 リスト3の作業セル─────→



   リスト1        リスト2       リスト3
リスト1の作業セル リスト2の作業セル リスト3の作業セル
    │          │          │
    │          │          │
    │          │          │
    │          │          │
    │          │          │
    ↓          ↓          ↓


×
リスト1 リスト1の作業セル リスト2の作業セル リスト3の作業セル
リスト2     │          │          │
リスト3     │          │          │
         │          │          │
         │          │          │
         │          │          │
         ↓          ↓          ↓

730 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 14:26:04.47
無意味に配列数式を使っていたり、不適切な式での回答が有れば
「こうやるといいよ」と具体的な回答込みで指摘するのは良いが
配列数式やSMALL関数に限らず、何らかの機能を使うこと自体を
根拠や、よりすぐれた解法を示さずに厨呼ばわりしたり小馬鹿にする奴は、
知ったかぶって得意げになりたいだけの淋しい奴

そう、能力の低さから実社会で得意げになれる事柄が無い故に、
匿名掲示板で虚勢を張って悦に入ってる哀れな奴だ
こういう奴は、ほんと始末に負えないね

731 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 14:36:10.44
y

732 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 15:58:07.75
e

733 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 18:57:43.12
p

734 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 19:00:05.93
>>730
まったくだね。
>>724>>729も君だよね。
いい回答だよ。


735 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 19:42:38.37
勘違いしてる?

736 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 20:23:09.98
あれ?違うの?
口だけのやつと違っていい人だとおもったんだけど                                                                        

737 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 20:40:01.56
勘違いしてる?

738 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 20:43:50.90
アナタ間違い僕キチガイそしてこいつは勘違い

739 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 20:48:32.11
そんな君たちは場違い。↓でやってくれ。

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

740 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 20:59:16.11
は?上手い事言えたつもりでいるの?このどや顔のアホ↑

741 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 21:06:55.60
悔しかったの?

742 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 21:16:41.97
>>721,>>728
配列数式も、SMALL関数も、ROW関数も使わず
空白も出来ない>>685への模範回答マダー?

743 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 22:21:28.57
>>729
意味不明
とにかく横にしてる>>723は不自然。
そもそもA3で何もリストに出てこないようだが。

744 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 22:23:13.82
悔しかったの?

745 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 22:32:34.44
いや、君には勝てないから諦めてるよ。

746 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 22:42:45.70
>>743
配列数式も、SMALL関数も、ROW関数も使わず
空白も出来ない>>685への模範回答マダー?

747 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 22:59:26.83
×意味不明
○ボクのオツムでは理解不能でちゅ

748 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:10:26.10
凡人にはハイレベルな>>729は理解できないんだよ。
ましてや>>723はハイレベルすぎてかなり難しい。
凡人は元データから不一致データを取り出して、そこを参照することをまず考えるからね。

749 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:18:07.33
>>748
意味不明w

750 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:19:33.24
だから頭のよすぎる人は凡人の考えは理解できないんだよ。
自分を誇りなさい。

751 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:31:26.23
では更に頭のよすぎる>>721,>>728
配列数式も、SMALL関数も、ROW関数も使わず
空白も出来ない>>685への模範回答マダー?

752 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:35:21.21
諦めろ。
いくらあおっても出てこないから。
実は関数は知らないんだよ

753 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:41:48.46
実のところ、出てきてはいるけどね( ̄ー ̄)ニヤリッ

754 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:45:55.33
おうできる人がいるのか
俺に関数を教えてほしいな
俺はvbaしか知らない品

755 :名無しさん@そうだ選挙にいこう:2011/04/17(日) 23:54:56.83
>>721,>>728は出てきてはいるけど
>>721,>>728の本質は>>730なので
答えられずに他人のフリして負け犬の遠吠え振りまいてる。

756 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 00:06:51.35
>>752
ttp://samurai51.cocolog-nifty.com/photos/uncategorized/2010/08/21/2.jpg

757 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 00:17:31.93
さて寝るとするか、遊びは終わりだ

758 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 00:18:17.83
弄ばれ疲れたか?

759 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 01:03:35.79
        |\           /|
        |\\       //|    
       :  ,> `´ ̄`´ <  ′  釣れた釣れたw
.       V            V   
.       i{ へ     へ }i    
       八    、_,_,     八  
.       / 个 . _  _ . 个 ',   
   _/   il   ,'    '.  li  ',__

760 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 02:02:02.37
後釣り宣言は滑稽ですね。

761 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 05:43:59.39

スレと関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、

 釣り師 ↓     
.          /| ←竿
     ○  /  |
.    (Vヽ/    |
    <>     |
゙'゙":"''"''':'';;':,':;.:.,.,__|_________
             |
  餌(疑似餌)→.§ >゚++< 〜
                 の組み合わせだと思ってたんだけど、

最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか
言ってるの多いよね。
 これは、どっちかというと、



          ,〜〜〜〜〜〜 、
|\     ( 釣れたよ〜・・・)
|  \    `〜〜〜v〜〜〜´
し   \
゙'゙":"''"''':'';;':,':;.:.,.,  ヽ○ノ
          ~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                 ト>゚++<
              ノ)

かと思うんだけど、どうよ?


762 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 09:51:14.88
〜ここまでテンプレ〜

763 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 10:48:11.33
>>6にある突出したデータの分離グラフを作る際に、別アプリを使うとありますが、
お薦めのアプリを教えてください。
お願いします。



764 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 10:49:10.85
スレ違い
ソフトウェア板へどうぞ

765 :@:2011/04/18(月) 17:21:55.97
複数条件でのカウントについての質問です。
※excel2007を使用しています。
 A B
1 A あ
2 B ○
3 A い
4 B ○
5 A あ
6 B ○
7 A あ
8 B ×

766 :A:2011/04/18(月) 17:24:36.02
上記のようなデータがあるとして、
Aが「あ」で、且つBが「○」の場合のみ
カウントするという事を、関数を使用して行えるでしょうか?
「SUMPRODUCT」や「COUNTIFS]を用いても上手くいきませんでした。
どなたかご教示をお願いします!

767 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 17:30:49.66
>>766
>Aが「あ」で、且つBが「○」の場合のみ

AにはAもしくはBしか入っていないのでその条件は成り立ちませんね。

768 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 18:03:44.69
>>767
すみません、言葉足らずでした。
情報としてAとBで一括り、つまり
「1,2」「3,4」「5,6」「7,8」という集まりなのです。
そこでAが「あ」でかつBが「○」になっているもの
のみをカウントしたいのですが、
やはりこんな条件では関数使えないでしょうか。
文章にしてみると無理だろって気が改めてしてきました・・・

769 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 20:21:27.16
何でそのようなデータの持ち方するのかねぇ。
このように直せ
話はそれからだ
A   B
あ  ○
い  ○
あ  ○
あ  ×

770 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 20:21:32.84
エクセルの入力規則でリストを使いたいと思っていまして、
名前の定義で途中に空白のある定義を使いたいのですが、
リスト上ではその空白を無視したいというのはできますか?
  A列
1  いぬ
2  さる
3  きつね
4
5
6  ねこ

といった具合にして
これを定義したリストには

いぬ
さる
きつね
ねこ

というふうにドロップダウンリストにでて欲しいのです。
よろしくお願いします。

771 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 20:25:37.02
基地外女がさんざんあおってたから多分答えはでねーなぁ

772 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 20:58:48.56
そうだよな
他者の回答を否定するにしても、根拠を示し、より優れた解法を提示するなら
質問者はもちろん、回答を否定された奴も勉強になるだろうが
難癖付けるだけで根拠も具体的な解法も示さないというか
示せないのに難癖付けるだけの奴が常駐してたら回答したくなくなるよね
例えそいつらが自分以下の存在だと分かり切っていても

773 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 21:07:33.21
>765
=SUMPRODUCT(($B$1:$B$100="あ")*($B$2:$B$101="○"))

774 :名無しさん@そうだ選挙にいこう:2011/04/18(月) 21:50:19.55
>>770
出来ない

775 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 08:06:10.06
できるだろ?

776 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 08:07:27.41
>>770
vbaならすぐですので、ご自身のコードをまず書きこんでください

777 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 09:18:29.79
そっか、今回はVBA否じゃないので、VBAで入力規則を設定しちゃえばいいだけなんだ

778 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 09:38:19.66
>777
VBA可とも書いてない(つーか、テンプレ使ってない)ので、後出しで「すいません、VBAわかりません」ってなるのがオチ

779 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 09:45:13.60
>>685だからVBA否だろ?
あきらめてVBA可になったかも知らんが

780 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 10:01:04.70
>>778
そういうときのために>>3があるんじゃないか

相手は客じゃないんだから、必要情報も出さない横柄な質問者には
横柄な対応で突っぱねようぜ

そして、きちんとテンプレ読んで、まともな質問の仕方してくる奴にだけ
真摯に答えれば良い

>>779
>>685は質問以降も名前欄にレス番入れて出てきているので>>770は別人

781 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 10:22:18.27
685は既にVBA無しで解決しているので諦めるも糞も無いと思うが。

782 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 10:26:32.31
してねーだろ?


783 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 10:52:56.44
変に突っかかってたお馬鹿さん約1名が、悔しさ故に解決してないって事に
しておきたがっているだけで、実際の所は解決してる。

これ以上、解決した質問についての議論や雑談がしたいならこちらへ。

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

ここでこれ以上突っかかるのは、迷惑な負け犬の遠吠えでしかないので。

784 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 21:30:25.75
>>770
>>685
見ちゃおれん。
解決はしてないよなぁ。
【質問不可】Excel総合相談所スレの雑談・議論スレ2の>>866になり変って答えれば、ROWは使うけど

品目 一覧
け   あ   1   あ
お   い   2   い
     う    3   う
     え   4   え
     お   4   か
     か   5   き
     き   6   く
     く    7   こ
     け   7   #N/A
     こ   8   #N/A

C2:C11 =IF(COUNTIF(A:A,B2),C1,C1+1)
D2:D11 =INDEX(B:B,MATCH(ROW(A1),C:C,0))
A2:A11の入力規則を「リスト」、元の値を=OFFSET(D$2,,,COUNTA(B:B)-COUNTA(A:A))
せいぜい数十行だと思うから、このくらいでも充分じゃない?
ほんとはD列はなくてもいいんだけどね。

785 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 21:40:51.23
いずれにしてもROW使った式は脳味噌がLOWな人が使うってのが定説だな。

786 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 21:51:57.11
>>785
なりすまして暴れるの楽しいかい?
暴れてばかりいると病院から迎えが来るぞw
ROWとSMALLの組み合わせが定説なんだよ。


787 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 22:26:53.31
配列数式でROWとSMALLを使ってる俺の立場はどうなるんだ?

788 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 22:45:41.82
なんで自分に対して、自分になり変わってとか言ってるの?

代わりではなく変わりだから、代役ではなく変装、つまり自演を暗示してるわけ?

789 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 23:00:47.63
なるほどw

790 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 23:39:40.44
ここはミリ秒の違いがわかる超人ばかりですね
遅いとか揮発とか、個人が作る小規模なシートで誤差程度の時間差にこだわってどうする

791 :名無しさん@そうだ選挙にいこう:2011/04/19(火) 23:48:01.01
>>790
スレでも間違えた?だれもそんなはなししてないよ
揮発 の検索結果 1件 >>790
遅い の検索結果 2件 >>261>>790

792 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 00:51:23.90
Excelのバージョンを問わず、csvのデータを開くと
勝手に小数点以下が削られてしまうのは仕様でしょうか。

例えば
1,2,3.0,4.1,5.9

なんてデータがあると、3.0が3として表示されるためそのまま
保存するとcsvそのものも3.0が3に切り捨てられるのです。

なんとかする方法はありませんか。Excelを使わない方法でも良いです。

793 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 01:17:03.22
すんげーローテクですけど自己解決しますた。

めんどいけどテキストエディタでカンマの前にアポストロフィを入れて保存し
数値ではなく文字列として開くしかないみたい。

行や列で編集した後、保存してからアポストロフィ削除したら
意図したデータになった。表計算が必要なデータじゃなくて助かった・・・

つーかこれバグだろ糞MS
もう少しで死ぬところだったわマジで。

794 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 01:27:33.58
Excelは計算ソフト、計算が必要なデータを扱うソフト
計算をする上で「3」と「3.0」は同じなので、切り捨てでもなんでもないしバグでもない

大抵の電卓でも、「 3 . 0 + 3 . 0 = 」と入力すると、「+」の時点で表示が「3.0」から「3」になり
「=」で「6.0」ではなく「6」と表示されるが、それをもって勝手に切り捨てられただのバグだの言う奴は居ないだろ
それと同じで、「計算」上ではこれは当たり前のこと

計算が必要ないデータを扱うなら計算ソフトではなくCSVエディタ使えば良いだけ
まあExcelでもVBA使えば、計算データではなくテキストデータとしてCSVファイルを扱い
「3.0」を「3.0」のままにすることも出来るけどね

795 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 01:40:35.14
>>794
それなら桁数表示を弄れる必要はないだろ。
なんで数値で小数点以下を指定できるんだよ。

そして、その指定を全セルに指定していても
外部データ取り込み時に無視されるのは
やっぱりバグじゃないか。

796 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 02:12:37.70
> それなら桁数表示を弄れる必要はないだろ。
電卓でも少数桁表示を弄れる物はあります
ExcelもVBA使えばCSVにおける整数の少数桁を保持できます
ただ、どちらも基本は整数の少数桁を無視するというだけ

> そして、その指定を全セルに指定していても
> 外部データ取り込み時に無視
外部データ取り込み時には、外部データ取り込みのウィザードで指定した表示形式が適用されます
1/3:ファイル形式の選択、2/3:区切り文字の指定、3/3:表示形式の指定
のうち、「3/3:表示形式の指定」において文字列を指定すれば、「3.0」は「3.0」のままです

テキストファイルウィザードの「3/3:表示形式の指定」において、文字列を指定したのに
「3.0」が「3」になるならバグですが

797 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 05:49:21.11
どーせ区切り文字指定したところで、次(3/3)に進まず完了させてたんだろ。
バグは>>795の頭だw

798 :名無しさん@そうだ選挙にいこう:2011/04/20(水) 22:51:56.68
>>797
そんなわけねーだろヴァーカヴァーカ



>>796
で、3/3の画面でいかに文字列を指定しても無視され小数点以下が切り捨てられるかを
赤裸々に伝えようとして検証してたら、これ列単位で指定すんのかよ!!!
今まで文字列選んだだけで完了してたからA列しか文字列になってなかったわ。
100くらい列があるのに一つずつ「クリック&文字列指定」を繰り返さなきゃいけないわけ?
とんでもない豚仕様だな!!

結論:バグか否かで言えばバグではなかったが仕様が豚


また勝ってしまった…そろそろ敗北の味を知りたい。そんなわけで
「Excelで小数点の最後がゼロのデータも取り込めるよ編」の講義は終了。
起立!礼!放屁!(ブリッ

799 :複乳:2011/04/20(水) 23:24:00.25
VBAならなんとかなると思うけど、区切り位置の機能だけだとどうにもならんねー
"""も"="もダメ。最初にセルに文字列指定してもダメ
区切り位置の3/3のページはCtrl+Aも聞かないし、矢印キー+alt+Tだと連打ができない
アポストロフィだとアポストロフィ付きの文字列になってしまう
これでいいならいいんだけどね

とりあえず、OOoだと3/3のページで全部の列を一気に文字列指定することができたので
OOoで保存してから、エクセルで開けば完璧。

って遅いか

800 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 01:13:03.35
> バグか否かで言えばバグではなかった
負けたんだね。ご愁傷様w

801 :複乳:2011/04/21(木) 01:18:59.78
クソ仕様って奴だな。エクセルはもう少し丁寧に作ればいいソフトなのに・・・

802 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 01:43:16.10
数値だってセルで小数点以下桁数を表示すれば
その通りにCSVで保存されるよね。
それじゃまずいのかな?

元データに3.0と5という値が同じ列あるCSVを数値として読み込んで
使用後に、元のように出力するソフトは世の中にないよね。

803 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 03:40:47.41
>>802
値を全て文字列として扱うCSVエディタなら、
同列でも3.0は3.0のまま、5は5のままだよ。

>>801
適材適所で表計算ソフトとCSVエディタを
使い分けられる人にとっては全く気にならない部分だけど
使い分けが出来ない人にとってはクソな仕様なんだろうね。

804 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 08:53:27.52
SHIFT押しながらとかCTRL押しながらとか

805 :複乳:2011/04/21(木) 09:37:19.20
そうですねー大半の人にはクソ仕様ソフトと思われてます

806 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 11:17:46.01
>>803
>値を全て文字列として扱うCSVエディタなら、
>同列でも3.0は3.0のまま、5は5のままだよ。

そりゃ当たり前だろ。
文字として読み込めばExcelでもメモ帳でも一緒だ。
その通りになる。
数値として読み込んでと書いてあるだろ。


807 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 11:37:19.82
> 数値として読み込んで
ってのの真意は計算できるものってことだろ

文字列として扱い.0も保持しながら、それを数値として読んで計算できる
そういうエディタがあるんだけど

808 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 11:42:14.70
>>807
あのね、テキストとして読み込んで
計算して、結果を別なセルに入れるよね。
それはExcelでもできるの。
そして、CSVで保存すれば、元のデータはそのまま。
というのは知らないのかな?


809 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 11:50:21.18
>>808
君じゃこの話に付いてくるのは無理みたいだな

810 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 11:57:31.41
>>808
欲嫁、だれもExcelでは出来ないなんて言ってないぞ。
どっちがやりやすいかってだけの話だ。

811 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 12:01:31.43
>>798
>100くらい列があるのに一つずつ「クリック&文字列指定」を繰り返さなきゃいけないわけ?
シフト選択すれば良いじゃん

812 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 12:04:20.69
>>810
そっか

813 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 12:11:23.50
もっとおもろい話題はないのかぁ

814 :複乳:2011/04/21(木) 13:02:55.77
>>811
うわあああああできた/(^o^)\
それで解決だた

815 :名無しさん@そうだ選挙にいこう:2011/04/21(木) 13:49:20.25
ぱちぱち

816 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 00:41:45.12
excel2007です

セルのスタイルについて質問です

2つのブックがあって片方からもう片方に何かコピペすると
セルのスタイルのユーザー設定が勝手に増えていきます
今日はそれで書式が多すぎてなんとかって出て困りました

勝手にユーザー設定が増えないようにする方法がありますか
お願いします

817 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 06:41:16.08
>>816
ペースト(貼り付け)時にそのまま貼り付けないで貼り付けのオプション使って貼り
付けたら改善するんじゃないかな。

818 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 19:42:35.88
Office XPのプリインストールPCを使ってます。
このPCに、Office Home and Business 2010を同居させるにはどうすればいいですか?

819 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 22:45:46.14
仮想OSの中にでも入れとけ

820 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 22:49:54.06
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

特定のキーワードを含むセルに、対応する値を合計する方法を探しており、
↓に答えを見つけたのですが、
ttp://oshiete.goo.ne.jp/qa/4169171.html

ここに、さらに日時を指定する条件を追加するには、どうしたら良いでしょうか?

821 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 23:15:03.52
sumproductで出来るんじゃないかな?

822 :名無しさん@そうだ選挙にいこう:2011/04/22(金) 23:38:07.39
>>818
インストール時にフォルダを変える

823 :名無しさん@そうだ選挙にいこう:2011/04/23(土) 15:12:10.28
初心者です
スキャナーで画像取り込んでエクセルに貼り付けて印刷すると
どうしても少しだけ小さく印刷されてしまいます
余白をなくしても小さいです
ぐぐったところ画像を右クリック、切り取り⇒編集⇒形式を選択して貼り付け⇒拡張メタファイル
でOKとのことでしたが
実際それをすると何倍にも拡大された画像が貼り付けられてしまいます
なにか間違いでもあるのでしょうか?
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 画像 印刷 小さく

824 :名無しさん@そうだ選挙にいこう:2011/04/23(土) 21:05:13.60
>>823
質問の意味がよくわからん
印刷された画像のサイズは幅何センチで、希望よりどれだけ小さいの?
ちなみにA4の紙は幅21センチな

825 :823:2011/04/23(土) 22:55:28.57
すみません、スキャンした画像はある書類で元々はA4サイズでした。
もちろん印刷もA4でしたのですが全体的に少し縮小されたサイズで印刷されてしまいます。
だいたい一片5mmくらいでしょうか。
書類に書き込んで印刷したものが原本と同じサイズでないと困るので。

826 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 00:43:33.37
>>825
なんか知らんがエクセルは印刷結果が異常にずれる
どれだけ設定を同じにしても、バージョンが違うだけで印刷結果が変わったり
カメラ機能を使っただけで全体の縮小率が変わったりする。
本当はpdfがいいんだろうけど、無ければペイントでも使ったほうが早いんじゃないか

827 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 01:18:51.79
>>825
つまりコピー機みたいなことをしたいわけ?それはかなり難しいよ
まずExcelは使わない方がいい

他の画像処理ソフトを使ったとしても、プリンタの機種や設定によっては
思い通りに印刷できない場合がある
端が切れたり小さくなったり、とにかく印刷は難しい

どうしてもExcelを使わないとだめじゃなければ、あとはプリンタの問題になるので
プリンタスレで聞いた方がいい
機種ごとに方法が違ってくるので

828 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 01:29:14.72
初心者です
excelで2色表示のチェックシートみたいなものを作りたいのですが、やり方がわかりません。

例えば
「善意の占有者は(占有物から生ずる果実)を取得する。善意の占有者が(本権の訴え)において・・」
上の( )内の文字を赤文字にして、赤文字だけ表示、非表示の切り替えができるシートを作りたいのですが。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

829 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 02:36:13.17
>>828
文章の途中を選択してから「フォントの色」をクリックすれば、選択された部分だけ色が変わる
切り替えたいなら2枚のシートを使う

830 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 02:53:23.76
>>829
やはり2枚組のシートにしないとだめですか。

特定の色だけ、表示非表示くらいできるかと思ったんですが。

どうもありがとうございました。


831 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 03:01:04.95
>>830
赤い下敷きを画面の前に置くといい

832 :VBA厨:2011/04/24(日) 04:14:22.85
>>828
VBA無しでセル内の一部の文字色を切り替えるのは無理だと思うけど
赤透明下敷き理論で背景色を変えて回答部を見えなくすることで
目的を達することは出来ると思うけど、どうよ?

切り替えにはフォームの「チェック ボックス」を使えば、1クリック切り替え可能
そのチェックボックスの「コントロールの書式設定 > コントロール」で
リンクするセルを「A1」にすれば、A1のTRUE/FALSEが切り替わるから
あとは問題文のセルに「数式=$A$1」で条件付き書式を掛ければ良い

ttp://up.mugitya.com/img/Lv.1_up2088.png

833 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 04:52:01.69
>>832
やりたかったのは、これです。

すばらしい。
どうもありがとうございます。

834 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 12:18:27.02
>>831
>>832
この流れでちょっと感心した

835 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 12:44:48.16
出来る奴は発想力が違うな。

836 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 12:57:05.68
あら、素敵
こういう回答が出来る人を尊敬するわ

837 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 13:59:53.80
【1 OSの種類         .】 Windows 7 Professional 64-bit
【2 Excelのバージョン   】 Excel 2003

翻訳の作業をExcelファイルでやるようにと言われ、マクロが設定されたファイルをもらいまいた。
マクロを実行すると、各行の原文(英文)ごとにダイアログボックスが開き、上の領域には原文が
表示され、下の領域に訳文(和文)を入力するようになっています。完了後、下にあるボタンを
クリックして次の行に進む、という手順です。

ところが、下の領域に和文を入力しようとしていても、全角10文字くらいしか入力できず、あとは
入力できません(もちろん足りません)。

こういう現象を直すには何か方法はありますか?情報が足りなすぎるでしょうか?

訳文を受け入れる変数の型が問題なのでしょうか?

VBAについては漠然としか分かりません。

よろしくお願いいたします。

838 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 14:35:14.94
>837
>全角10文字くらいしか入力できず
とは、枠の横方向の長さが10文字分しかない、のではなくて11文字以上入れると「入力誤り」みたいに拒否されるのか、
それとも先頭から10文字分で切られてからしかるべきセルに書き込まれる、ということでしょうか?

処理の内容から簡単なマクロと思われるので、マクロのソースを示して貰ったら、どこを変更したらいいかわかると思います。
そのためには、以下のことを調べてもらう必要があります。
当該Excelファイルを開いた状態で[Alt]キーを推しながら[F11]キーを押してください。ExcelVBAの編集画面が表示されますが、
ソースプログラムがすぐに見えるかどうかはわかりません。
http://www.officepro.jp/excelvba/ini/ の手順でもいいです。
あとは、どこにマクロが書いてあるかを調べることになりますが、まずはここまでのことができるかどうか、返事ください。

839 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 14:54:05.99
>>838
各行で10文字くらいまでは入るのですが、残りは入れてもダイアログボックス内には
反映されずに捨てられる、みたいな感じです。領域自体は広いのですが。

マクロは次のように短いものです。

Sub TranslateText()
Dim selRow As Long

selRow = ActiveCell.Row
If (selRow >= [cellStartRow] And selRow <= [cellFinalRow]) Then
[cellCurRow] = selRow
Sheet1.Rows([cellCurRow]).Select
End If

If (frmTranslate.Visible = False) Then
frmTranslate.Show
End If

End Sub

840 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 14:59:55.51
ダイアログボックス(フォーム)を定義している部分が見つかったのですが、
その中で次の部分が怪しくないでしょうか?

'Look at each line of text and make sure none of them have greater
'than the max chars per line
For intIndex = LBound(linesOfText) To UBound(linesOfText)
testTxt = StripCodesFromText(linesOfText(intIndex))
Rem res = MsgBox(testTxt, vbYesNo, "???")
If Len(testTxt) > [cellMaxCharsPerLine] Then
changeNotValid = True
End If

841 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 15:18:54.23
>840
エクセル大事典 TxetBoxコントロールについて詳しく知ろう!のページ
http://home.att.ne.jp/zeta/gen/excel/c04p30.htm

を見ると、テキストボックスの MaxLength のプロパティを既定値の0 以外にすると制限できるようなので、
ここを変更するといいと思います。>840のソースにも [cellMaxCharsPerLine] という部分がありますね。

842 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 15:24:34.10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 はい
【5 検索キーワード     】 vba [ ] 
横レスすいません
>>839さんの4-5行目にある
[cellCurRow] の "[" と "]" はどういう意味をもつんでしょうか?

843 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 15:41:54.52
>>841
できました。

If Len(testTxt) > [cellMaxCharsPerLine] Then
changeNotValid = True
End If

この部分を削除したらOKでした。ありがとうございました。

844 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 16:16:02.42
【訃報】サイババ死去
http://hatsukari.2ch.net/test/read.cgi/news/1303622579/

845 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 16:25:36.79
>>842
横レスの横レスだけど
[cellCurRow] は Range("cellCurRow") の簡略記述

自分も下のスレで最近知った

Excel VBA 質問スレ Part18
http://hibari.2ch.net/test/read.cgi/tech/1298240666/528-529
より
529> [ ]は、変数使う必要が無い場合に限った簡略記述です

846 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 16:38:18.92
記述性は上がっても、可読性は下がるよな

やっぱRange使った方がいいよ
少なくとも自分で作って自分で使うだけではなく
他者にも使わせたり、ソース晒して他者に質問したりと
他者が関わってくる場合には

847 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 16:42:41.20
>>846
今のpcでvbaなんて余裕だから
メンテナンスしやすいのを優先すべきだろ
処理速度なんて気にする時代じゃない

848 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 17:08:29.49
可読性は下がる=メンテナンスしにくい

849 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 17:11:25.02
>>845
そんな記述方法があったんですね
どうもありがとうございます
>>847
このタイプの記述方法は、かなりマイナーだと思います。
vbaは業務でも数年間そこそこ触ってきましたが、このタイプは見たことありませんでした
一般的には、メンテナンス性、保全性と言うんでしょうか。低いと思います
本職の方はどうなんでしょう。よく使うんでしょうか。記述は当然早いと思いますが。

850 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 17:20:51.74
印刷するときだけ、文字の色を変えて印刷する方法はありますか?


851 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 17:25:04.05
>>850
文字色を黒以外に変更して、「白黒で印刷する」にチェックを入れれば
文字の色はディスプレイと違って印刷されるよ

852 :複乳:2011/04/24(日) 17:26:03.65
>>850
Ctrl+aで全体を選択して、フォントの色を変えるのが確実だと思う
vbaでもprintイベント辺りで何とかできるとおもうけど、詳細がわからないので何とも

853 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 20:26:12.81
【1 OSの種類         .】 Windows XP SP3
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 INDIRECT, ADERESS, MATCH

Sheet1のD7:N7の範囲に日付(20xx/x/xx)、D8:N8の範囲に整数が順次入力されるとします。
ここで、D7:N7の範囲に任意の日付(例えばJ7に2011/5/1)が入力されたら、D8:J8の合計値をSheet2に表示したいのです。

そこで、次のような式を考えたのですが、#VALUEとなり上手く動作しません。
Sheet1上では上手く動作したのですが・・

=SUM(Sheet1!$D$8:INDIRECT(ADDRESS(8,MATCH(40664,Sheet1!$D$7:$N$7,0)+3)))

宜しくお願いします。

854 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 21:16:00.48
850です。
他からコピー貼付したものがありまして、上記のような質問になってしまいました。
黒字のものを赤で印刷したいです。印刷設定ではそれはできますか?
ありましたら教えて下さい。

855 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 21:29:48.57
>>853
MATCH()かindirect()のところでエラーが起きてる
Sheet1
というシートは無いんじゃないか?

ツール ワークシート分析 数式の検証
を使えば原因がわかるかも。わからないならここにブックをアップロードするか、
自分で検証するかでかいけつできるかも

856 :複乳:2011/04/24(日) 21:32:20.76
>>854
どういうコピーかよく分からないが、
複数箇所なら
予め別のシートにコピーして置いて、全体を磔した後
フォント色を変える
その後コピーするとか
シート全体がわからないとなんとも言えない


857 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 21:33:25.29
>>854
VBAで出来るので自分でコード書いてください

858 :複乳:2011/04/24(日) 21:38:46.48
>>854
印刷設定では無理だな

859 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 21:58:52.43
>>853
=SUM(INDIRECT("Sheet1!$D$8:"&ADDRESS(8,MATCH(40664,Sheet1!$D$7:$N$7,0)+3)))
でとりあえず日が存在すればエラーは出ないけど
=SUMIF(Sheet1!D7:H7,"<=2011/5/1",Sheet1!D8:F8)のようなことがやりたいのではなくて?

860 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 22:16:45.40
>>842
>>845
全然違うよ。
そのケースではcellCurRowという変数にsellRowを代入してるだけ。
そんな無駄な不細工なコードは書いてはいけない。
>>842が書いたのか?

861 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 22:18:20.82
よく見たら横レスだったな。
当然>>842が書いたんじゃないよな。

862 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 22:27:25.45
>>860を補足するとApplication.Evaluate略ね。
ヘルプ読めばいろいろ使えると書いてあるが、今回のは「定義された名前。コード記述時の言語で定義された名前を指定します。」ってことで
定義された変数ってことだ。
変数をそのまま使えばいいのに、回りくどくEvaluateなんて使ってはいけない。


863 :818:2011/04/24(日) 22:33:25.61
>>822
d

864 :853:2011/04/24(日) 22:34:03.87
>>855
ありがとうございます。
どうやらINDIRECTの指定がおかしかったようです。

>>859
ありがとうございます。まさにそれです。素晴らしい!
SUMIFを使えばシンプルに記述できるんですね。

ついでに、もう一つ質問させてもらいたいのですが、
日付が存在しない場合にエラーを出さなくする次の式をもう少しシンプルに記述できないでしょうか?

=IF(ISERROR(MATCH(40664,Sheet1!$D$7:Sheet1!$N$7,0)),"",SUMIF(Sheet1!D7:N7,"<=2011/5/1",Sheet1!D8:N8))

865 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 22:36:33.20
>>842です
>>849で名前欄を空白にしましたが、842と849は同一人物です

866 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 22:41:09.11
=if(countif(Sheet1!$D$7:Sheet1!$N$7,40664),SUMIF(Sheet1!D7:N7,"<=2011/5/1",Sheet1!D8:N8),"")

こんな感じ。間違ってたらごめん

867 :名無しさん@そうだ選挙にいこう:2011/04/24(日) 23:47:20.25
>>854
印刷設定ではできないと思われ

書式が黒字になっているセルを一括で赤字にするのが目的なら、
書式の置換でできるかと(やり方はググってくれ)
ボタン一発とかでやりたければ、置換→印刷→元の書式に戻す
の手順をマクロ記録するのが簡単そう

太字とか混じってると面倒かな

868 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 06:58:49.64
>>839以降、無駄にEvaluate使ってるのが目立つなぁ。
変数や定数を[]で囲んでも動くには動くが、まったくの無駄。
たとえばこんなコード
Const x As Long = 5
Const y As Long = 10

Sub foot()
Dim i As Long
i = [A1].End(xlDown).Row
Debug.Print [x] <= [i] And [i] <= [y]
End Sub

最初の[A1]には意味はあるが、[x]とか[y]とか[i]は無意味。
Debug.Print x <= i And i <= yとすべきだ。
[A1]も使い捨てコード以外はあまり使わないけどな。

>>843も動けばいいってもんじゃない。
cellMaxCharsPerLineを[]で囲うのは無駄。

869 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 16:44:37.56
【1 OSの種類         .】 Windows7 HP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A   B  C D  E  F
1OO 2
2OO      3
3OO        2
4XX    4
5XX          5

という状態になっているのを

A B C D E F
1OO 2 3 2
2XX 4   5
のように整理したいのですがA列の各項目の最初の行に数値を入力仕直す以外の方法があれば教えてください。て

870 :869:2011/04/25(月) 16:48:09.94
ずれてしまいました
A   B  C D E F
1OO 2   3 2
2XX   4    5
のように整理したいのですがA列の各項目の最初の行に数値を入力仕直す以外の方法があれば教えてください。

871 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 19:05:51.95
>>869
俺にはVBA使わないと無理

872 :複乳:2011/04/25(月) 19:48:10.69
>>869
法則がよく分からない
B-F列には各列に1つずつ数値が入ってるってこと?
あと4と5が二行目なのもよく分からない
一行目は1-3、二行目は4-5、三行目は?

873 :853:2011/04/25(月) 21:10:32.06
>>866
なるほど、countifを使えば良かったんですね。
ありがとうございました。

874 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 22:13:46.55
Excelで家計簿をつけています。
どう計算しても毎月赤字になるのですが
どうすれば黒字になるでしょうか

875 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 22:16:54.81
>>874
フォント色を赤→黒へ変更してください。

876 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 22:17:58.33
うp

877 :複乳:2011/04/25(月) 22:22:31.83
>>874
節約 で検索して実行してみるとか。

878 :名無しさん@そうだ選挙にいこう:2011/04/25(月) 23:03:26.23
>>874
性能のいいATMを調達してください

879 :869:2011/04/25(月) 23:48:29.09
>>872
申し訳ない。1行目が足りませんでした。
A列と1行目以外は数値が入ります。

A   B  C D  E  F
1   あ い う え お
2OO 2
3OO      3
4OO        2
5XX    4
6XX          5

とバラバラになっているのを

A   B  C D E F
1   あ い う えお
2OO 2   3 2
3XX   4    5

にしたいのです。
最終的には「あ」にはOOが2、「い」にはXXが4、「う」にはOOが3、「え」にはOOが2、「お」にはXXが5となるようにしたいです。
一応VBAはがんばれば何とか使えます。

880 :複乳:2011/04/26(火) 00:50:13.02
>>879
あぁ、何となくわかった
OOとXXにまとめるのね
で、種類はOOとXXだけ?他にも△△とかでてくる?
あと各列には1つずつ?
A   B  C D  E  F
1   あ い う え お
2OO 2
3OO 2    3
のB列のように二回でてきたりしない?
でてくる場合はどうすればいい?

881 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 07:13:47.81
>>880
「あ」がOOとXXに数値が入力されている場合はありますが
OOに2つの数値が入力されているということはありません。

例えとして各列は料理名、各行は食材という感じで捉えてもらった方が

いいかもしれません。
各料理ごとに必要な食材の量を入力した後に
各食材で並び替えたという状態です。
なので各行、各列は数十種類の項目があります。


882 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 07:56:30.47
>>879
VBA使わなくてもピボットで簡単。
「複数のワークシート範囲」で集計方法を「合計」にすればよい。
2007からは「複数のワークシート範囲」のメニューが出ない場合もあるが、その時は
「ピボットテーブル 複数のワークシート範囲 Excel2007」でググれ。

883 :複乳:2011/04/26(火) 09:03:18.66
>>869
データ→集計
http://www.dotup.org/uploda/www.dotup.org1570529.jpg.html
で、ゼロを外す表示したくない場合はツール→オプション→ゼロ値のチェックを外す

http://www.dotup.org/uploda/www.dotup.org1570548.jpg.html
ピボットだとこうか
複数のワークシートは良く分からなかった。普通に合計で行けた

884 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 09:43:52.65
>>883
普通に合計だと数十種類のフィールドを列エリアに引っ張ってくるの面倒じゃないか?
それに集計方法をまとめて合計にできるのかな?
俺が知らないだけか?

885 :複乳:2011/04/26(火) 09:48:05.95
>>884
お、簡単にできましたゴメンナサイ。
勉強して来ます

886 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 11:02:13.21
【1 OSの種類         .】 Windowsビスタ
【2 Excelのバージョン   】 Excel07
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 DSUM

お願いします。画像の数式で間違いないと思いますが条件に反応しません
なにがおかしいのかすらわかりません・・・
http://www.dotup.org/uploda/www.dotup.org1570655.jpg

887 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 11:14:36.51
>>886
AK2

888 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 11:23:59.44
>>887
ありがとうございました。一行だけで条件範囲を抑えるという事ですね

889 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 11:25:27.24
そういうことだな。
空白行まで含めたら全部が対象になる。


890 :869:2011/04/26(火) 13:02:03.59
>>882
>>883
できました。ありがとう

891 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 22:22:26.47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 横並び 結合 統合 同じ値を含む行 など

*シート1
 ABC...
1◎%&
2○$#
3●?!

*シート2
 ABC...
1○+−
2●@〜
3◎@+

本来は行、列共にかなり数がありますが、簡単に以上のような2つのシートがあります。
シート1・2共にA列に同じ値を含む行があります(例.シート1の行1 と シート2の行3 が"◎")
この同じ値を含む行を、横に並べる方法はありませんでしょうか。
図で表すと

*シート3
 ABC DFG
1○+− ○$#
2●@〜 ●?!
3◎@+ ◎%&

と一つにまとめたいのです。
どなたかご教授願います。

892 :名無しさん@そうだ選挙にいこう:2011/04/26(火) 23:55:51.27
情報を小出しにすんな
まったく状況がわからん

893 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 00:13:33.58
>>891
それぞれのシート上では、A列の値は重複しない?
(例えば、シート1でA列が◎なのは1行目だけ?他の行にもある?)
重複しないのなら、VLOOKUPとかINDEX・MATCHとかで簡単にできそうだけど

894 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 00:49:18.92
>>893
それぞれのシート内で重複することはないです。
教えていただいた関数を調べてみましたが、いまいち使い方が分からないです。
申し訳ないですが詳細におしえていただけないでしょうか。

895 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 07:18:50.79
>>894
なにがどう分からないかを質問しないと
いつまでたっても教えてくんから脱出できないよ。

896 :複乳:2011/04/27(水) 10:16:59.71
>>891
http://www.dotup.org/uploda/www.dotup.org1573897.xls.html
はい
列数がわからんのでとりあえず3列。あとはテキトーに組み替えて

897 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 12:53:06.86
>>895
すみません。以後気をつけます。

>>896
ありがとうございます!
中の式を見て理解できました!こんな事も簡単に出来るんですね…。
本当にありがとうございました!

898 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 14:11:18.79
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA shape コメント 区別

ワークシート上のフォームコントロールに登録されているマクロを一括して変更するために
下のようなマクロを作ったのですが、シート上にコメント欄があるとそこでエラーになり
処理が止まってしまいます。
これを回避する方法はないでしょうか?よろしくお願いします。


Sub test()
   Dim shp As Shape

   For Each shp In ActiveSheet.Shapes
     shp.OnAction = Replace(shp.OnAction, "macro1", "macro2")
   Next
End Sub


899 :898:2011/04/27(水) 14:13:41.67
書き忘れました
エラーになるのはコメントが表示になっている時だけみたいです

900 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 14:36:03.23
>>898
MsoAutoShapeTypeでシェイプの種類が調べられるので、コメントかどうか判定してからマクロを設定するとか
すでにマクロmacro1が設定されているかどうかを調べてから変更するとか

901 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 14:37:20.07
Shapesコレクションで取得できるオブジェクト群には、
マクロの登録出来る物と出来ないものがあるので例外処理で弾け

まあこの例なら
On Error Resume Next
で無理矢理回しても結果は同じだが

902 :複乳:2011/04/27(水) 14:56:07.83
>>898
前セル選択してコメントを一括で非表示、終わったら表示ってマクロに組み込むとか
>>900の方がよさそだけどね

903 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 15:07:58.18
>>900の方がよさそうって
>>900の1行目と、>>901の1〜2行目は言ってること同じだろ

>>900の2行目の指摘は、
shp.OnAction = "macro2"
ではなく
shp.OnAction = Replace(shp.OnAction, "macro1", "macro2")
な時点で
> すでにマクロmacro1が設定されているかどうかを調べてから変更
は実装されてるので無意味な指摘

まあ厳密に言えば、macro1だけでなくmacro10がmacro20に書き変わっちゃうけど
macro10以上が無ければ何の問題もなく、macro10以上が無い条件下での実装だろうからな

そんなことも解らないのか?>複乳

904 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 15:28:14.81
OnErrorでエラー無視して強制的にReplaceでいいじゃん

905 :複乳:2011/04/27(水) 15:30:47.16
>>903
はい、わかりませんでした。
勉強になりました。

906 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 15:51:59.69
  A  B
1 あ  100
2 い  200
3 あ  150
4 あ  400

こんなかんじに成っている表がありまして、
そのなかで二番目の「あ」は150だ。
というを返す式ってありますか?


907 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 15:52:14.30
>>900
>>901
>>902
ありがとうございました。自分には難しそうなのでOn error resume nextで処理します。

908 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 15:53:55.78
他人が書いたコードを誤読無く読んで正しく理解するには
知識だけではなく読解力も必要。

複乳はそこそこの知識(記憶力)はあるけど、
理解力、発想力、応用力などの重要な能力は低いからね。

今回勉強になったと言っても、それは知識として記憶しただけで
頭の回転の悪さは簡単に改善するものじゃないし。

909 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 16:11:17.69
>>906
COUNTIF、INDEX、MATCH

910 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 20:38:13.85
#value!エラーについて質問します

エクセルのヘルプには#value!エラーが返っている原因に

・配列数式を入力または編集し、Enter キーが押された

・セル参照、数式、または関数が配列定数として入力されている

と説明されていますが、どんな数式が入力されているのかわかりません
上記のエラーが返っているの例を具体的に数式で示してもらえるとありがたいです


911 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 20:41:47.47
>>910
=SUM(IF(A1:A3=1,B1:B3,0))

912 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 21:19:14.32
>>911
その数式は#value!エラーの「1 つの値だけを使う演算子または関数に、セル範囲が指定されている」
に該当するのではないのですか? if関数にセル範囲を指定しいるので・・・

913 :複乳:2011/04/27(水) 21:32:51.09
>>910
配列定数と配列数式ならぐぐったほうが分かりやすいとおも
ttp://www.excel-jiten.net/functions/constant_array.html

914 :910:2011/04/27(水) 22:44:16.53
>>913
この疑問に関してネットで調べているのですが
配列定数・配列数式とvalueエラーの関係を説明しているサイトがありません
複乳さんが指定されてるサイトも既に確認済みなのですが
配列定数・配列数式は説明されていてもvalueエラーとその関係は説明されていません
どなたか数式で具体的な説明をしてもらえないでしょうか

915 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 23:07:34.97
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中です…
【4 VBAでの回答の可否】 コピペなら(セルの指定範囲を変更するとか本当に初歩初歩なら…)
【5 検索キーワード     】 検索 別のシート 参照

現在、大量に入力したデータがあります。
人名・テストの点数・年齢の3項目です。(A〜Cの列に入力しています)
これを別のシートで検索できるようにしたいのです。
例えば「山田」と入力すれば、山田を含むデータがずらーっと表示したいのです。
得点、例えば990点と入れればそれに該当する人がずらーっと。
オートフィルタを使って元々のデータで絞って取り出したい情報を取ることもできるのですが、
あくまでも「検索専用のシート」をつくって、そこに名前、点数、年齢のいずれかを入力すれば
それに該当する行が全て表示される検索専用シートが作りたいのです。
グーグルでそういった感じの内容を検索するのですがどうも小難しいというか、シンプルでないというか…。
「人名入力→該当する行全て表示!」みたいな感じにしたいのです。
本当にまだまだエクセル初心者でそんなこともできないのかよ、と言われそうですが是非ともご教授お願いします


916 :名無しさん@そうだ選挙にいこう:2011/04/27(水) 23:16:10.43
>>914
配列数式を入力または編集し、Enter キーが押された
 {=SUM((A1:A3=B1:B3)*1)}を編集して=SUM((A1:A3=B1:B3)*1)に

917 :910:2011/04/27(水) 23:56:27.54
>>916さん
ありがとうございます
確かにその数式は「・配列数式を入力または編集し、Enter キーが押された」に
当てはまると思います。

918 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 00:14:05.36
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 office2010 excel 対数グラフ

グラフの横軸の書式設定で「対数目盛を表示する」の項目がでません
縦軸は出るんですが

919 :910:2011/04/28(木) 00:15:57.28
もうひとつの疑問である「・セル参照、数式、または関数が配列定数として入力されている」
こちらの方も教えてもらえると助かります。

エクセルのヘルプには配列定数にはセル参照・数式・関数は入力できないと説明されているのですが・・・
どういった数式の状態なんでしょうか?



920 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 00:20:56.10
>>918
自己解決しました

散布図になってなかった・・・orz

921 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 01:27:37.57
俺も>>911>>916の式を配列数式じゃなく普通にEnterで確定したら#VALUE!になると思ったんだが、そうはならないんだよな。
a a
a b
c c
こんなデータで=SUM((A1:A3=B1:B3)*1)でEnterで確定だと1になってしまう。
Excel2007なんだが前からそうだっけ?
範囲の最初の値と比較してるみたいだが。

922 :複乳:2011/04/28(木) 06:38:54.15
>>914
そういうことか。分からん
={1,2}
だと1が返るのに
=A1:A3
でエラーになる理由は良く分からない
そういう仕様ってことでええんでないの
Cならメモリそのまんまだから説明できるけど、エクセルの内部仕様まではわかんね
>>921
2002だとvalueエラー
sumifs辺りの導入でsumの仕様も変わったのかな

923 :921:2011/04/28(木) 07:18:49.51
>>922
トン
そうかやっぱエラーだよな。
SUMの仕様じゃなく引数の範囲の扱い方が変わったのか?
2007でA1:B3に数値を入力して
=MAX(A1:A3*B1:B3)だと必ずA1*B1の値が返る。
=OR(A1:B1="")と横のセル範囲だと#VALUE!だが=OR(A1:A2="")と縦の範囲だとA1だけ評価してエラーにはならん。
これらは以前のようにエラーにしてくれてた方が親切だと思うなぁ。
SUMだけならSUMPRODUCTにすりゃいいんだが、他の関数使った配列数式が危ない。

924 :921:2011/04/28(木) 07:24:58.02
上のORの例でわかるように2007だと=A1:A3もエラーにはならん。
=A1:C1はエラーだ。

925 :名無しさん@そうだ複乳に訊こう:2011/04/28(木) 10:21:43.45
共通部分参照
ttp://pc.nikkeibp.co.jp/pc21/special/hr/hr6.shtml

926 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 10:52:53.40
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A列(行数不定)に1〜9までの数字がランダムに並んでいます。

これを100行ごとに集計して、その100行の中で一番多く使用された数字だけを
B列に表示していきたいのです(つまりB列の行数はA列の約1/100になります)が
どう書けばよいですか?
この機会にVBAの書き方を覚えたいのでVBAで書いてくれると助かります。

927 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 12:35:28.83
一番多く使用された数字が複数ある場合は?

ぶっちゃけ数式の方が楽なんだが、VBAで数式ぶちこむのもあり?
それとも数式やワークシート関数使わずに純粋なVBAのみの回答がいいの?

928 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 12:42:32.10
>>927
じゃあ数式のみでお願いします。

複数ある場合に複数表示できるならそれでお願いします。
無理なら数字が一番小さい番号のみ表示という事で。

929 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 12:50:38.10
>>926
Sub a()
  For i = 1 To Int(Range("A1").End(xlDown).Row / 100)
    Cells(i, 3) = WorksheetFunction.Mode(Range("A" & (i - 1) * 100 + 1 & ":A" & i * 100))
  Next
End Sub

930 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 13:21:31.91
>>928
複数対応

Sub a()
  Dim x(10, 1) As Variant
  For i = 1 To Int(Range("A1").End(xlDown).Row / 100)
    For j = 1 To 9
      x(j, 0) = j
    Next
    For j = (i - 1) * 100 + 1 To i * 100
      x(Cells(j, 1), 0) = x(Cells(j, 1), 0) + 10
    Next
    For k = 1 To 8
      For l = k + 1 To 9
        If x(k, 0) < x(l, 0) Then
          w = x(k, 0)
          x(k, 0) = x(l, 0)
          x(l, 0) = w
        End If
      Next
    Next
    Cells(i, 2) = x(1, 0) Mod 10
    For k = 2 To 9
      If Int(x(1, 0) / 10) = Int(x(k, 0) / 10) Then
        Cells(i, 2) = x(k, 0) Mod 10 & "," & Cells(i, 2)
      End If
    Next
  Next
End Sub

931 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 14:09:13.61
>>929>>930
有り難うございます!
参考になります。


932 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 14:58:41.25
>>929,>>930
どちらにも言えるけど、それだと250行まで有った場合、
1    1〜100行 と
2  101〜200行 だけで
3  201〜250行 を処理しなくなるぞ

Int(250 / 100) = 2だからな


そのまま直すと
 For i = 1 To Int((Range("A1").End(xlDown).Row + 99) / 100)
 For i = 1 To Int((Range("A1").End(xlDown).Row - 1) / 100) + 1
だが、そもそも
 Int(数値 / 100)
ってのが無駄で
 数値 \ 100
と同じ事なので
 For i = 1 To (Range("A1").End(xlDown).Row + 99) \ 100
で良い

Modeの引数も
 Range("A" & (i - 1) * 100 + 1 & ":A" & i * 100)
では、 &、&、&で無駄に文字連結が多いので
 Cells((i - 1) * 100 + 1, 1).Resize(100)
で良いのでは?

933 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 15:02:26.55
>>930の複数対応もこのくらいでいいんじゃね?

For i = 1 To (Range("A1").End(xlDown).Row + 99) \ 100
  Set c = Cells(i * 100 - 99, 1).Resize(100)
  j = WorksheetFunction.Mode(c)
  k = WorksheetFunction.CountIf(c, j)
  ret = ""
  For l = 1 To 9
    If WorksheetFunction.CountIf(c, l) = k Then ret = ret & "," & l
  Next l
  Cells(i, 2).Value = Mid(ret, 2)
Next i

934 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 15:04:25.11
WorksheetFunction無しの縛りでやるとしても、ソートまでは必要ないでしょ

Dim x(9) As Long
For i = 1 To (Range("A1").End(xlDown).Row + 99) \ 100
  Erase x
  For j = i * 100 - 99 To i * 100
    k = Cells(j, 1).Value
    x(k) = x(k) + 1
  Next j
  k = 0
  ret = ""
  For j = 1 To 9
    If x(j) > k Then k = x(j)
  Next j
  For j = 1 To 9
    If x(j) = k Then ret = ret & "," & j
  Next j
  Cells(i, 3).Value = Mid(ret, 2)
Next i


935 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 16:21:27.32
>>925
あぁそうだった。すっかり忘れてた。
複乳が=A1:A2がエラーになったのは3行目以降に入力したからか?
おれはB1に入力したから共通部分があるんだが。
ところで=MAX(A1:A3*B1:B3)をC1に入力すると2002で本当にエラーになるの?
複乳すまんけどもう一回頼む。
この式は配列計算させたければ=SUMPRODUCT(MAX(A1:A3*B1:B3))もあるな。

936 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 16:25:13.41
複乳に調べてもらった式は違ってたか。
=SUM((A1:A3=B1:B3)*1)
こうだったな。

937 :複乳:2011/04/28(木) 17:31:13.70
>>925
共通範囲参照かハハハ知ってるワロスワロスと思ったら共通部分参照、
これは本当に知らなかった。お前らの知識すごいな
>>935
すまないね。三行目以上ならエラーにならず、四行目以下ならエラーだ
=SUM((A1:A3=B1:B3)*1)
多分言うまでもないだろうけど。

938 :複乳:2011/04/28(木) 17:35:55.39
>>935
http://www.dotup.org/uploda/www.dotup.org1578083.jpg.html
エラーにならないです

=SUMPRODUCT(MAX(A1:A3*B1:B3))
だとどこに入力しても18になるね
http://www.dotup.org/uploda/www.dotup.org1578084.jpg

939 :935:2011/04/28(木) 19:18:28.47
>>937-937
了解。
>>910は共通部分参照でなかなかエラーにならず疑問をもったのかもね。

940 :複乳:2011/04/28(木) 19:26:03.72
もしくは以前やったらあの時はたしかに、エラーになった&ならなかったはずなのに・・・
みたいな記憶がかすかにあったのかも

941 :910:2011/04/28(木) 22:17:08.46
回答、議論ありがとうございます

「・配列数式を入力または編集し、Enter キーが押された」

上記の数式の状態はある程度理解できました

「・セル参照、数式、または関数が配列定数として入力されている」

こちらの疑問、分かる方いますか?


942 :名無しさん@そうだ選挙にいこう:2011/04/28(木) 22:59:12.20
>>941
=SUM({1,2,2+2})などと配列定数に数式を入れても#VALUE!エラーにならないんだよな。
「入力した数式は正しくありません」と最初から数式として入力できない。
俺には分らん。

943 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 11:17:32.54
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ?

2003からアップデートして2007にしたのですが、ファイルを直接クリックして開こうとしてもエクセルが起動するだけで、いつまでたっても開いてくれません。
一度、他のウインドウ操作(エクスプローラとか、デスクトップに戻るとか)をすると、やっとファイルが開かれます。

何が悪くてこんな現象が起きるのでしょうか。

944 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 11:48:17.64
アップデートではなくアップグレードか?

アップグレードの場合、前バージョンでの使用期間があるとおかしな挙動することが結構ある
しかも使用期間中にユーザーがやらかしたことに起因する以上、確定的な対処法も無い

とりあえず、OS再インストールして2003インストールしたら、2003を弄る前に2007にアップグレードしてみろ
OSの再インストールが面倒とか言って、自分で出来ることもやろうとしないなら、さようなら

まあそもそもが>>2・6でスレ違いだしな

945 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 12:01:11.91
>915 まだ誰も手がけてなかったようなので作ってみました
Sheet1に元データ、Sheet2に検索値と検索結果とし、A列は名前、B列は点数、C列は年齢とします。
両シートとも1行目は見出しですが、Sheet1は2行目からデータ、Sheet2は2行に検索値を入力し、
3行目から条件に一致したデータを出力するものとします。検索値欄の隣にボタンを置いて、ボタンを
クリックすると条件に合うデータを表示します。全ての検索値が空欄だと全データを表示します。
行数制限により、分割します。
Option Explicit
Private Sub CommandButton1_Click()
Dim sh_i As Excel.Worksheet, sh_o As Excel.Worksheet, kensaku(3) As Variant
Dim tate_i As Long, tate_o As Long, flg As Boolean
続きます

946 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 12:03:27.23
945の続き(なんで自分だけ改行制限が厳しいんだろ)
  Set sh_i = Worksheets("Sheet1")
  Set sh_o = ActiveSheet
  kensaku(1) = sh_o.Range("A2").Value ' 検索値(
  kensaku(2) = sh_o.Range("B2").Value
  kensaku(3) = sh_o.Range("C2").Value
  tate_i = 2: tate_o = 3 ' 入出力行の初期値
  Do
     If (kensaku(1) <> "") Then
      If (sh_i.Cells(tate_i, 1).Value Like ("*" & kensaku(1) & "*")) Then ' 部分一致
        flg = True
      Else
        flg = False
      End If
    Else
      flg = True
    End If


947 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 12:05:53.48
946の続き
    If (kensaku(2) <> "") Then
      If flg And (sh_i.Cells(tate_i, 2).Value = kensaku(2)) Then
      Else
        flg = False
      End If
    End If
    If (kensaku(3) <> "") Then
      If flg And (sh_i.Cells(tate_i, 3).Value = kensaku(3)) Then
      Else
        flg = False
      End If
    End If
    If flg Then
      sh_o.Cells(tate_o, 1).Resize(1, 3).Value = sh_i.Cells(tate_i, 1).Resize(1, 3).Value ' 転記
      tate_o = tate_o + 1
    End If
    tate_i = tate_i + 1
  Loop While sh_i.Cells(tate_i, 1).Value <> ""
  Set sh_i = Nothing: Set sh_o = Nothing
End Sub
終わり 

948 :複乳:2011/04/29(金) 12:09:21.45
>>943
ツール オプション 全般 他のアプリケーションを無視する
にチェックするか外す
それでもなるならワカンネ

949 : 忍法帖【Lv=40,xxxPT】 :2011/04/29(金) 12:44:06.40
> なんで自分だけ改行制限が厳しいんだろ
忍法帖レベル低いからじゃないの?

名前欄に「!ninja」っていれてみな

950 : 忍法帖【Lv=2,xxxP】 :2011/04/29(金) 12:52:27.90
>949
ギコナビ使ってて、レベルがどうのこうの、という表示は出た。どうやったら解消するの?

951 :複乳 忍法帖【Lv=24,xxxPT】 :2011/04/29(金) 13:12:30.89
一日一回書き込みをすればレベルは上がる
がninjaの仕様コロコロ変わるからなぁ

952 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 13:24:19.83
>>950
ttp://info.2ch.net/wiki/index.php?%C7%A6%CB%A1%C4%A1%B4%AC%CA%AA

0→1は自動レベルアップで、1以降は、前回のレベルアップから23時間以上経ったのちに
書き込みを行うとレベルアップするので、普通にやってりゃ、1日1レベルずつ上がっていく

但し、連投したり荒らしたりすると、レベルを下げられたりレベル0に戻されたりするので注意
とりあえずLv2だと、本来の書き込み量制限の40%までしか書けない
低レベルにこういう制限掛けて、レベル下げられたり0に戻されたりが嫌なら連投や荒らしはするなって制度だ

でもさ、>>915への回答だったら、この制限内でも十二分に事足りると思うけど

Private Sub CommandButton1_Click()
  Worksheets("Sheet1").Range("A1:C100").AdvancedFilter xlFilterCopy, Range("A1:C2"), Range("A3")
End Sub

これで終わり
完全一致だけではなく、70以上(>=70)みたいなのも指定できる
範囲を100行固定ではなく可変対応にしても、コードは1行のままでちょいと長くなるだけ

>>951
始まって間もない制度なので確かにコロコロ変わるけど、運営側から強制的に忍法帖を破棄される(Lv0に戻される)ってことは
今のところ一度も無いので、Lv上げて置くに越したことはないって点は間違いない

953 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 13:45:34.81
ついでに>>945-947の短縮版

Private Sub CommandButton1_Click()
  Dim sh_i As Worksheet, sh_o As Worksheet, kensaku() As Variant
  Dim tate_i As Long, tate_o As Long, flg As Boolean
  Set sh_i = Worksheets("Sheet1")
  Set sh_o = ActiveSheet
  kensaku = sh_o.Range("A2:C2").Value ' 検索値(
  tate_i = 2: tate_o = 3 ' 入出力行の初期値
  Do Until sh_i.Cells(tate_i, 1).Value = ""
    flg = True
    If (kensaku(1, 1) <> "") Then flg = (sh_i.Cells(tate_i, 1).Value Like "*" & kensaku(1, 1) & "*")
    If (kensaku(1, 2) <> "") Then flg = flg And (sh_i.Cells(tate_i, 2).Value = kensaku(1, 2))
    If (kensaku(1, 3) <> "") Then flg = flg And (sh_i.Cells(tate_i, 3).Value = kensaku(1, 3))
    If flg Then sh_o.Cells(tate_o, 1).Resize(, 3).Value = sh_i.Cells(tate_i, 1).Resize(, 3).Value       ' 転記
    tate_o = tate_o + Abs(flg)
    tate_i = tate_i + 1
  Loop
End Sub

954 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 13:54:30.04
>952
Worksheets("Sheet1").Range("A1:C100").AdvancedFilter xlFilterCopy, Range("A1:C2"), Range("A3")
で、名前の部分一致(>915さんの要望)はどこで設定しているの?

955 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 14:42:09.67
>>954
Sheet1
 名前    点数  年齢
山田 太郎   70    30
鈴木 花子   80    40
佐藤 三郎   90    50

Sheet2
 名前    点数  年齢
山田

試してみたら?
文字列に対してはちゃんと部分一致検索になってるから

もっとも、前方部分一致なので、
> 例えば「山田」と入力すれば、山田を含むデータが
の例では問題ないけど、「太郎」指定で「山田 太郎」は出てこない

Range("A2").Value = "*" & Range("A2").Value
と、必要に応じてこれを戻す1行を加えれば、表明上は簡単に解決したかに見えるが、
これには落とし穴もあって、例えば
「泉 郁(いずみ かおる)」さんと
「郁 泉(いく いずみ)」さんが居て
「郁」姓を検索したい場合や、「泉」名を検索したい場合
"*"の強制追加だと意図しないものまで出てくるので、コードはそのままで(強制"*"付けせず)
「郁」の同姓検索→「郁」
「郁」の同名検索→「* 郁」
と使い分けた方が上手に検索できる

いちいち"* "の入力が面倒とか言うかも知れないが、質問者も例として挙げてる同姓検索なら、
標準で前方部分一致になってるから「姓*」とせずとも「姓」だけで問題ない
つまり「例えば「山田」と入力すれば、山田を〜」は、手動でもコードでも"*"付けせずに要望を満たしている

956 :906:2011/04/29(金) 14:54:01.13
教えてください。
  A  B
1 あ  100
2 い  200
3 あ  150
4 あ  400

という表を
あ   い
100  200
150
400
といったふうに変換することはできませんか?

957 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 15:07:19.35
Excel-DNA すげぇーーーー!

958 :954:2011/04/29(金) 15:16:00.23
>955
詳しい説明thx
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_advancedfilter.html にも説明ありました。
>抽出条件の書き方はExcelのバージョンによって異なるので注意が必要です。
>Excel2002は完全一致、それ以外は前方一致になります。    ←もちろん文字列の場合だけ

959 :906:2011/04/29(金) 15:28:02.19
あ、出来ました。

960 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 15:33:42.78
質問者はExcel2003、Excel2003では前方部分一致

961 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 19:37:13.40
でもどのバージョンでも同じ動作になる書き方してた方が安全だと思うよ。
'山田太郎"の完全一致なら
タイトル
'=山田太郎

"山田"の前方一致なら
タイトル
'=山田*

みたいな。

後者は
タイトル
山田*
でも同じだjけど、常に'=で始まる書き方覚えればいいんじゃね?

962 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 20:16:53.77
上は他人がどのバージョンで開くか分らないときの話ね。
自分しか使わないなら自分が分ってる方法でいいでしょう。

963 : 忍法帖【Lv=13,xxxPT】 :2011/04/29(金) 20:30:51.51
てst

964 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 20:35:26.56
てst

965 : 忍法帖【Lv=1,xxxP】 【東電 89.1 %】 :2011/04/29(金) 20:36:49.32
てst

966 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 20:42:49.04
>>961
質問者が
【2 Excelのバージョン   】 自宅2003、会社2007、ノート2002
とか書いてる場合はな。

そうでなければそこまで気を遣う必要は無い。
質問者が何使ってようと、どのバージョンでも動くように気を遣う必要があるなら
使ってるExcelのバージョン書かせる意味もないし、ここの質問者は客でもないので
質問者の使ってるバージョンにだけ合わせて答えればOK。

967 :名無しさん@そうだ選挙にいこう:2011/04/29(金) 21:50:16.88
はいはい、だうも失礼しました。
お気に召さなくてごめんなさいね。

968 :名無しさん@そうだ選挙にいこう:2011/04/30(土) 02:58:44.53
まあ、いいよ

969 :名無しさん@そうだ選挙にいこう:2011/04/30(土) 14:28:54.86
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件付き書式 列単位 セル 背景色 塗り分け
条件付き書式でセルの内容によって、行単位のセルの背景色を塗り分けができるのはググって理解できたのですが
条件付き書式でセルの内容によって、列単位のセルの背景色を塗り分けはググっても分かりませんでした。
これは可能なのでしょうか?
エクセル初心者にもほどがありカエレ、と言われそうですがご教授お願いします。

970 :複乳:2011/04/30(土) 14:36:56.68
>>969
「数式が」
=(MOD(COLUMN(),3)=1)
こんな感じかね
見たのはrowが入った式と思うから、そこをcolumnに帰ればいいよ

971 :名無しさん@そうだ選挙にいこう:2011/04/30(土) 22:07:53.45
>>969
次の数式を満たす場合に値を書式設定で
=$A1
とかになっているのを
=A$1
にすればいいと思うよ。


972 :名無しさん@そうだ選挙にいこう:2011/04/30(土) 22:51:30.28
>>970>>971
解決しました、ありがとうございます

973 :名無しさん@そうだ選挙にいこう:2011/05/01(日) 15:32:19.91
5段階評価を視覚的に見せるための下図のようなエクセルファイルがあります
ttp://www.gartner.co.jp/b3i/research/110329_sor/img/img_04.gif
(内容は無関係です)
実際にこのようなシートを百枚ほど集めたブックとして存在しているのですが
現在、グラフの部分が、図形の円と縦線と横線と1/4黒丸を重ねて作ってあり
しかもなぜか同じ図形が幾重にも重なっていたりでものすごく大きなファイルになっています
このファイルそのものを、別のPCで他人が開き編集することもあります

本題ですが、この見た目をほぼそのままにファイルサイズを小さくしたいです
どうすれば良いのか、自分で思いついたのは、
1 - 円グラフの外字フォントを自前で作成する方法…ですが他人のPCでは外字が表示されません
2 - 用意した5種類のグラフのビットマップ画像を貼っていく方法…ですが他人が編集しにくいと思います
そこで 3 - VBAでもって、グラフ画像(もしくは自前で作成した外字をファイルに組み込んで)を
任意のセルに貼り付けたり出来ないかな…と思ったのですが…
それともうひとつ、4 - 1/4円グラフの入ったフォントセットを会社で購入してもらう…ですかね
【1 OSの種類         .】 WindowsXPsp3
【2 Excelのバージョン   】 Excel2002(officeXP)
【3 VBAが使えるか    .】 はい(ネットで見つけたすぐ使えるサンプルをいじる程度)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 1/4円グラフ 5段階評価 外字 VBA
長々と書きましたがもしかしてセルを四つに切って
[■□□□][■■□□][■■■□]のようにセルを染めて妥協すれば良いのかな

974 :複乳:2011/05/01(日) 16:53:44.95
>>973
http://www.dotup.org/uploda/www.dotup.org1589997.xls.html
http://www.m-hoz.com/jsp/unicode.jsp?Bgn=0&End=65536
1.4に関しては、ユニコードのフォントに1/4刻みの円グラフが入ってるからフォントは買わなくてもいい

[■□□□][■■□□][■■■□]でいいんじゃないかな
ちなみにREPT関数を使うと便利だよ

2.の画像はいつか重くなると思うから、やめたほうがいいと思う
3.も面倒。vbaでできなくもないが、列幅などを調整したら全部影響されたり、
重くなったりでまるでおすすめできない

[■□□□]←こういう棒グラフでいいんじゃないかな
見た目も分かりやすいし、そんなに重くない
重くなってきたら関数をコピーして値で貼り付けておけば、軽くなる


975 :名無しさん@そうだ選挙にいこう:2011/05/01(日) 17:55:39.82
>>974
円グラフ文字はあったんですね…
アドバイスに従いまして画像を使わない案のどちらかで行こうと思います
ありがとうございました

976 :名無しさん@そうだ選挙にいこう:2011/05/01(日) 21:39:27.90
せっかくREPT関数とユニコード文字知ってるなら、
そういうグラフは■より0x2588使おうな

0x2588は隙間が無くなるからグラフとして綺麗(サイズによっては隙間が出来ることもあるが)
あえて僅かな隙間をあけて個数を明確にしたい場合は0x2589
>>974のような二次元表の場合は、横幅が抑えられるというメリットもある
ttp://ourfilehost.net/up/file1/img/up3426.png

あと、¼円グラフも、埋め込むならIFを無駄に繋げるよりCHOOSEがいいぞ
×=IF(A2=0,"@","")&IF(A2=1,"A","")&IF(A2=2,"B","")&IF(A2=3,"C","")&IF(A2=4,"D","")
○=CHOOSE(A2+1,"@","A","B","C","D")

977 :名無しさん@そうだ選挙にいこう:2011/05/01(日) 23:55:08.23
>>976
なるほど勉強になります

978 :名無しさん@そうだ選挙にいこう:2011/05/01(日) 23:56:20.94
あら?ここIDが表示されないのね >>973です

979 :名無しさん@そうだ選挙にいこう:2011/05/02(月) 04:59:53.71
複乳の回答はいつもいまひとつ足りない。

980 :複乳:2011/05/02(月) 11:44:32.01
どなたか次スレお願いします。建てられなかった

981 :名無しさん@そうだ選挙にいこう:2011/05/02(月) 12:45:57.21
Excel総合相談所 97
http://hibari.2ch.net/test/read.cgi/bsoft/1304307841/
いつもお世話になります。
複乳さんもお疲れ様です。
どうぞ。

982 :名無しさん@そうだ選挙にいこう:2011/05/02(月) 13:16:41.73
あれ、複乳この間Lv=24(10以上でスレ立て可)だったのに
どっかで荒らしでもして水遁食らったのか?

983 : 忍法帖【Lv=1,xxxP】 :2011/05/02(月) 13:31:49.09
荒らすほどの若さがない
クッキー間違えて全部消しちゃった(´・ω・`)

984 :名無しさん@そうだ選挙にいこう:2011/05/03(火) 02:18:17.86
>>981


985 :名無しさん@そうだ選挙にいこう:2011/05/03(火) 19:44:53.79
UMExcel

986 :名無しさん@そうだ選挙にいこう:2011/05/04(水) 14:06:42.34
うめ

987 :名無しさん@そうだ選挙にいこう:2011/05/04(水) 16:12:57.80








988 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 02:19:18.67
うめ

989 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 09:35:17.16
うめまつり


990 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 09:46:39.95
うめ

991 : 忍法帖【Lv=2,xxxP】 【東電 69.9 %】 :2011/05/05(木) 10:13:25.82
と掛けまして

992 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 14:15:04.43
1

993 : 忍法帖【Lv=28,xxxPT】 :2011/05/05(木) 14:48:10.04
忍法帳って何?

994 : 忍法帖【Lv=40,xxxPT】 【東電 75.3 %】 :2011/05/05(木) 14:51:48.93
あああ

995 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 15:21:03.91
うめ

996 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 19:22:26.37
いきうめ


997 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 19:59:29.59
うめ

998 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 20:03:03.25
梅の花

999 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 20:06:10.46
 

1000 :名無しさん@そうだ選挙にいこう:2011/05/05(木) 20:09:05.98
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

329 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)