2016-10-05 4 views
0

私は、セルが空であるかデータがあるかどうかを教えてもらいたいと思います。セルに含まれるデータは、データがある場合は日付になります。matlabを使用してExcelの行の空のセルを検索する

現在、「タイプが 'cell'」の入力引数に未定義の演算子 '=='が表示されています。

x1range='b1'; 
[num,txt,raw]=xlsread('1.xlsx',1,x1range); 

if cellfun(@isnan,raw,'UniformOutput',false)==1 
    fprintf('empty') 
else 
    fprintf('notempty') 
end 

答えて

0

cellfunチェック(あなたは不均一な出力を指定したので)各要素isnanとは、セル配列を返すかどうか。 ==を使用してセル配列を比較することはできません。文字列のisnanが論理の配列を返すので、この不均一な出力はあなたのケースでは不可欠です。

isnan('abcde') 

% 0 0 0 0 0 

あなたが実際に彼らが空であるかどうかを確認したい場合は、おそらくisemptyの代わりisnanを使用します。そして、あなたはまた、あなたが実際にそこにNaN値を持っている場合、または、でisnanをラップ均一な出力(デフォルト)

empty_cells = cellfun(@isempty, raw) 

を使用することができます `あなたが空であるセル見つけたい場合は任意の

empty_cells = cellfun(@(x)any(isnan(x)), raw); 

あなたがチェックすることができ、インデックス

empty_indices = find(empty_cells); 

代わりを取得するためにfindを使用することができanyまたは場合セルのが空です。

if all(empty_cells) 
    disp('All cells are empty') 
elseif any(empty_cells) 
    disp('Some cells are empty') 
else 
    disp('No cells are empty') 
end 
+0

これは機能しています。ご協力いただきありがとうございます。 – tjshaffe

関連する問題